Cross-entropy
神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)行為和人腦差的很多, 開(kāi)始學(xué)習(xí)很慢, 后來(lái)逐漸增快
為什么?
學(xué)習(xí)慢 => 偏導(dǎo)數(shù) ?C/?w 和 ?C/?b 值小
回顧之前學(xué)習(xí)的Cost函數(shù):
回顧sigmoid函數(shù):
如何增快學(xué)習(xí)朋蔫?
為此神經(jīng)網(wǎng)絡(luò)引入交叉熵代價(jià)函數(shù)cross-entropy函數(shù)
彌補(bǔ) sigmoid 型函數(shù)的導(dǎo)數(shù)形式易發(fā)生飽和(saturate孔轴,梯度更新的較慢)的缺陷
-
首先來(lái)看平方誤差函數(shù)(squared-loss function),對(duì)于一個(gè)神經(jīng)元(單輸入單輸出),定義其代價(jià)函數(shù):
其中 a=σ(z),z=wx+b
-
然后根據(jù)對(duì)權(quán)值(w)和偏置(b)的偏導(dǎo)(為說(shuō)明問(wèn)題的需要咧织,不妨將 x=1,y=0):
根據(jù)偏導(dǎo)計(jì)算權(quán)值和偏置的更新:
無(wú)論如何簡(jiǎn)化囤捻,sigmoid 型函數(shù)的導(dǎo)數(shù)形式 σ′(z) 始終陰魂不散
上文說(shuō)了 σ′(z) 較容易達(dá)到飽和萧豆,這會(huì)嚴(yán)重降低參數(shù)更新的效率奸披。
交叉熵代價(jià)函數(shù)
對(duì)于多輸入單輸出的神經(jīng)元結(jié)構(gòu)而言,如下圖所示:
我們將其損失函數(shù)定義為:
其中:
最終求導(dǎo)得:
- 學(xué)習(xí)的快慢取決于σ(z) - y炕横,也就是輸出的error
好處:錯(cuò)誤大時(shí)源内,更新多,學(xué)的快
錯(cuò)誤小時(shí)份殿,學(xué)習(xí)慢
避免了 σ′(z) 參與參數(shù)更新膜钓、影響更新效率的問(wèn)題;
總結(jié):
cross-entropy cost幾乎總是比二次cost函數(shù)好
如果神經(jīng)元的方程是線(xiàn)性的, 用二次cost函數(shù) (不會(huì)有學(xué)習(xí)慢的問(wèn)題)
softmax和overfitting
- 下面介紹另外一種類(lèi)型的輸出層函數(shù):
softmax
第一步:和sigmoid一樣
第二步:softmax函數(shù)
(分母是將每層所有的神經(jīng)元的輸出值加起來(lái))
(分子是指第L層第J個(gè)神經(jīng)元的輸出)
由上可得:
當(dāng)最后一行z增大時(shí),a也隨之增大,其他a隨之減小
事實(shí)上, 其他a減小的值總是剛好等于a4增加的值, 總和為1不變卿嘲,Softmax的輸出每個(gè)值都是大于等于0, 而且總和等于1
所以, 可以認(rèn)為是概率分布颂斜,也可以認(rèn)為輸出的是每個(gè)可能分類(lèi)標(biāo)簽的概率
如果輸出層是sigmod層, 不能默認(rèn)輸出總和為1, 所以不能輕易描述為概率分布
- 介紹一種代價(jià)函數(shù)
log-likelyhood函數(shù)
假設(shè)輸入的是手寫(xiě)數(shù)字7的圖片,輸出比較確定接近7拾枣,對(duì)于對(duì)應(yīng)的輸出7的神經(jīng)元沃疮,概率a接近1,對(duì)數(shù)C接近0梅肤,反之司蔬,對(duì)數(shù)C比較大,所有適合做Cost
是否存在學(xué)習(xí)慢的問(wèn)題取決于:
求偏導(dǎo)數(shù)姨蝴,得到:
對(duì)比之前用的cross-entropy得到的偏導(dǎo)公式