理解交叉熵損失(Cross-Entropy)
理解交叉熵損失
字符集編碼
字符集編碼的意義在於將資料集進行有效壓縮。
假設在一個文件中只出現了a、b、c、d、e 5種字元,其佔比如下表:
字元 | a | b | c | d | e |
---|---|---|---|---|---|
佔比 | 0.1 | 0.1 | 0.2 | 0.2 | 0.4 |
最容易想到的編碼方式,5個字元,需要3個bit位,故:
字元 | a | b | c | d | e | 單個字元編碼長度期望值 |
---|---|---|---|---|---|---|
編碼 | 000 | 001 | 010 | 011 | 100 | 3 |
但是這並不是最優的編碼方式,例如:
字元 | a | b | c | d | e | 單個字元編碼長度期望值 |
---|---|---|---|---|---|---|
編碼 | 1111 | 1110 | 110 | 10 | 0 | 2.2 |
這種編碼方式的特點就在於,佔比高的字元編碼長度儘可能短,同時要滿足不能出現歧義的限制條件。
那麼給定一個數據集之後,究竟每個字元編碼是什麼,編碼應該多長呢?
給定字符集
字符集編碼先介紹這麼多,一會兒會用到。
相對熵
相對熵是一種用來評價兩種概率分佈差異程度的方法。
給定字符集
可以通過字符集編碼長度與最優編碼方案下的編碼長度的差來度量。
最優編碼方案下的字元編碼長度為:
根據預測概率分佈
最優編碼方案下字元編碼長度期望為:
根據預測概率分佈
很顯然:
因為最優編碼是編碼長度期望最短的;
定義:
可得:
交叉熵
交叉熵是從相對熵而來的。
在機器學習領域,多分類問題很常見,在很多深度學習模型當中,網路的輸出層就是一個
將
既然可以用相對熵作為代價函式,那為什麼還要引出交叉熵?
因為在
於是只剩下:
相關推薦
理解交叉熵損失(Cross-Entropy)
理解交叉熵損失 字符集編碼 字符集編碼的意義在於將資料集進行有效壓縮。 假設在一個文件中只出現了a、b、c、d、e 5種字元,其佔比如下表: 字元 a b c d e 佔比 0.1 0.1 0.2
【聯絡】二項分佈的對數似然函式與交叉熵(cross entropy)損失函式
1. 二項分佈 二項分佈也叫 0-1 分佈,如隨機變數 x 服從二項分佈,關於引數 μ(0≤μ≤1),其值取 1 和取 0 的概率如下: {p(x=1|μ)=μp(x=0|μ)=1−μ 則在 x
二項分佈的對數似然函式與交叉熵(cross entropy)損失函式的聯絡
今天覆習Logistic迴歸的時候涉及到二項分佈的求最大似然解,突然發現這個對數似然函式熟悉,似曾相識,不就是交叉熵損失函式麼,難道這僅僅是巧合,不能夠。先看下這個推導。 1. 二項分佈(0-1分佈): 2. 最大似然估計法: 3.
Tensorflow中的交叉熵(Cross Entropy)
Tensorflow中的交叉熵(Cross Entropy) Cross Entropy (Sigmoid) 適用於二分類,輸入函式的logits和labels應當是一維的。如果輸入One-Hot過的logits,會被當做多個一維分別計算。注意不要將已經通過sigmoid計算得到的數
機器學習基礎(六)—— 交叉熵代價函式(cross-entropy error)
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
交叉熵代價函式(cross-entropy cost function)
1.從方差代價函式說起 代價函式經常用方差代價函式(即採用均方誤差MSE),比如對於一個神經元(單輸入單輸出,sigmoid函式),定義其代價函式為: 其中y是我們期望的輸出,a為神經元的實際輸出【 a=σ(z), where z=wx+b 】。 在訓練神經網路過程中,我
【Kaggle-MNIST之路】CNN結構再改進+交叉熵損失函式(六)
簡述 這裡再添加了一個卷積層。用一個kernal=4的卷積層做一個卷積之後,再做對映。 基於之前的一個版本 【Kaggle-MNIST之路】CNN結構改進+改進過的損失函式(五) 成績:0.9898 排名:1000+ 程式碼 注意
深度學習基礎系列(五)| 深入理解交叉熵函式及其在tensorflow和keras中的實現
在統計學中,損失函式是一種衡量損失和錯誤(這種損失與“錯誤地”估計有關,如費用或者裝置的損失)程度的函式。假設某樣本的實際輸出為a,而預計的輸出為y,則y與a之間存在偏差,深度學習的目的即是通過不斷地訓練迭代,使得a越來越接近y,即 a - y →0,而訓練的本質就是尋找損失函式最小值的過程。 常見的
softmax + cross-entropy交叉熵損失函式詳解及反向傳播中的梯度求導
相關 正文 在大多數教程中, softmax 和 cross-entropy 總是一起出現, 求梯度的時候也是一起考慮. 我們來看看為什麼. 關於 softmax 和 cross-entropy 的梯度的求導過程, 已經在上面的兩篇文章中分別給出, 這裡
Python和PyTorch對比實現多標籤softmax + cross-entropy交叉熵損失及反向傳播
相關 關於 softmax + cross-entropy 的詳細介紹, 請參考 : BrightLamp. 多標籤softmax + cross-entropy交叉熵損失函式詳解及反向傳播中的梯度求導[EB/OL]. https://blog.csdn.net
《TensorFlow實戰Google深度學習框架》——4.2.1 經典損失函式(交叉熵、均方差)
目錄 1、交叉熵 1、交叉熵 交叉熵是分類問題中使用比較廣的一種損失函式,刻畫了兩個概率分佈之間的距離。 給定兩個概率分佈p和q,通過q來表示p的交叉熵為: 交叉熵刻畫的是兩個概率分佈之間的距離,然而神經網路的輸出卻不一定是一個概率分佈。Softmax迴歸就
2線性分類器基本原理-2.3線性分類器之SoftMax和交叉熵損失(Cross-Entropy)
影象分類器模型的整體結構: 交叉熵(Cross-Entropy)損失 和 SoftMax SVM是最常用的兩個分類器之一,而另一個就是Softmax分類器,它的損失函式與SVM損失函式不同。對於學習過二元邏輯迴歸分類器的讀者來說,SoftMax分類器就可
瑞麗熵(renyi entropy)
分布 math ice 離散 fcc end 推廣 ati 技術 在信息論中,Rényi熵是Hartley熵,Shannon熵,碰撞熵和最小熵的推廣。熵能量化了系統的多樣性,不確定性或隨機性。Rényi熵以AlfrédRényi命名。在分形維數估計的背景下,Rényi熵構成
關於對比損失(contrasive loss)的理解(相似度越大越相似的情況):
def contro_loss(self): ''' 總結下來對比損失的特點:首先看標籤,然後標籤為1是正對,負對部分損失為0,最小化總損失就是最小化類內損失(within_loss)部分, 讓s逼近margin的過程,是個增大的過程;標籤為0
【尋優演算法】交叉驗證(Cross Validation)引數尋優的python實現:多引數尋優
【尋優演算法】交叉驗證(Cross Validation)引數尋優的python實現:多引數尋優 一、網格搜尋原理 二、網格搜尋+交叉驗證用於多引數尋優的python實現 1、訓練模型及待尋優引數 2、直接迴圈巢狀實現網格搜尋 + cros
【尋優演算法】交叉驗證(Cross Validation)引數尋優的python實現:單一引數尋優
【尋優演算法】交叉驗證(Cross Validation)引數尋優的python實現:單一引數尋優 一、交叉驗證的意義 二、常用的交叉驗證方法 1、Hold one method 2、K-flod CV 3、Leave-One-Ou
交叉驗證(Cross-validation)
AI---訓練集(train set) 驗證集(validation set) 測試集(test set) 在有監督(supervise)的機器學習中,資料集常被分成2~3個即: 訓練集(train set) 驗證集(validation set) 測試集(test set
【機器學習】交叉驗證(cross-validation)
1、什麼是交叉驗證 交叉驗證(Cross validation),交叉驗證用於防止模型過於複雜而引起的過擬合。有時亦稱迴圈估計, 是一種統計學上將資料樣本切割成較小子集的實用方法。於是可以先在一個子集上做分析, 而其它子集則用來做後續對此分析的確認及驗證。 一開始的子集被稱
[轉載] 交叉驗證(Cross Validation)簡介
一、訓練集 vs. 測試集 在模式識別(pattern recognition)與機器學習(machine learning)的相關研究中,經常會將資料集(dataset)分為訓練集(training set)跟測試集(testing set)這兩個子集,前者用以建立
模型評估和超引數調整(二)——交叉驗證 (cross validation)
讀《python machine learning》chapt 6 Learning Best Practices for Model Evaluation and Hyperparameter Tuning【主要內容】(1)獲得對模型評估的無偏估計(2)診斷機器學習演算法的