激活函數 損失函數 優化器

均方差損失函數+Sigmoid的反向傳播算法中,每一層向前遞推都要乘以σ′(z)(激活函數的導數),得到梯度變化值。Sigmoid的這個曲線意味着在大多數時候,我們的梯度變化值很小,導致我們的W,b更新到極值的速度較慢,也就是我們的算法收斂速度較慢。
使用交叉熵損失函數,得到的梯度表達式沒有了σ′(z),梯度爲預測值和真實值的差距,這樣求得的Wl,bl的梯度也不包含σ′(z),因此避免了反向傳播收斂速度慢的問題。
如果我們使用了sigmoid激活函數,交叉熵損失函數肯定比均方差損失函數好用。

對於用於分類的softmax激活函數,對應的損失函數一般都是用對數似然函數,即:
 

對於梯度爆炸,則一般可以通過調整我們DNN模型中的初始化參數得以解決。
對於無法完美解決的梯度消失問題,目前有很多研究,一個可能部分解決梯度消失問題的辦法是使用ReLU(Rectified Linear Unit)激活函數。
http://www.cnblogs.com/pinard/p/6437495.html

Cross Entropy損失函數常用於分類問題中,但是爲什麼它會在分類問題中這麼有效呢?
 
其中:
- M——類別的數量;
- y——指示變量(0或1),如果該類別和樣本的類別相同就是1,否則是0;
- p——對於觀測樣本屬於類別c的預測概率。

由於交叉熵涉及到計算每個類別的概率,所以交叉熵幾乎每次都和softmax函數一起出現。
 

 
交叉熵損失函數是凸函數,求導時能夠得到全局最優值。
使用交叉熵損失函數,不僅可以很好的衡量模型的效果,又可以很容易的的進行求導計算。

Mean Squared Error (均方誤差)
 
邏輯迴歸配合MSE損失函數時,採用梯度下降法進行學習時,會出現模型一開始訓練時,學習速率非常慢的情況
https://zhuanlan.zhihu.com/p/35709485

損失函數的選擇往往也是結合激活函數來的:
sigmoid系之外的激活函數 + MSE
sigmoid + Cross Entropy
Softmax + Cross Entropy
https://blog.csdn.net/u012193416/article/details/79520862

梯度消逝和損失函數關係不大。
https://www.zhihu.com/question/265823997

 
z4 = w41*o1+w42*o2+w43*o3
z5 = w51*o1+w52*o2+w53*o3
z6 = w61*o1+w62*o2+w63*o3

交叉熵函數形式如下:
 

爲了形式化說明,我這裏認爲訓練數據的真實輸出爲第j個爲1,其它均爲0!
那麼形式變爲 
 

https://zhuanlan.zhihu.com/p/25723112

Batch gradient descent(BGD)
 
在一次更新中,就對整個數據集計算梯度,所以計算起來非常慢,遇到很大量的數據集也會非常棘手

Stochastic gradient descent(SGD)
 
和 BGD 的一次用所有數據計算梯度相比,SGD 每次更新時對每個樣本進行梯度更新。
SGD 一次只進行一次更新,就沒有冗餘,而且比較快,並且可以新增樣本。
但是 SGD 因爲更新比較頻繁,會造成 cost function 有嚴重的震盪。

隨機也就是說我們用樣本中的一個例子來近似我所有的樣本,來調整θ
在深度學習中,用的比較多的是mini-batch梯度下降。
https://www.zhihu.com/question/264189719

Mini-batch gradient descent(MBGD)
 
MBGD 每一次利用一小批樣本,即 n 個樣本進行計算。
和 SGD 的區別是每一次循環不是作用於每個樣本,而是具有 n 個樣本的批次。

超參數設定值: 
n 一般取值在 50~256

Mini-batch gradient descent 不能保證很好的收斂性,learning rate 如果選擇的太小,收斂速度會很慢,如果太大,loss function 就會在極小值處不停地震盪甚至偏離。

SGD 雖然能達到極小值,但是比其它算法用的時間長,而且可能會被困在鞍點。
如果數據是稀疏的,就用自適用方法,即 Adagrad, Adadelta, RMSprop, Adam。
整體來講,Adam 是最好的選擇。
https://blog.csdn.net/aliceyangxi1987/article/details/73210204

一個不是局部極值點的駐點(駐點就是一階導數爲 0 的點)稱爲鞍點。
https://blog.csdn.net/jningwei/article/details/79801699
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章