sklearn 神經網絡MLPclassifier參數詳解


參數 備注
hidden_​​layer_sizes tuple,length = n_layers - 2,默認值(100,)第i個元素表示第i個隱藏層中的神經元數量。
激活 {‘identity’,‘logistic’,‘tanh’,‘relu’},默認’relu’ 隱藏層的激活函數:‘identity’,無操作激活,對實現線性瓶頸很有用,返回f(x)= x;‘logistic’,logistic sigmoid函數,返回f(x)= 1 /(1 + exp(-x));‘tanh’,雙曲tan函數,返回f(x)= tanh(x);‘relu’,整流后的線性單位函數,返回f(x)= max(0,x)
slover {‘lbfgs’,‘sgd’,‘adam’},默認’adam’。權重優化的求解器:'lbfgs’是准牛頓方法族的優化器;'sgd’指的是隨機梯度下降。'adam’是指由Kingma,Diederik和Jimmy Ba提出的基於隨機梯度的優化器。注意:默認解算器“adam”在相對較大的數據集(包含數千個訓練樣本或更多)方面在訓練時間和驗證分數方面都能很好地工作。但是,對於小型數據集,“lbfgs”可以更快地收斂並且表現更好。
alpha float,可選,默認為0.0001。L2懲罰(正則化項)參數。
batch_size int,optional,默認’auto’。用於隨機優化器的minibatch的大小。如果slover是’lbfgs’,則分類器將不使用minibatch。設置為“auto”時,batch_size = min(200,n_samples)
learning_rate {‘常數’,‘invscaling’,‘自適應’},默認’常數"。 用於權重更新。僅在solver ='sgd’時使用。'constant’是’learning_rate_init’給出的恆定學習率;'invscaling’使用’power_t’的逆縮放指數在每個時間步’t’逐漸降低學習速率learning_rate_, effective_learning_rate = learning_rate_init / pow(t,power_t);只要訓練損失不斷減少,“adaptive”將學習速率保持為“learning_rate_init”。每當兩個連續的時期未能將訓練損失減少至少tol,或者如果’early_stopping’開啟則未能將驗證分數增加至少tol,則將當前學習速率除以5。
learning_rate_init double,可選,默認為0.001。使用初始學習率。它控制更新權重的步長。僅在solver ='sgd’或’adam’時使用。
power_t double,可選,默認為0.5。反縮放學習率的指數。當learning_rate設置為“invscaling”時,它用於更新有效學習率。僅在solver ='sgd’時使用。
max_iter int,optional,默認值200。最大迭代次數。solver迭代直到收斂(由’tol’確定)或這個迭代次數。對於隨機解算器(‘sgd’,‘adam’),請注意,這決定了時期的數量(每個數據點的使用次數),而不是梯度步數。
shuffle bool,可選,默認為True。僅在solver ='sgd’或’adam’時使用。是否在每次迭代中對樣本進行洗牌。
random_state int,RandomState實例或None,可選,默認無隨機數生成器的狀態或種子。如果是int,則random_state是隨機數生成器使用的種子;如果是RandomState實例,則random_state是隨機數生成器;如果為None,則隨機數生成器是np.random使用的RandomState實例。
tol float,optional,默認1e-4 優化的容忍度,容差優化。當n_iter_no_change連續迭代的損失或分數沒有提高至少tol時,除非將learning_rate設置為’adaptive’,否則認為會達到收斂並且訓練停止。
verbose bool,可選,默認為False 是否將進度消息打印到stdout。
warm_start bool,可選,默認為False,設置為True時,重用上一次調用的解決方案以適合初始化,否則,只需擦除以前的解決方案。請參閱詞匯表。
momentum float,默認0.9,梯度下降更新的動量。應該在0和1之間。僅在solver ='sgd’時使用。
nesterovs_momentum 布爾值,默認為True。是否使用Nesterov的勢頭。僅在solver ='sgd’和momentum> 0時使用。
early_stopping bool,默認為False。當驗證評分沒有改善時,是否使用提前停止來終止培訓。如果設置為true,它將自動留出10%的訓練數據作為驗證,並在驗證得分沒有改善至少為n_iter_no_change連續時期的tol時終止訓練。僅在solver ='sgd’或’adam’時有效
validation_fraction float,optional,默認值為0.1。將訓練數據的比例留作早期停止的驗證集。必須介於0和1之間。僅在early_stopping為True時使用
beta_1 float,optional,默認值為0.9,估計一階矩向量的指數衰減率應為[0,1)。僅在solver ='adam’時使用
beta_2 float,可選,默認為0.999,估計一階矩向量的指數衰減率應為[0,1)。僅在solver ='adam’時使用
epsilon float,optional,默認值1e-8, adam穩定性的價值。 僅在solver ='adam’時使用
n_iter_no_change int,optional,默認值10,不符合改進的最大歷元數。 僅在solver ='sgd’或’adam’時有效
屬性 備注
classes_ array or list of array of shape (n_classes,)每個輸出的類標簽。
loss_ float,使用損失函數計算的當前損失。
coefs_ list,length n_layers - 1,列表中的第i個元素表示對應於層i的權重矩陣。
intercepts_ list,length n_layers - 1,列表中的第i個元素表示對應於層i + 1的偏置矢量。
n_iter_ int,迭代次數。
n_layers_ int,層數。
n_outputs_ int,輸出的個數。
out_activation_ string,輸出激活函數的名稱。
方法 備注
fit(X,y) 使模型適合數據矩陣X和目標y。
get_params([deep]) 獲取此估算器的參數。
predict(X) 使用多層感知器分類器進行預測
predict_log_proba(X) 返回概率估計的對數。
predict_proba(X) 概率估計。
score(X,y [,sample_weight]) 返回給定測試數據和標簽的平均准確度。
set_params(** params) 設置此估算器的參數。

原文鏈接:https://blog.csdn.net/weixin_38278334/article/details/83023958


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM