同步csdn地址:數組
在機器學習和深度學習中,不少時候須要進行分類,這時會涉及到決策邊界,好比sigmod激活函數; 可是當面對多分類的時候(好比經典的MNIST),咱們須要預測每個種類output的機率,好比softmax,這時候咱們須要對: 信息論和交叉熵有一個清晰的認識 那麼咱們的文章將會對 信息論和交叉熵損失函數 進行一個講解;機器學習
1.信息論函數
2.自信息學習
3.香農熵.net
4.交叉熵blog
其實信息論是一種用來描述 機率分佈或者蔣機率分佈之間的類似性 的一種思想 信息論的核心思想就是用來表示 意外程度 ,即小几率事件發生的信息量大事件
就是單個事件的信息量的量化值圖片
咱們構建這樣一個公式:get
每每在咱們的實際應用中咱們須要使用 香農熵 來對整個事件機率分佈中的不肯定性總量進行量化
在這裏咱們能夠借鑑 隨機變量X的數學指望的求值公式
這裏的香農熵其實能夠看作是: 信息量的數學指望的求值公式
下面咱們舉例說明:
數組1: 111111
數組2: 111222
數組3: 112233
咱們來算數組1 ,2 和 3的香農熵
這樣來看數組1的香農熵爲0,則爲必然事件,數組2居中,數組3最大,則其機率分佈的機率最小
前面咱們有講到 自信息 和 香農熵 那麼如何用到機器學習和深度學習中呢,不着急慢慢往下看 咱們記得以前在多類別分類的模型中咱們有用到 進行每一個類別機率估計,而後取最大機率作爲預測值 而當咱們反向更新爲激活函數的模型或者神經網絡時候,是將交叉熵作爲函數進行梯度調節的
那麼讓咱們聚焦交叉熵 在這以前咱們須要看下散列,這是基於香農熵用來衡量對於同一個隨機變量X的兩個單獨分佈和的差別的途徑:
可是在深度學習中咱們使用散列的變形,也就是交叉熵來做爲某些場景的函數,即:
根據散列咱們隊上述公式進行變形:
通過變形就獲得:
接着,咱們變化成易於理解的函數
到這裏咱們看到了咱們熟悉的成本函數,迴歸分類器的成本函數
接着咱們探討爲何使用這個成本函數
主要是softmax等多分類器,在評估真實值()和預測值()距離時,更多的是在評估機率之間的距離,這樣使用傳統的均方根偏差作爲函數毫無心義
咱們來舉個例子(以MNIST爲例: 識別0~9的數字圖片): 假設輸出層是爲激活函數:
那麼咱們假設用兩組標籤相同的實例 和 來進行分析 首先咱們的都是0,因此真實值得向量組合是(1,0,0,0,0,0,0,0,0,0)
接着算A和B的交叉熵(也就是函數) :
補充一點:交叉熵不是對稱的,因此因此要注意P和Q的順序,一版狀況下,P表明真實值,Q表明預測值
最近很熱,你們謹防中暑,可是學習不能斷 ^^