StatQuest 筆記分享: 人工神經網路5 — ArgMax and SoftMax

接續著上一篇人工神經網路4—Multiple Inputs and Outputs的最後,(P,S) = (0,1)這個資料點,帶入三個品種的皺褶面後分別會得到1.43、-0.4、0.23。

本篇將討論如何使用 ArgMax 或 SoftMax兩種方法來處理得到的數值。

ArgMax

ArgMax很直觀,即是選擇最大值的輸出值,也就是Setosa (=1),Vericolor 和 Virginica會被更新為0。

ArgMax雖然簡單直觀,然而我們無法使用它來優化權重(Weight)、偏誤(Bias),因為其函數的特性,所有的結果的斜率都會是0,因此無法像人工神經網路2 — 反向傳播法中微分進行參數優化的過程,也因此我們會需要使用SoftMax。

SoftMax

SoftMax是先將得到的輸出值做一個尤拉數的轉換,再從中選出最大值。

轉換後的SoftMax輸出數值有以下特性:

  1. 保留原本大小順序。
  2. 介於0到1。
  3. 總和為1

因為2和3的特性,SoftMax輸出數值有類似"機率"的樣貌。然而,Josh提醒不要過度信賴這裡算出的機率值,因為這跟初始輸入值和權重、偏誤有關。

SoftMax的最大優點是可以被偏微分,因此可以被使用來做反向傳播法 (Backpropagation)優化權重、偏誤。

關於如何SoftMax的偏微分,Josh有在另一支影片詳細討論。

之前在討論反向傳播法時,使用SSR (Sum of the Squared Residuls),但由於使用SoftMax的輸出值是類似機率值的概念,因此並不適合SSR,而是使用Cross Entropy (交叉熵)來評估模型的表現,這會在下一章節討論。

Thank you and enjoy it :)

--

--