今天來跟大家介紹的是softmax啟動函數,此函數是用在多元分類的問題。而sigmoid函數只能用在二元分類的問題。
多元分類問題代表分類類別超過2個以上。二元分類問題代表分類類別為2個。
為什麼softmax與sigmoid函數會有這樣的差異呢?
我們先來從擲骰子開始講起,假設有個公平的骰子,則擲出每個面的機率即為1/6,代表每個面出現機率相同,隨便擲出一顆骰子,都有可能落在任何一個面上。然後若是我們將所有面機率相加,則總和為1,代表是所有可能性。
如果今天要用類神經網路來計算每個節點的機率,則輸出總共會有六個節點,假設我們採用sigmoid函數在輸出節點做計算,則sigmoid函數只會確保每個節點是介於0~1之數值,跟其他節點並無相關聯,這時候會產生一個問題,就是將輸出結果全部相加,最後的數值並非為1。
我們在上方的骰子範例說明,將所有面機率加總一定需要為1,因為是所有可能性,而此時相加可能會大於1,這時候這些數值就不能代表會擲到某個面的機率,也因此,我們就無法用sigmoid函數去描述多元分類問題。
而softmax函數就是為了要解決這樣的問題,softmax函數的公式是在分母的部分會有加總的動作,這個加總指的是橫向針對不同節點數目的加總,舉例來說,以擲骰子的範例而言,總共會有六個面,有六個類別,則分母累加的N即為6,代表在分母會有六個exp函數相加。而且在計算過程中,分子是代表某個節點的輸出計算,但分母需要統合不同節點的結果計算加總之後才能得到。
最終將所有輸出結果加總後可得到結果為1,因此,可確保softmax在每個節點的輸出,就是代表屬於某個類別的機率(也就是擲骰子擲到某一個面的機率)。
影片說明:
[參考資料]:
2.機器學習與人工神經網路(二):深度學習(Deep Learning)
[相關文章]:
1.類神經網路(Deep neural network, DNN)介紹
5.類神經網路—反向傳播法(一): 白話文帶您了解反向傳播法
7.類神經網路—反向傳播法(三): 五步驟帶您了解梯度下降法
9.機器學習訓練原理大揭秘:六步驟帶您快速了解監督式學習的訓練方法
10.類神經網路—反向傳播法(五): 用等高線圖讓您對學習率更有感
[延伸閱讀]:
1.卷積類神經網路(Convolution neural network,CNN)介紹
自動引用通知: 從ChatGPT探索GPT的原理概念:少量數據的解方-遷移學習技巧 - 李彼德之家
自動引用通知: 類神經網路(Deep neural network, DNN)介紹 - 李彼德之家
自動引用通知: 淺談最近非常火紅的ChatGPT背後可能原理機制為何? - 李彼德之家