一分钟理解softmax函数(超简单)
做過多分類任務(wù)的同學一定都知道softmax函數(shù)。softmax函數(shù),又稱歸一化指數(shù)函數(shù)。它是二分類函數(shù)sigmoid在多分類上的推廣,目的是將多分類的結(jié)果以概率的形式展現(xiàn)出來。下圖展示了softmax的計算方法:
下面為大家解釋一下為什么softmax是這種形式。
首先,我們知道概率有兩個性質(zhì):1)預測的概率為非負數(shù);2)各種預測結(jié)果概率之和等于1。
softmax就是將在負無窮到正無窮上的預測結(jié)果按照這兩步轉(zhuǎn)換為概率的。
1)將預測結(jié)果轉(zhuǎn)化為非負數(shù)
下圖為y=exp(x)的圖像,我們可以知道指數(shù)函數(shù)的值域取值范圍是零到正無窮。softmax第一步就是將模型的預測結(jié)果轉(zhuǎn)化到指數(shù)函數(shù)上,這樣保證了概率的非負性。
2)各種預測結(jié)果概率之和等于1
為了確保各個預測結(jié)果的概率之和等于1。我們只需要將轉(zhuǎn)換后的結(jié)果進行歸一化處理。方法就是將轉(zhuǎn)化后的結(jié)果除以所有轉(zhuǎn)化后結(jié)果之和,可以理解為轉(zhuǎn)化后結(jié)果占總數(shù)的百分比。這樣就得到近似的概率。
下面為大家舉一個例子,假如模型對一個三分類問題的預測結(jié)果為-3、1.5、2.7。我們要用softmax將模型結(jié)果轉(zhuǎn)為概率。步驟如下:
1)將預測結(jié)果轉(zhuǎn)化為非負數(shù)
y1 = exp(x1) = exp(-3) = 0.05
y2 = exp(x2) = exp(1.5) = 4.48
y3 = exp(x3) = exp(2.7) = 14.88
2)各種預測結(jié)果概率之和等于1
z1 = y1/(y1+y2+y3) = 0.05/(0.05+4.48+14.88) = 0.0026
z2?= y2/(y1+y2+y3) = 4.48/(0.05+4.48+14.88) = 0.2308
z3?= y3/(y1+y2+y3) = 14.88/(0.05+4.48+14.88) = 0.7666
總結(jié)一下softmax如何將多分類輸出轉(zhuǎn)換為概率,可以分為兩步:
1)分子:通過指數(shù)函數(shù),將實數(shù)輸出映射到零到正無窮。
2)分母:將所有結(jié)果相加,進行歸一化。
下圖為斯坦福大學CS224n課程中最softmax的解釋:
?
總結(jié)
以上是生活随笔為你收集整理的一分钟理解softmax函数(超简单)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Deep Learning的基础概念
- 下一篇: 解析ArcFace源码