複製鏈接
請複製以下鏈接發送給好友

交叉熵

鎖定
交叉熵(Cross Entropy)是Shannon信息論中一個重要概念,主要用於度量兩個概率分佈間的差異性信息。語言模型的性能通常用交叉熵和複雜度(perplexity)來衡量。交叉熵的意義是用該模型對文本識別的難度,或者從壓縮的角度來看,每個詞平均要用幾個位來編碼。複雜度的意義是用該模型表示這一文本平均的分支數,其倒數可視為每個詞的平均概率。平滑是指對沒觀察到的N元組合賦予一個概率值,以保證詞序列總能通過語言模型得到一個概率值。通常使用的平滑技術有圖靈估計、刪除插值平滑、Katz平滑和Kneser-Ney平滑。
中文名
交叉熵
外文名
Cross Entropy
用    途
機器學習,語言模型等
類    型
計算機語言學
學    科
信息論
發展實踐
1979
意    義
計算語言學消岐的一種有效工具

目錄

交叉熵介紹

將交叉熵引入計算語言學消岐領域,採用語句的真實語義作為交叉熵的訓練集的先驗信息,將機器翻譯的語義作為測試集後驗信息。計算兩者的交叉熵,並以交叉熵指導對歧義的辨識和消除。實例表明,該方法簡潔有效.易於計算機自適應實現。交叉熵不失為計算語言學消岐的一種較為有效的工具。
在信息論中,交叉熵是表示兩個概率分佈p,q,其中p表示真實分佈,q表示非真實分佈,在相同的一組事件中,其中,用非真實分佈q來表示某個事件發生所需要的平均比特數。從這個定義中,我們很難理解交叉熵的定義。下面舉個例子來描述一下:
假設現在有一個樣本集中兩個概率分佈p,q,其中p為真實分佈,q為非真實分佈。假如,按照真實分佈p來衡量識別一個樣本所需要的編碼長度的期望為:
H(p)=
但是,如果採用錯誤的分佈q來表示來自真實分佈p的平均編碼長度,則應該是:
H(p,q)=
此時就將H(p,q)稱之為交叉熵。交叉熵的計算方式如下:
對於離散變量採用以下的方式計算:H(p,q)=
對於連續變量採用以下的方式計算:

交叉熵應用

交叉熵可在神經網絡(機器學習)中作為損失函數,p表示真實標記的分佈,q則為訓練後的模型的預測標記分佈,交叉熵損失函數可以衡量p與q的相似性。交叉熵作為損失函數還有一個好處是使用sigmoid函數在梯度下降時能避免均方誤差損失函數學習速率降低的問題,因為學習速率可以被輸出的誤差所控制。 [1] 
在特徵工程中,可以用來衡量兩個隨機變量之間的相似度。
在語言模型中(NLP)中,由於真實的分佈p是未知的,在語言模型中,模型是通過訓練集得到的,交叉熵就是衡量這個模型在測試集上的正確率。 [2] 
參考資料