簡體   English   中英

MLP分類器神經元權重

[英]MLP Classifier neurons weights

我有以下MLP神經網絡:

MLP = MLPClassifier(activation= 'tanh', alpha= 1e-05, hidden_layer_sizes= (2, 3), learning_rate= 'constant' , max_iter= 5000)
MLP.fit(X_train,y_train)

print(MLP.coefs_)

據我了解,該神經網絡只有2個隱藏層,第一個隱藏層有2個神經元,第二個隱藏層有3個神經元。 但是,上述輸出到打印系數給出了以下內容:

[array([[-0.15020109,  0.29242019],
       [ 0.38515555,  0.06000627],
       [-0.04371792,  0.35203079],
       [ 0.28167529,  0.05948562],
       [-0.46051132, -0.28546222]]), array([[-0.29658042, -1.2229539 ,  0.4949065 ],
       [-0.95435436,  0.3854664 ,  0.6349616 ]]), array([[-0.54332547,  0.27007792,  0.68899707],
       [-0.00191208,  0.89295531, -0.22855791],
       [-0.58939234,  0.39217616,  1.10214481]])]

我的問題是如何將以上輸出映射到隱藏層中的每個神經元。 乍看之下,似乎第一隱藏層中第一神經元的權重為:[-0.29658042,-1.2229539、0.4949065]。 一個神經元的權重如何才能由3個元素組成的數組?

您還需要考慮輸入層和輸出層。 您似乎正在輸入5維特征並輸出3維輸出。 您的網絡有2個大小分別為2和3的隱藏層 。因此coefs_應該具有形狀(5,2),(2,3),(3,3)以便您的輸入從5維變為2維,然后從2-dim到3-dim,然后從3-dim到3-dim作為輸出。 請記住,從一層到另一層的每個連接都有權重。 因此,如果您有5個神經元(輸入層)連接到2個神經元(第一個隱藏層),則需要5*2=10權重來描述這兩層之間的10個連接。 這正是形狀(5,2)數組所具有的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM