今日面試題分享:什麼是最大熵

七月線上實驗室發表於2019-03-11

640?wx_fmt=png

今日面試題分享
什麼是最大熵?


參考答案:


解析:

熵是隨機變數不確定性的度量,不確定性越大,熵值越大;若隨機變數退化成定值,熵為0。如果沒有外界干擾,隨機變數總是趨向於無序,在經過足夠時間的穩定演化,它應該能夠達到的最大程度的熵。      


為了準確的估計隨機變數的狀態,我們一般習慣性最大化熵,認為在所有可能的概率模型(分佈)的集合中,熵最大的模型是最好的模型。換言之,在已知部分知識的前提下,關於未知分佈最合理的推斷就是符合已知知識最不確定或最隨機的推斷,其原則是承認已知事物(知識),且對未知事物不做任何假設,沒有任何偏見。    


例如,投擲一個骰子,如果問"每個面朝上的概率分別是多少",你會說是等概率,即各點出現的概率均為1/6。因為對這個"一無所知"的色子,什麼都不確定,而假定它每一個朝上概率均等則是最合理的做法。從投資的角度來看,這是風險最小的做法,而從資訊理論的角度講,就是保留了最大的不確定性,也就是說讓熵達到最大。 


3.1 無偏原則    

下面再舉個大多數有關最大熵模型的文章中都喜歡舉的一個例子。    

例如,一篇文章中出現了“學習”這個詞,那這個詞是主語、謂語、還是賓語呢?換言之,已知“學習”可能是動詞,也可能是名詞,故“學習”可以被標為主語、謂語、賓語、定語等等。 

令x1表示“學習”被標為名詞, x2表示“學習”被標為動詞。 

令y1表示“學習”被標為主語, y2表示被標為謂語, y3表示賓語, y4表示定語。    

且這些概率值加起來的和必為1,即640?wx_fmt=jpeg

640?wx_fmt=gif

, 則根據無偏原則,認為這個分佈中取各個值的概率是相等的,故得到:

640?wx_fmt=gif640?wx_fmt=jpeg

640?wx_fmt=gif

因為沒有任何的先驗知識,所以這種判斷是合理的。如果有了一定的先驗知識呢?    即進一步,若已知:“學習”被標為定語的可能性很小,只有0.05,即

640?wx_fmt=gif640?wx_fmt=jpeg

,剩下的依然根據無偏原則,可得:

640?wx_fmt=gif640?wx_fmt=jpeg

640?wx_fmt=gif

再進一步,當“學習”被標作名詞x1的時候,它被標作謂語y2的概率為0.95,即

640?wx_fmt=gif640?wx_fmt=jpeg

,此時仍然需要堅持無偏見原則,使得概率分佈儘量平均。但怎麼樣才能得到儘量無偏見的分佈?    


實踐經驗和理論計算都告訴我們,在完全無約束狀態下,均勻分佈等價於熵最大(有約束的情況下,不一定是概率相等的均勻分佈。 比如,給定均值和方差,熵最大的分佈就變成了正態分佈 )。    


於是,問題便轉化為了:計算X和Y的分佈,使得H(Y|X)達到最大值,並且滿足下述條件:

640?wx_fmt=gif640?wx_fmt=jpeg

因此,也就引出了最大熵模型的本質,它要解決的問題就是已知X,計算Y的概率,且儘可能讓Y的概率最大(實踐中,X可能是某單詞的上下文資訊,Y是該單詞翻譯成me,I,us、we的各自概率),從而根據已有資訊,儘可能最準確的推測未知資訊,這就是最大熵模型所要解決的問題。    

相當於已知X,計算Y的最大可能的概率,轉換成公式,便是要最大化下述式子H(Y|X):

640?wx_fmt=gif640?wx_fmt=jpeg

且滿足以下4個約束條件:

640?wx_fmt=gif640?wx_fmt=jpeg



題目來源:七月線上官網(www.julyedu.com)——面試題庫——面試大題——機器學習


640?wx_fmt=png



640?wx_fmt=gif

今日學習推薦

機器學習集訓營第八期

火熱報名中

前三十人特惠價:14199

2019年4月15日開課

報名加送18VIP[包2018全年線上課程和全年GPU]


且兩人及兩人以上組團還能各減500元

有意的親們抓緊時間嘍


諮詢/報名/組團可新增微信客服

julyedukefu_02


掃描下方二維碼

免費試聽

640?wx_fmt=png

長按識別二維碼


640?wx_fmt=gif


助力“金三銀四”

分享一套全體系人工智慧學習資料

600G資料 限時限額0元領

小夥伴們可以屯起來,慢慢學習喔~


掃描下方海報二維碼

 立即領取

640?wx_fmt=png

往期推薦






【實戰分享】電影推薦系統專案實戰應用

萬字長文概述NLP中的深度學習技術

34個最優秀好用的Python開源框架

神經網路P圖新神器:摘墨鏡戴美瞳都能搞定,加首飾換髮型真假難分 | 程式碼開源

一文詳解機器學習中最好用的提升方法:Boosting 與 AdaBoost


諮詢,檢視課程,請點選“閱讀原文

給我【好看

你也越好看!

640?wx_fmt=png

相關文章