机器学习理论《统计学习方法》学习笔记:第四章 朴素贝叶斯法
機器學(xué)習(xí)理論《統(tǒng)計學(xué)習(xí)方法》學(xué)習(xí)筆記:第四章 樸素貝葉斯法
- 4 樸素貝葉斯法
- 4.1 樸素貝葉斯法的學(xué)習(xí)與分類
- 4.1.1 基本方法
- 4.1.2 后驗概率最大化的含義
- 4.2 樸素貝葉斯法的參數(shù)估計
- 4.2.1 極大似然估計
- 4.2.2 學(xué)習(xí)與分類算法
- 4.2.3 貝葉斯估計
- 本章概要
4 樸素貝葉斯法
- 樸素貝葉斯(native bayes)法是基于貝葉斯定理與特征條件獨立假設(shè)的分類方法。對于給定的訓(xùn)練數(shù)據(jù)集,首先基于特征條件獨立假設(shè)學(xué)習(xí)輸入輸出的聯(lián)合概率分布;然后基于此模型,對給定的輸入x,利用貝葉斯定理求出后驗概率最大的輸出y。樸素貝葉斯法實現(xiàn)簡單,學(xué)習(xí)與預(yù)測的效率都很高,是一種常用的方法。
4.1 樸素貝葉斯法的學(xué)習(xí)與分類
4.1.1 基本方法
- 設(shè)輸入空間 X∈RnX\in R^nX∈Rn 為n維向量的集合,輸出空間為類標(biāo)記集合Y={c1,c2,?,ck}Y=\{c_1,c_2,\cdots,c_k\}Y={c1?,c2?,?,ck?}輸入為特征向量x∈Xx\in Xx∈X,輸出為類標(biāo)記 y∈Yy\in Yy∈Y.XXX是定義在輸入空間上的隨機變量,YYY 是定義在輸出空間上的隨機變。P(X,Y)P(X,Y)P(X,Y)是XXX和YYY的聯(lián)合概率分布.訓(xùn)練數(shù)據(jù)集T={(x1,y1),(x2,y2),?,(xN,yN)}T=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\}T={(x1?,y1?),(x2?,y2?),?,(xN?,yN?)}由P(X,Y)P(X,Y)P(X,Y)獨立同分布產(chǎn)生。
- 樸素貝葉斯法通過訓(xùn)練數(shù)據(jù)集學(xué)習(xí)聯(lián)合概率分布P(X,Y)P(X,Y)P(X,Y)。具體地,學(xué)習(xí)以下先驗概率分布及條件概率分布。
先驗概率分布P(Y=ck),k=1,2,?,KP(Y=c_k),k=1,2,\cdots,KP(Y=ck?),k=1,2,?,K
條件概率分布P(X=x∣Y=ck)=P(X(1)=x(1),X(2)=x(2),?,X(n)=x(n)∣Y=ck),k=1,2,?,KP(X=x|Y=c_k)=P(X^{(1)}=x^{(1)},X^{(2)}=x^{(2)},\cdots,X^{(n)}=x^{(n)}|Y=c_k),k=1,2,\cdots,KP(X=x∣Y=ck?)=P(X(1)=x(1),X(2)=x(2),?,X(n)=x(n)∣Y=ck?),k=1,2,?,K于是學(xué)習(xí)到聯(lián)合概率分布P(X,Y)P(X,Y)P(X,Y) - 條件概率分布P(X=x∣Y=ck)P(X=x|Y=c_k)P(X=x∣Y=ck?)有指數(shù)級數(shù)量的參數(shù),其估計實際是不可行的。事實上,假設(shè)x(j)x^{(j)}x(j)有SjS_jSj?個,j=1,2,?,nj=1,2,\cdots,nj=1,2,?,n,Y可能取值有K個,那么參數(shù)個數(shù)為K∏j=1nSjK\prod_{j=1}^nS_j Kj=1∏n?Sj?
- 樸素貝葉斯法對條件概率分布作了條件獨立性假設(shè)。由于這時一個較強的假設(shè),樸素貝葉斯法也由此得名。具體地,條件獨立性假設(shè)是P(X=x∣Y=ck)=P(X(1)=x(1),X(2)=x(2),?,X(n)=x(n)∣Y=ck)P(X=x|Y=c_k)=P(X^{(1)}=x^{(1)},X^{(2)}=x^{(2)},\cdots,X^{(n)}=x^{(n)}|Y=c_k)P(X=x∣Y=ck?)=P(X(1)=x(1),X(2)=x(2),?,X(n)=x(n)∣Y=ck?)
P(X=x∣Y=ck)=∏j=1nP(X(j)=x(j)∣Y=ck)P(X=x|Y=c_k)=\prod_{j=1}^nP(X^{(j)}=x^{(j)}|Y=c_k)P(X=x∣Y=ck?)=j=1∏n?P(X(j)=x(j)∣Y=ck?) - 樸素貝葉斯法實際上學(xué)習(xí)到生成數(shù)據(jù)的機制,所以屬于生成模型。條件獨立假設(shè)等于是說,用于分類的特征在類確定的條件下都是條件獨立的。這一假設(shè)使樸素貝葉斯法變得簡單,但是有時會犧牲一定的分類準(zhǔn)確率。
- 貝葉斯分類器可表示為y=f(x)=argmaxckP(Y=ck)∏P(X(j)=x(j)∣Y=ck)∑kP(Y=ck)∏P(X(j)=x(j)∣Y=ck)y=f(x)=arg\space max_{c_k}{{P(Y=c_k)\prod P(X^{(j)}=x^{(j)}|Y=c_k)}\over{\sum_k P(Y=c_k)\prod P(X^{(j)}=x^{(j)}|Y=c_k)}}y=f(x)=arg?maxck??∑k?P(Y=ck?)∏P(X(j)=x(j)∣Y=ck?)P(Y=ck?)∏P(X(j)=x(j)∣Y=ck?)?,其中分母對所有ckc_kck?都是相同的,所以y=argmaxckP(Y=ck)∏P(X(j)=x(j)∣Y=ck)y=arg\space max_{c_k}{P(Y=c_k)\prod P(X^{(j)}=x^{(j)}|Y=c_k)}y=arg?maxck??P(Y=ck?)∏P(X(j)=x(j)∣Y=ck?)
4.1.2 后驗概率最大化的含義
樸素貝葉斯法將實例分到后驗概率最大的類中,這等價于期望風(fēng)險最小化。
假設(shè)選擇0-1損失函數(shù):
L(Y,f(X))={1,Y≠f(X)0,Y?=?f(X)L(Y,f(X))= \begin{cases} 1,&\text{Y$\neq$f(X)}\\ 0,&\text{Y = f(X)} \end{cases} L(Y,f(X))={1,0,?Y?=f(X)Y?=?f(X)?式中f(X)f(X)f(X)是分類決策函數(shù)。
這時,期望風(fēng)險函數(shù)為Rexp(f)=E[L(Y,f(X))]R_{exp}(f)=E[L(Y,f(X))]Rexp?(f)=E[L(Y,f(X))]期望是對聯(lián)合分布P(X,Y)P(X,Y)P(X,Y)取的。
根據(jù)期望風(fēng)險最小化準(zhǔn)則就得到了后驗概率最大化準(zhǔn)則:f(x)=argmaxckP(ck∣X=x)f(x)=arg\space max_{c_k}P(c_k|X=x)f(x)=arg?maxck??P(ck?∣X=x)即樸素貝葉斯法所采用的原理。
4.2 樸素貝葉斯法的參數(shù)估計
4.2.1 極大似然估計
- 在樸素貝葉斯法中,學(xué)習(xí)意味著估計P(Y=ck)P(Y=c_k)P(Y=ck?)和P(X(j)=x(j)∣Y=ck)P(X^{(j)}=x^{(j)}|Y=c_k)P(X(j)=x(j)∣Y=ck?)。可以應(yīng)用極大似然估計法估計相應(yīng)的概率。先驗概率P(Y=ck)P(Y=c_k)P(Y=ck?)的極大似然估計是P(Y=ck)=∑i=1NI(yi=ck)N,k=1,2,?,KP(Y=c_k)={{\sum_{i=1}^NI(y_i=c_k)}\over{N}},k=1,2,\cdots,KP(Y=ck?)=N∑i=1N?I(yi?=ck?)?,k=1,2,?,K
4.2.2 學(xué)習(xí)與分類算法
樸素貝葉斯算法
- 輸入:
訓(xùn)練數(shù)據(jù)集T={(x1,y1),(x2,y2),?,(xN,yN)}T=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\}T={(x1?,y1?),(x2?,y2?),?,(xN?,yN?)},其中,xi=(xi(1),xi(2),?,xi(n))Tx_i=(x_i^{(1)},x_i^{(2)},\cdots,x_i^{(n)})^Txi?=(xi(1)?,xi(2)?,?,xi(n)?)T,xi(j)x_i^{(j)}xi(j)?是第i個樣本的第j個特征,xi(j)∈{aj1,aj2,?,ajSj}x_i^{(j)}\in\{a_{j1},a_{j2},\cdots,a_{jS_j}\}xi(j)?∈{aj1?,aj2?,?,ajSj??},ajla_{jl}ajl?是第j個特征值可能取的第l個值,j=1,2,?,n;l=1,2,?,Sj;yi∈{c1,c2,?,ck}j=1,2,\cdots,n;l=1,2,\cdots,S_j;y_i\in\{c_1,c_2,\cdots,c_k\}j=1,2,?,n;l=1,2,?,Sj?;yi?∈{c1?,c2?,?,ck?};實例xxx; - 輸出:實例xxx的分類
(1)計算先驗概率及條件概率
P(Y=ck)=∑i=1NI(yi=ck)N,k=1,2,?,KP(Y=c_k)={{\sum_{i=1}^NI(y_i=c_k)}\over{N}},k=1,2,\cdots,KP(Y=ck?)=N∑i=1N?I(yi?=ck?)?,k=1,2,?,K
P(X(j)=ajl∣Y=ck)=∑i=1NI(xi(j)=ajl,yi=ck)∑i=1NI(yi=ck)P(X^{(j)}=a_{jl}|Y=c_k)={{\sum_{i=1}^NI(x_i^{(j)}=a_{jl},y_i=c_k)}\over{\sum_{i=1}^NI(y_i=c_k)}}P(X(j)=ajl?∣Y=ck?)=∑i=1N?I(yi?=ck?)∑i=1N?I(xi(j)?=ajl?,yi?=ck?)?
j=1,2,?,n;l=1,2,?,Sj;k=1,2,?,Kj=1,2,\cdots,n;l=1,2,\cdots,S_j;k=1,2,\cdots,Kj=1,2,?,n;l=1,2,?,Sj?;k=1,2,?,K
(2)對于給定實例x=(x(1),x(2),?,x(n))Tx=(x^{(1)},x^{(2)},\cdots,x^{(n)})^Tx=(x(1),x(2),?,x(n))T,計算P(Y=ck)∏j=1nP(X(j)=x(j)∣Y=ck),k=1,2,?,KP(Y=c_k)\prod_{j=1}^nP(X^{(j)}=x^{(j)}|Y=c_k),k=1,2,\cdots,KP(Y=ck?)j=1∏n?P(X(j)=x(j)∣Y=ck?),k=1,2,?,K
(3)確定實例xxx的類
y=argmaxckP(Y=ck)∏j=1nP(X(j)=x(j)∣Y=ck)y=arg\space max_{c_k} P(Y=c_k)\prod_{j=1}^nP(X^{(j)}=x^{(j)}|Y=c_k)y=arg?maxck??P(Y=ck?)j=1∏n?P(X(j)=x(j)∣Y=ck?)
4.2.3 貝葉斯估計
- 用極大似然估計可能會出現(xiàn)所要估計的概率值為0的情況。這時會影響到后驗概率的計算結(jié)果,使分類產(chǎn)生偏差。解決這一問題的方法是采用貝葉斯估計。具體地,條件概率的貝葉斯估計是Pλ(X(j)=ajl∣Y=ck)=∑i=1NI(xi(j)=ajl,yi=ck)+λ∑i=1NI(yi=ck)+SjλP_{\lambda}(X^{(j)}=a_{jl}|Y=c_k)={{\sum_{i=1}^NI(x_i^{(j)}=a_{jl},y_i=c_k)+\lambda}\over{\sum_{i=1}^NI(y_i=c_k)+S_j\lambda}}Pλ?(X(j)=ajl?∣Y=ck?)=∑i=1N?I(yi?=ck?)+Sj?λ∑i=1N?I(xi(j)?=ajl?,yi?=ck?)+λ?式中λ≥0\lambda \ge0λ≥0.等價于在隨機變量各個取值的頻數(shù)上賦予一個正數(shù) λ>0\lambda\gt0λ>0.當(dāng)λ=0\lambda=0λ=0時,就是極大似然估計。常取λ=1\lambda=1λ=1,這時稱為拉普拉斯平滑。顯然,對任何l=1,2,?,Sj,k=1,2,?,Kl=1,2,\cdots,S_j,k=1,2,\cdots,Kl=1,2,?,Sj?,k=1,2,?,K;有
Pλ(X(j)=ajl∣Y=ck)>0P_{\lambda}(X^{(j)}=a_{jl}|Y=c_k)>0Pλ?(X(j)=ajl?∣Y=ck?)>0
∑(l=1)SjP(X(j)=ajl∣Y=ck)=1\sum_{(l=1)}^{S_j}P(X^{(j)}=a_{jl}|Y=c_k)=1(l=1)∑Sj??P(X(j)=ajl?∣Y=ck?)=1
先驗概率的貝葉斯估計是Pλ(Y=ck)=∑i=1NI(yi=ck)+λN+KλP_{\lambda}(Y=c_k)={{\sum_{i=1}^N}I(y_i=c_k)+\lambda\over{N+K\lambda}}Pλ?(Y=ck?)=N+Kλ∑i=1N?I(yi?=ck?)+λ?
本章概要
=∏j=1nP(X(j)=x(j)∣Y=ck)=\prod_{j=1}^nP(X^{(j)}=x^{(j)}|Y=c_k)=j=1∏n?P(X(j)=x(j)∣Y=ck?)這是一個較強的假設(shè)。由于這一假設(shè),模型包含的條件概率的數(shù)量大為減少,樸素貝葉斯法的學(xué)習(xí)與預(yù)測大為簡化。因而樸素貝葉斯法高效且易于實現(xiàn)。其缺點是分類的性能不一定很高。
總結(jié)
以上是生活随笔為你收集整理的机器学习理论《统计学习方法》学习笔记:第四章 朴素贝叶斯法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器学习理论《统计学习方法》学习笔记:第
- 下一篇: 计算机视觉:卷积神经网络基础