神經網絡(Artificial Neural Network):全稱爲人工神經網絡(ANN),是一種模仿生物神經網絡(動物的中樞神經系統,特別是大腦)的結構和功能的數學模型或計算模型。
最多見的激活函數是Sigmoid(S形曲線),Sigmoid有時也稱爲邏輯迴歸(Logistic Regression),簡稱logsig。logsig曲線的公式以下:
還有一種S形曲線也很常見到,叫雙曲正切函數(tanh),或稱tansig,能夠替代logsig。
下面是它們的函數圖形,從圖中能夠看出logsig的數值範圍是0~1,而tansig的數值範圍是-1~1。python
###模型構建、訓練、評分 from sklearn.neural_network import MLPClassifier for i in range(1,11): ANNmodel = MLPClassifier( activation='relu', #激活函數爲relu,相似於s型函數 hidden_layer_sizes=i) #隱藏層爲i ANNmodel.fit(inputData,outputData) #訓練模型 score = ANNmodel.score(inputData,outputData) #模型評分 print(str(i) + ',' + str(score)) #每次循環都打印模型評分 #模型評分基本穩定在0.83x左右
能夠發現,隱藏層增大,模型評分趨於一個較穩定的值,即並不是隱藏層越多,模型越好。網絡
###輸入測試集做爲參數 inputNewData = dummyNewData[dummySelect] ###獲得預測結果,以序列形式進行輸出 ANNmodel.predict(inputNewData)