1. 程式人生 > >nerualnetworkanddeeplearning學習_交叉熵損失函式

nerualnetworkanddeeplearning學習_交叉熵損失函式

交叉熵損失函式

作者在開頭舉了一個生動的例子來說明人類在學習中的自然過程,總結來說就是人類在學習過程中所表現出的錯誤越嚴重學習速度越快的現象,而先前作者介紹的神經網路的學習過程卻並不完全是這樣的,從作者文中給出的兩個實時計算過程的動畫可以輕易看出在w和bias都較大的時候,損失函式的下降在學習開始的一段時間內下降非常緩慢,直到w和bias降到1以下的時候下降速度開始大幅變快,這樣的結果並不自然,直覺來看,應該在誤差越大的時候越容易學習才對呀?這是怎麼回事呢?

作者在先前的文中使用的損失函式是 C=(ya)2/2
再來看看梯度計算這裡寫圖片描述
再來看看sigmoid函式的影象:
這裡寫圖片描述
通過影象可以看出在 sigmoid(z) 非常接近1的時候,其導數非常接近0,而歐氏距離損失函式的導數是一個最大為1的線性函式,從而導致w和bias的梯度非常小,造成每次迭代對權重的更新幅度非常小,換句話說也就是學習速度非常慢了。

為了改善學習的過程,使得誤差越大的時候學習速度越快,作者介紹了交叉熵損失函式:
這裡寫圖片描述
交叉熵損失函式有一個非常有用的性質,它的導數為:
(ya)/(a(a1))
你可以看出,在a接近1的時候,也就是sigmoid函式的導數非常小的時候,交叉熵損失函式的導數會變得非常大,由它來對梯度進行一個補償,使得在誤差很大但結點飽和的時候仍然能有一個比較滿意的梯度來進行學習。

相關推薦

nerualnetworkanddeeplearning學習_交叉損失函式

交叉熵損失函式 作者在開頭舉了一個生動的例子來說明人類在學習中的自然過程,總結來說就是人類在學習過程中所表現出的錯誤越嚴重學習速度越快的現象,而先前作者介紹的神經網路的學習過程卻並不完全是這樣的,從作者文中給出的兩個實時計算過程的動畫可以輕易看出在w和bi

在深度學習中Softmax交叉損失函式的公式求導

(以下部分基本介紹轉載於點選開啟連結) 在深度學習NN中的output層通常是一個分類輸出,對於多分類問題我們可以採用k-二元分類器來實現,這裡我們介紹softmax。softmax迴歸中,我們解決的是多分類問題(相對於 logistic 迴歸解決的二分類問題),類標 

【深度學習原理】交叉損失函式的實現

交叉熵損失函式 一般我們學習交叉熵損失函式是在二元分類情況下: L = −

深度學習中softmax交叉損失函式的理解

1. softmax層的作用 通過神經網路解決多分類問題時,最常用的一種方式就是在最後一層設定n個輸出節點,無論在淺層神經網路還是在CNN中都是如此,比如,在AlexNet中最後的輸出層有1000個節點,即便是ResNet取消了全連線層,但1000個節點的輸出

自己動手實現深度學習框架-4 使用交叉損失函式支援分類任務

程式碼倉庫: https://github.com/brandonlyg/cute-dl 目標 增加交叉熵損失函式,使框架能夠支援分類任務的模型。 構建一個MLP模型, 在mnist資料集上執行分類任務準確率達到91%。 實現交叉熵損失函式 數學原理 分解交叉熵損失函式     &n

Tensorflow 兩個交叉損失函式的區別

tf.nn.sparse_softmax_cross_entropy_with_logits label:不含獨熱編碼,shape:[batch_size, ] logits:原始預測概率分佈向量,shape:[batch_size, num_classes] logits = np

最大似然損失交叉損失函式的聯絡

在利用深度學習模型解決有監督問題時,比如分類、迴歸、去噪等,我們一般的思路如下: 資訊流forward propagation,直到輸出端; 定義損失函式L(x, y | theta); 誤差訊號back propagation。採用數學理論中的“鏈式法則”,求L(x,

交叉損失函式及Tensorflow實現

一、交叉熵損失原理 一般情況下,在分類任務中,神經網路最後一個輸出層的節點個數與分類任務的標籤數相等。 假設最後的節點數為N,那麼對於每一個樣例,神經網路可以得到一個N維的陣列作為輸出結果,陣列中每一個維度會對應一個類別。在最理想的情況下,如果一個樣本屬於k,那麼這個類別所對應的第k個輸出節

【Kaggle-MNIST之路】CNN結構再改進+交叉損失函式(六)

簡述 這裡再添加了一個卷積層。用一個kernal=4的卷積層做一個卷積之後,再做對映。 基於之前的一個版本 【Kaggle-MNIST之路】CNN結構改進+改進過的損失函式(五) 成績:0.9898 排名:1000+ 程式碼 注意

softmax交叉損失函式求導

softmax 函式 softmax(柔性最大值)函式,一般在神經網路中, softmax可以作為分類任務的輸出層。其實可以認為softmax輸出的是幾個類別選擇的概率,比如我有一個分類任務,要分為三個類,softmax函式可以根據它們相對的大小,輸出三個類別選取的概率

softmax交叉損失函式反向傳播求導過程分析

目錄 一、softmax 函式 二、損失函式 loss function 三、最後的準備工作                           

softmax + cross-entropy交叉損失函式詳解及反向傳播中的梯度求導

相關 正文 在大多數教程中, softmax 和 cross-entropy 總是一起出現, 求梯度的時候也是一起考慮. 我們來看看為什麼. 關於 softmax 和 cross-entropy 的梯度的求導過程, 已經在上面的兩篇文章中分別給出, 這裡

交叉損失函式

交叉熵(cross entropy)是深度學習中常用的一個概念,一般用來求目標與預測值之間的差距 1.資訊量 2.熵 3.相對熵 4.交叉熵 5.機器學習中交叉熵的應用 1.為什麼要用交叉熵做loss函式? 線上性迴歸問題中,常常使用MSE

softmax函式交叉損失函式的理解

Softmax函式背景與定義在Logistic regression二分類問題中,我們可以使用sigmoid函式將輸入Wx+bWx+b對映到(0,1)(0,1)區間中,從而得到屬於某個類別的概率。將這個問題進行泛化,推廣到多分類問題中,我們可以使用softmax函式,對輸出的

簡單的交叉損失函式,你真的懂了嗎?

說起交叉熵損失函式「Cross Entropy Loss」,腦海中立馬浮現出它的公式: L=−[ylogy^+(1−y)log(1−y^)]L=−[ylogy^+(1−y)log(1−y^)] 我們已經對這個交叉熵函式非常熟悉,大多數情況下都是直接拿

Softmax 以及 交叉損失函式 的求導

Ouput layer & 代價函式 網路結構 Output later 有K個神經元,有K個輸入和輸出。為了分別標記輸入和輸出,用ai∈[1,K]來表示Output layer的輸入資料,yj∈[1,K]來表示Output layer輸出點資料

談一談交叉損失函式

關於損失函式的概念以及種類特點,可參看博主的部落格:常見的損失函式總結,談到交叉熵,就不得不提資訊熵的概念,同樣可參看博主之前的部落格:決策樹之基 —— ID3 演算法,博文中提到了資訊熵的相關知識。有了上述兩篇博文作為基礎,此文不再贅述相關概念。 交叉熵的離

交叉損失函式和均方誤差損失函式

交叉熵 分類問題中,預測結果是(或可以轉化成)輸入樣本屬於n個不同分類的對應概率。比如對於一個4分類問題,期望輸出應該為 g0=[0,1,0,0] ,實際輸出為 g1=[0.2,0.4,0.4,0] ,計算g1與g0之間的差異所使用的方法,就是損失函式,分類問題中常用損

[ch03-02] 交叉損失函式

系列部落格,原文在筆者所維護的github上:https://aka.ms/beginnerAI, 點選star加星不要吝嗇,星越多筆者越努力。 3.2 交叉熵損失函式 交叉熵(Cross Entropy)是Shannon資訊理論中一個重要概念,主要用於度量兩個概率分佈間的差異性資訊。在資訊理論中,交叉熵是表

深度學習基礎--loss與啟用函式--sigmiod與softmax;對數損失函式交叉代價函式

sigmiod與softmax   sigmiod就是邏輯迴歸(解決二分類問題);softmax是多分類問題的邏輯迴歸   雖然邏輯迴歸能夠用於分類,不過其本質還是線性迴歸。它僅線上性迴歸的基礎上,在特徵到結果的對映中加入了一層sigmoid函式(非線性)對映,即先把特徵線性求和,然後使