李航《統計學習方法》第4章習題答案參考

第 4 章 樸素貝葉斯法


淺談極大似然估計與貝葉斯估計

極大似然估計:頻率學派,認爲參數是確定存在只是未知的,並且覺得出現的狀態假設是按概率最大的情況出現的,所以對極大似然函數求極值就可以得到參數θ .(下述D 爲訓練數據集)

θMLE=argmaxθP(D|θ)

貝葉斯估計 : 貝葉斯學派,認爲參數是不確定的,也是一個隨機變量,所以給定輸入不能得到輸出,只能根據先驗概率得出輸出的期望:

E[y|x,D]=P(y|x,θ)P(θ|D)dθ

所以呢,想要求後驗概率P(θ|D) , 想起貝葉斯公式:
P(θ|D)=P(D|θ)P(θ)P(D)=P(D|θ)P(θ)P(D|θ)P(θ)dθ

但是積分看到就煩,而且不好計算,還可能不存在解析解,所以呢,就將就一下,轉而求極大後驗概率:
θMAP=argmaxθP(D|θ)P(θ)

一看,兩類估計非常相似,爲什麼要提貝葉斯估計呢,是因爲有時概率是做分母的,比如NLP中,測試集中包含訓練集裏沒有的詞,然後概率就爲0了,NB裏面,是假設i.i.d的,有一個爲0就沒得算了,在進行模型評估的時候計算一個pvalue,你也麻煩了。所以呢,一般需要對數據進行平滑化處理,常用的是Laplace換句話說就是add-one smoothing 就是管你什麼情況 對於所有的詞我都默認出現過一次了.

說起這個,由於出現頻次太低,語料庫有比較大的時候,可能出現下溢出。就是太太太小了,都約爲0 那還比個什麼啊,所以這個應對措施是取對數.


4.1 用極大似然估計法推出樸素貝葉斯法中的概率估計公式(4.8)及(4.9).

P.S P(Y=ck)=Ni=1I(yi=ck)N(4.8) ;
P(X(j)=ajl|Y=ck)=Ni=1I(x(j)i=ajl,yi=ck)Ni=1I(yi=ck)j=1,2,,n;l=1,2,,Sj;k=1,2,,K(4.9)

證明:(4.8)
p=P(y=ck),q=P(x(j)1=ajl|yi=ck) ,m=Ni=1I(yi=ck) , n=Ni=1I(x(j)i=ajl,yi=Ck)
M 爲我們假設的概率模型;
根據極大似然估計,我們認爲y 獨立同分布,似然函數爲:

P=P(y1,y2,,yN|M)=P(y1|M)P(y2|M)P(yN|M)=pm (1p)Nm

P 取對數,並求導,令導數爲0求p 的極大似然:
logPp=mpNm1p=0

求得p=mN ,即P(Y=ck)=Ni=1I(yi=ck)N .

(4.9)

P=P(x(j)1,x(j)2,,x(j)m|yi=ck,M)=P(x(j)1|yi=ck,M)P(x(j)2|yi=ck,M)P(x(j)m|yi=ck,M)=qn (1q)mn

同上可得q=nm ,即P(X(j)=ajl|Y=ck)=Ni=1I(x(j)i=ajl,yi=Ck)Ni=1I(yi=ck) .

4.2 用貝葉斯估計法推出樸素貝葉斯法中的概率公式(4.10)及(4.11)

P.S 條件概率的貝葉斯公式:

P(X(j)=ajl|Y=ck)=Ni=1I(x(j)i=ajl,yi=ck)+λNi=1I(yi=ck)+Sjλ(4.10)

顯然l=1,2,,Sj,k=1,2,,K, 有:
Pλ(X(j)=ajl|Y=ck)>0l=1SjP(X(j)=ajl|Y=ck)=1

這表明(4.10)爲一個概率分佈
先驗概率的貝葉斯估計:
Pλ(Y=ck)=Ni=1I(yi=ck)+λN+Kλ(4.11)

證明:(記號同上一題)Y 的取值一共有K 種情況,λ 表示各種情況的取值初始值,即每種情況都有λ 次發生,所以θ 的先驗概率爲:P(θ)=pλ(1p)(K1)λ

P(D|θ)P(θ)=P(y1,y2,,yN|D)P(θ)=P(y1|D)P(y2|D)P(yN|D)P(θ)=pm+λ (1p)Nm+(k1)λ

同上題求極值得:Pλ(Y=ck)=Ni=1I(yi=ck)+λN+Kλ
同理可證(4.10)式.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章