|

類神經網路—啟動函數介紹(三): 掌握多元分類的核心技術:不可不知的softmax函數原理

今天來跟大家介紹的是softmax啟動函數,此函數是用在多元分類的問題。而sigmoid函數只能用在二元分類的問題。

多元分類問題代表分類類別超過2個以上。二元分類問題代表分類類別為2個。

為什麼softmax與sigmoid函數會有這樣的差異呢?

我們先來從擲骰子開始講起,假設有個公平的骰子,則擲出每個面的機率即為1/6,代表每個面出現機率相同,隨便擲出一顆骰子,都有可能落在任何一個面上。然後若是我們將所有面機率相加,則總和為1,代表是所有可能性。

如果今天要用類神經網路來計算每個節點的機率,則輸出總共會有六個節點,假設我們採用sigmoid函數在輸出節點做計算,則sigmoid函數只會確保每個節點是介於0~1之數值,跟其他節點並無相關聯,這時候會產生一個問題,就是將輸出結果全部相加,最後的數值並非為1。

我們在上方的骰子範例說明,將所有面機率加總一定需要為1,因為是所有可能性,而此時相加可能會大於1,這時候這些數值就不能代表會擲到某個面的機率,也因此,我們就無法用sigmoid函數去描述多元分類問題。

而softmax函數就是為了要解決這樣的問題,softmax函數的公式是在分母的部分會有加總的動作,這個加總指的是橫向針對不同節點數目的加總,舉例來說,以擲骰子的範例而言,總共會有六個面,有六個類別,則分母累加的N即為6,代表在分母會有六個exp函數相加。而且在計算過程中,分子是代表某個節點的輸出計算,但分母需要統合不同節點的結果計算加總之後才能得到。

最終將所有輸出結果加總後可得到結果為1,因此,可確保softmax在每個節點的輸出,就是代表屬於某個類別的機率(也就是擲骰子擲到某一個面的機率)。

[參考資料]:

1.快速反應機制─類神經網路

2.機器學習與人工神經網路(二):深度學習(Deep Learning)

3.機器學習的衰頹興盛:從類神經網路到淺層學習

[相關文章]:

1.類神經網路(Deep neural network, DNN)介紹

2.類神經網路—揭開網路架構調整秘辛

3.類神經網路—啟動函數介紹

4.類神經網路—前向傳播法

5.類神經網路—反向傳播法(一): 白話文帶您了解反向傳播法

6.類神經網路—反向傳播法(二): 淺談梯度

7.類神經網路—反向傳播法(三): 五步驟帶您了解梯度下降法

8.類神經網路—反向傳播法(四): 揭開反向傳播法神秘面紗

9.機器學習訓練原理大揭秘:六步驟帶您快速了解監督式學習的訓練方法

10.類神經網路—反向傳播法(五): 用等高線圖讓您對學習率更有感

[延伸閱讀]:

1.卷積類神經網路(Convolution neural network,CNN)介紹

2.遞迴類神經網路(Recurrent neural network,RNN)介紹

3.淺談最近非常火紅的ChatGPT背後可能原理機制為何?

Similar Posts