Softmax在機器學習中有非常廣泛的應用,但是剛剛接觸機器學習的人可能對Softmax的特點以及好處并不理解,其實你了解了以后就會發現,Softmax計算簡單,效果顯著,非常好用。
我們先來直觀看一下,Softmax究竟是什么意思
我們知道max,假如說我有兩個數,a和b,并且a>b,如果取max,那么就直接取a,沒有第二種可能
但有的時候我不想這樣,因為這樣會造成分值小的那個饑餓。所以我希望分值大的那一項經常取到,分值小的那一項也偶爾可以取到,那么我用softmax就可以了
現在還是a和b,a>b,如果我們取按照softmax來計算取a和b的概率,那a的softmax值大于b的,所以a會經常取到,而b也會偶爾取到,概率跟它們本來的大小有關。所以說不是max,而是 Soft max
那各自的概率究竟是多少呢,我們下面就來具體看一下
定義
假設我們有一個數組V,Vi表示V中的第i個元素,那么Vi元素的Softmax值就是
Vi元素的Softmax值
也就是說,是該元素的指數值,與所有元素指數值和的比值
這個定義可以說非常的直觀,當然除了直觀樸素好理解以外,它還有更多的優點
1.計算與標注樣本的差距
在神經網絡的計算當中,我們經常需要計算按照神經網絡的正向傳播計算的分數S1,按照正確標注計算的分數S2,之間的差距,計算Loss,才能應用反向傳播。Loss定義為交叉熵
交叉熵
取log里面的值就是這組數據正確分類的Softmax值,它占的比重越大,這個樣本的Loss也就越小,這種定義符合我們的要求
2.計算上非常非常的方便
當我們對分類的Loss進行改進的時候,我們要通過梯度下降,每次優化一個step大小的梯度
我們定義選到yi的概率是
yi的概率
然后我們求Loss對每個權重矩陣的偏導,應用到了鏈式法則
求導結果
詳細過程
求導過程
最后結果的形式非常的簡單,只要將算出來的概率的向量對應的真正結果的那一維減1,就可以了
舉個例子,通過若干層的計算,最后得到的某個訓練樣本的向量的分數是[ 1, 5, 3 ],
那么概率分別就是
訓練樣本的概率
如果這個樣本正確的分類是第二個的話,那么計算出來的偏導就是
[0.015,0.866?1,0.117]=[0.015,?0.134,0.117]
是不是很簡單??!然后再根據這個進行back propagation就可以了
-
神經網絡
+關注
關注
42文章
4838瀏覽量
107778 -
機器學習
+關注
關注
66文章
8553瀏覽量
136953
發布評論請先 登錄
人工智能與機器學習在這些行業的深度應用
強化學習會讓自動駕駛模型學習更快嗎?
機器學習和深度學習中需避免的 7 個常見錯誤與局限性
Leadway電機方案的優點
量子機器學習入門:三種數據編碼方法對比與應用
如何在機器視覺中部署深度學習神經網絡
超小型Neuton機器學習模型, 在任何系統級芯片(SoC)上解鎖邊緣人工智能應用.
【Sipeed MaixCAM Pro開發板試用體驗】 + 04 + 機器學習YOLO體驗
貿澤電子2025邊緣AI與機器學習技術創新論壇回顧(上)
FPGA在機器學習中的具體應用
【嘉楠堪智K230開發板試用體驗】K230機器視覺相關功能體驗
具身智能工業機器人:引爆制造業‘自進化’革命
機器學習的Softmax定義和優點
評論