冒泡~又是新的一周鴨近忙!經(jīng)歷了昨天的多次地震及舍,要更珍惜生命锯玛,努力鴨兼蜈!
Softmax
首先,我們要先了解一下歼郭,什么是Softmax病曾?
Softmax是用于分類過程,用來實現(xiàn)多分類的漾根,簡單來說,它把一些輸出的神經(jīng)元映射到(0-1)之間的實數(shù)负敏,并且歸一化保證和為1贡茅,從而使得多分類的概率之和也剛好為1其做。
這是一種較為通俗的解釋妖泄,當(dāng)然我們也可以直接從這個名字入手去解釋艘策,Softmax可以分為soft和max,max也就是最大值罚渐,假設(shè)有兩個變量a,b荷并。如果a>b青扔,則max為a,反之為b谈息。那么在分類問題里面侠仇,如果只有max犁珠,輸出的分類結(jié)果只有a或者b,是個非黑即白的結(jié)果盲憎。但是在現(xiàn)實情況下,我們希望輸出的是取到某個分類的概率溺森,或者說窑眯,我們希望分值大的那一項被經(jīng)常取到磅甩,而分值較小的那一項也有一定的概率偶爾被取到,所以我們就應(yīng)用到了soft的概念渣聚,即最后的輸出是每個分類被取到的概率。
Softmax函數(shù)
函數(shù)定義如下:
其中咕痛,Vi 是分類器前級輸出單元的輸出猜扮。i 表示類別索引忘晤,總的類別個數(shù)為 C激捏。Si 表示的是當(dāng)前元素的指數(shù)與所有元素指數(shù)和的比值。(劃重點)通過這個Softmax函數(shù) 就可以將多分類的輸出數(shù)值轉(zhuǎn)化為相對概率壹置。
下面通過這個圖片可以更直觀展示:
通過圖片直觀可以看出原來輸出是3,1,-3通過softmax函數(shù)一作用钞护,就映射成為(0,1)的值即0.88难咕、0.12距辆、0,而這些值的累和為1爆土,這樣我們就可以根據(jù)概率的大小進(jìn)行選擇步势,作為我們的預(yù)測目標(biāo)背犯,如果預(yù)測目標(biāo)要有兩個,就可以選擇概率大的前兩個倔矾。
補充:實際應(yīng)用中哪自,使用 Softmax 需要注意數(shù)值溢出的問題。因為有指數(shù)運算,如果 V 數(shù)值很大匹层,經(jīng)過指數(shù)運算后的數(shù)值往往可能有溢出的可能升筏。所以,需要對 V 進(jìn)行一些數(shù)值處理:即 V 中的每個元素減去 V 中的最大值铅忿。
softmax損失函數(shù)求導(dǎo)
在多分類問題中檀训,我們經(jīng)常使用交叉熵作為損失函數(shù)峻凫。
先補充概念交叉熵:
交叉熵览露,其用來衡量在給定的真實分布下,使用非真實分布所指定的策略消除系統(tǒng)的不確定性所需要付出的努力的大小命锄。使用交叉熵做分類問題中的損失函數(shù)脐恩,可以在一定程度上減少梯度消散侦讨。
softmax中使用的交叉熵公式如下:在softmax中搭伤,ti表示真實值,yi表示求出的softmax值
(在通常的定義中身堡,ti表示真實分布拍鲤,yi表示非真實分布)
我們來簡單理解一下這個函數(shù)的含義:輸入一個樣本汞扎,那么只有一個神經(jīng)元對應(yīng)了該樣本的正確類別澈魄;若這個神經(jīng)元輸出的概率值越高仲翎,則按照以上的函數(shù)公式,其產(chǎn)生的損失就越婿旯埂玫坛;反之,則產(chǎn)生的損失就越高炕吸。
更多關(guān)于交叉熵可參考(https://blog.csdn.net/mieleizhi0522/article/details/80200126)這里就不做詳細(xì)介紹
接下來進(jìn)入對這個損失函數(shù)的求導(dǎo):
b.對Loss求導(dǎo)廓脆。根據(jù)定義
將數(shù)值映射到了0-1之間停忿,并且和為1,則有
c.具體求導(dǎo)過程
通過上面的求導(dǎo)結(jié)果,可以發(fā)現(xiàn)結(jié)果恰好為通過softmax函數(shù)求出了概率減1时迫,那么我們就可以得到反向更新的梯度了掠拳。
舉個例子:
通過若干層的計算,最后得到的某個訓(xùn)練樣本的向量的分?jǐn)?shù)是[ 2, 3, 4 ],
那么經(jīng)過softmax函數(shù)作用后概率分別就是 [0.0903,0.2447,0.665],
如果這個樣本正確的分類是第二個的話喊熟,
那么計算出來的偏導(dǎo)就是[0.0903,0.2447-1,0.665]=[0.0903,-0.7553,0.665](劃重點),
然后再根據(jù)這個進(jìn)行back propagation就可以了烦味。
參考:(https://www.cnblogs.com/alexanderkun/p/8098781.html)
(https://blog.csdn.net/bitcarmanlee/article/details/82320853)
Ending~還是那句話理解更重要谬俄!