1. 程式人生 > >softmax函式和交叉熵損失函式的理解

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

Softmax函式

背景與定義

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

這裡假設在進入softmax函式之前,已經有模型輸出CC值,其中CC是要預測的類別數,模型可以是全連線網路的輸出aa,其輸出個數為CC,即輸出為a1,a2,...,aCa1,a2,...,aC

所以對每個樣本,它屬於類別ii的概率為: 

yi=eaiCk=1eaki1...Cyi=eai∑k=1Ceak   ∀i∈1...C

通過上式可以保證Ci=1yi=1∑i=1Cyi=1,即屬於各個類別的概率和為1。

導數

softmax函式進行求導,即求 

yiaj∂yi∂aj
ii項的輸出對第jj項輸入的偏導。 
代入softmax函式表示式,可以得到: 
yiaj=eaiCk=1eakaj∂yi∂aj=∂eai∑k=1Ceak∂aj

用我們高中就知道的求導規則:對於 

f(x)=g(x)h(x)f(x)=g(x)h(x)
它的導數為 
f(x)=g(x)h(x)g(x)h(x)[h(x)]2f′(x)=g′(x)h(x)−g(x)h′(x)[h(x)]2

相關推薦

softmax函式交叉損失函式理解

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

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

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

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

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

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

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

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

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

softmax交叉損失函式求導

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

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

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

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

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

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

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

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

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

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

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

交叉損失函式及Tensorflow實現

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

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

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

PythonPyTorch對比實現多標籤softmax + cross-entropy交叉損失及反向傳播

相關 關於 softmax + cross-entropy 的詳細介紹, 請參考 : BrightLamp. 多標籤softmax + cross-entropy交叉熵損失函式詳解及反向傳播中的梯度求導[EB/OL]. https://blog.csdn.net

交叉損失函式

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

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

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

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

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

2線性分類器基本原理-2.3線性分類器之SoftMax交叉損失(Cross-Entropy)

影象分類器模型的整體結構: 交叉熵(Cross-Entropy)損失 和 SoftMax SVM是最常用的兩個分類器之一,而另一個就是Softmax分類器,它的損失函式與SVM損失函式不同。對於學習過二元邏輯迴歸分類器的讀者來說,SoftMax分類器就可

nerualnetworkanddeeplearning學習_交叉損失函式

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

談一談交叉損失函式

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