sklearn神經網路引數

2021-10-21 04:35:50 字數 2450 閱讀 7262

下面寫了乙個超級簡單的例項,訓練和測試資料是mnist手寫識別資料集:

from sklearn.neural_network import mlpclassifier

import gzip

import pickle

with gzip.

open

('./mnist.pkl.gz'

)as f_gz:

train_data,valid_data,test_data = pickle.load(f_gz)

clf = mlpclassifier(solver=

'sgd'

,activation =

'identity'

,max_iter =

10,alpha =1e-

5,hidden_layer_sizes =

(100,50

),random_state =

1,verbose =

true

)clf.fit(train_data[0]

[:10000

],train_data[1]

[:10000])

print clf.predict(test_data[0]

[:10]

)print

(clf.score(test_data[0]

[:100]

,test_data[1]

[:100]))

print

(clf.predict_proba(test_data[0]

[:10]

))

引數說明:

引數說明:

hidden_layer_sizes :例如hidden_layer_sizes=(50, 50),表示有兩層隱藏層,第一層隱藏層有50個神經元,第二層也有50個神經元。

activation :啟用函式,, 預設relu

solver: , 預設adam,用來優化權重

alpha :float,可選的,預設0.0001,正則化項引數

batch_size : int , 可選的,預設』auto』,隨機優化的minibatches的大小batch_size=min(200,n_samples),如果solver是』lbfgs』,分類器將不使用minibatch

learning_rate :學習率,用於權重更新,只有當solver為』sgd』時使用,,預設constant

power_t: double, 可選, default 0.5,只有solver=』sgd』時使用,是逆擴充套件學習率的指數.當learning_rate=』invscaling』,用來更新有效學習率。

max_iter: int,可選,預設200,最大迭代次數。

random_state:int 或randomstate,可選,預設none,隨機數生成器的狀態或種子。

shuffle: bool,可選,預設true,只有當solver=』sgd』或者『adam』時使用,判斷是否在每次迭代時對樣本進行清洗。

tol:float, 可選,預設1e-4,優化的容忍度

learning_rate_int:double,可選,預設0.001,初始學習率,控制更新權重的補償,只有當solver=』sgd』 或』adam』時使用。

verbose : bool, 可選, 預設false,是否將過程列印到stdout

warm_start : bool, 可選, 預設false,當設定成true,使用之前的解決方法作為初始擬合,否則釋放之前的解決方法。

momentum : float, 預設 0.9,動量梯度下降更新,設定的範圍應該0.0-1.0. 只有solver=』sgd』時使用.

nesterovs_momentum : boolean, 預設true, whether to use nesterov』s momentum. 只有solver=』sgd』並且momentum > 0使用.

early_stopping : bool, 預設false,只有solver=』sgd』或者』adam』時有效,判斷當驗證效果不再改善的時候是否終止訓練,當為true時,自動選出10%的訓練資料用於驗證並在兩步連續迭代改善,低於tol時終止訓練。

validation_fraction : float, 可選, 預設 0.1,用作早期停止驗證的預留訓練資料集的比例,早0-1之間,只當early_stopping=true有用

beta_1 : float, 可選, 預設0.9,只有solver=』adam』時使用,估計一階矩向量的指數衰減速率,[0,1)之間

beta_2 : float, 可選, 預設0.999,只有solver=』adam』時使用估計二階矩向量的指數衰減速率[0,1)之間

epsilon : float, 可選, 預設1e-8,只有solver=』adam』時使用數值穩定值。

屬性說明:

方法說明:

-set_params(**params):設定引數。

神經網路相關引數

關於建立 神經網路 段的引數說明 net feedforwardnet n,trainlm n為隱藏層大小,預設為10 trainlm 是被指定的訓練函式 levenberg marquardt 演算法t p net.trainparam.goal 0.001 goal是最小均方誤差的訓練目標 ne...

卷積神經網路引數

卷積神經網路 convolutional neural network,cnn 是深度學習技術中極具代表的網路結構之一,在影象處理領域取得了很大的成功,在國際標準的imagenet資料集上,許多成功的模型都是基於cnn的。cnn相較於傳統的影象處理演算法的優點之一在於,避免了對影象複雜的前期預處理過...

神經網路 卷積神經網路

這篇卷積神經網路是前面介紹的多層神經網路的進一步深入,它將深度學習的思想引入到了神經網路當中,通過卷積運算來由淺入深的提取影象的不同層次的特徵,而利用神經網路的訓練過程讓整個網路自動調節卷積核的引數,從而無監督的產生了最適合的分類特徵。這個概括可能有點抽象,我盡量在下面描述細緻一些,但如果要更深入了...