本講大綱:
1.生成學(xué)習(xí)算法(Generative learning algorithm)
2.高斯判別分析(GDA朗伶,Gaussian Discriminant Analysis)
3.樸素貝葉斯(Naive Bayes)
4.拉普拉斯平滑(Laplace smoothing)
1.生成學(xué)習(xí)算法
判別學(xué)習(xí)算法(discriminative learning algorithm):直接學(xué)習(xí)p(y|x)(比如說logistic回歸)或者說是從輸入直接映射到{0,1}.
生成學(xué)習(xí)算法(generative learning algorithm):對p(x|y)(和p(y))進(jìn)行建模.
簡單的來說材鹦,判別學(xué)習(xí)算法的模型是通過一條分隔線把兩種類別區(qū)分開,而生成學(xué)習(xí)算法是對兩種可能的結(jié)果分別進(jìn)行建模,然后分別和輸入進(jìn)行比對羽资,計(jì)算出相應(yīng)的概率惊搏。
比如說良性腫瘤和惡性腫瘤的問題,對良性腫瘤建立model1(y=0)仪搔,對惡性腫瘤建立model2(y=1)瘾婿,p(x|y=0)表示是良性腫瘤的概率,p(x|y=1)表示是惡性腫瘤的概率.
根據(jù)貝葉斯公式(Bayes rule)推導(dǎo)出y在給定x的概率為:
</br>
2.高斯判別分析 GDA
GDA是我們要學(xué)習(xí)的第一個生成學(xué)習(xí)算法.
GDA的兩個假設(shè):
假設(shè)輸入特征x∈Rn,并且是連續(xù)值;
p(x|y)是多維正態(tài)分布(multivariate normal distribution);
2.1 多維正態(tài)分布
若x服從多維正態(tài)分布(也叫多維高斯分布)僻造,均值向量(mean vector)
均值:
高斯分布的一些例子:
左圖均值為零(21的零向量)髓削,協(xié)方差矩陣為單位矩陣I(22)(成為標(biāo)準(zhǔn)正態(tài)分布). 中圖協(xié)方差矩陣為0.6I竹挡, 右圖協(xié)方差矩陣為2I
2.2 高斯判別分析模型
模型的參數(shù)為φ立膛,μ0揪罕,μ1梯码,∑,
求出最大似然估計(jì)為:
結(jié)果如圖所示:
注:這張圖很好地描述了GDA的過程:上面的小點(diǎn)就是訓(xùn)練樣本好啰,我們會對正樣本(圖中的x樣本)擬合出一個高斯分布轩娶,這個高斯分布表示了 p(x|y=1)。之后再觀察負(fù)樣本(圖中的o樣本),擬合出一個高斯分布框往,這個高斯分布表示了 p(x|y=0)鳄抒。然后這兩個高斯分布的密度函數(shù)可以定義出兩個類別的分隔器。這個分隔器比邏輯回歸得到的直線要更復(fù)雜一些椰弊。
1.3 討論GDA和logistic回歸
GDA模型和logistic回歸有一個很有意思的關(guān)系. 如果把
關(guān)于模型的選擇: 剛才說到如果p(x|y)是一個多維的高斯分布秉版,那么p(y|x)必然能推出一個logistic函數(shù)贤重;反之則不正確,p(y|x)是一個logistic函數(shù)并不能推出p(x|y)服從高斯分布.這說明GDA比logistic回歸做了更強(qiáng)的模型假設(shè).
如果p(x|y)真的服從或者趨近于服從高斯分布清焕,則GDA比logistic回歸效率高.
當(dāng)訓(xùn)練樣本很大時并蝗,嚴(yán)格意義上來說并沒有比GDA更好的算法(不管預(yù)測的多么精確).
事實(shí)證明即使樣本數(shù)量很小,GDA相對logisic都是一個更好的算法.
但是秸妥,logistic回歸做了更弱的假設(shè)滚停,相對于不正確的模型假設(shè),具有更好的魯棒性(robust).許多不同的假設(shè)能夠推出logistic函數(shù)的形式. 比如說粥惧,如果#
3.樸素貝葉斯
在GDA模型中镰吵,特征向量x是連續(xù)的實(shí)數(shù)向量.如果x是離散值,我們需要另一種學(xué)習(xí)算法了.
例子:垃圾郵件分類問題 首先是把一封郵件作為輸入特征挂签,與已有的詞典進(jìn)行比對疤祭,如果出現(xiàn)了該詞,則把向量的xi=1,否則xi=0,例如:
我們要對p(x|y)建模饵婆,但是假設(shè)我們的詞典有50000個詞勺馆,那么
為了對p(x|y)建模搓译,我們做一個很強(qiáng)的假設(shè)悲柱,假設(shè)給定y,xi是條件獨(dú)立(conditionally independent)的.這個假設(shè)成為樸素貝葉斯假設(shè)(Naive Bayes assumption).
因此有:
意思就是比如垃圾郵件分類些己,一些詞的出現(xiàn)與否并不影響你對另一些詞出現(xiàn)與否的判斷豌鸡。雖然說樸素貝葉斯假設(shè)是很強(qiáng)的(因?yàn)閷?shí)際上是有影響的)嘿般,但是其實(shí)這個算法在很多問題都工作的很好.
模型參數(shù)包括:
聯(lián)合似然性(joint likelihood)為:
很容易計(jì)算:
樸素貝葉斯的問題: 假設(shè)在一封郵件中出現(xiàn)了一個以前郵件從來沒有出現(xiàn)的詞,在詞典的位置是35000涯冠,那么得出的最大似然估計(jì)為:
在統(tǒng)計(jì)上來說瞻赶,在你有限的訓(xùn)練集中沒有見過就認(rèn)為概率是0是不科學(xué)的.
</br>
4.laplace平滑
為了避免樸素貝葉斯的上述問題,我們用laplace平滑來優(yōu)化這個問題.回到樸素貝葉斯問題派任,通過laplace平滑:
分子加1共耍,分母加1就把分母為零的問題解決了.
</br>
擴(kuò)展
1. 生成模型和判別模型的區(qū)別
有監(jiān)督機(jī)器學(xué)習(xí)方法可以分為生成方法和判別方法
- 常見的生成方法有混合高斯模型、樸素貝葉斯法和隱形馬爾科夫模型等
- 常見的判別方法有SVM吨瞎、LR等)
需要估計(jì)joint distribution的是generative model, 直接估計(jì)conditional distribution的是discriminative model。GMM 是一個典型的generative model, 它估計(jì)的是不同feature的聯(lián)合分布穆咐。
生成方法學(xué)習(xí)出的是生成模型颤诀,判別方法學(xué)習(xí)出的是判別模型。
判別模型
求解的思路是:
條件分布------>模型參數(shù)后驗(yàn)概率最大------->(似然函數(shù)參數(shù)先驗(yàn))最大------->最大似然-
優(yōu)點(diǎn)
3)由于直接學(xué)習(xí)
1)與生成模型缺點(diǎn)對應(yīng)对湃,首先是節(jié)省計(jì)算資源崖叫,另外,需要的樣本數(shù)量也少于生成模型拍柒。
2)準(zhǔn)確率往往較生成模型高心傀。
P(\tilde{c}|\tilde{x} ) 缺點(diǎn)
沒有生成模型的上述優(yōu)點(diǎn)宰翅。
生成模型
求解思路是:
以樸素貝葉斯為例,聯(lián)合分布------->求解類別先驗(yàn)概率和類別條件概率優(yōu)點(diǎn)
- 生成給出的是聯(lián)合分布爽室,不僅能夠由聯(lián)合分布計(jì)算條件分布(反之則不行)汁讼,還可以給出其他信息,比如可以使用P(x)=求和(P(x|ci)) 來計(jì)算邊緣分布P(x)阔墩。如果一個輸入樣本的邊緣分布P(x)很小的話嘿架,那么可以認(rèn)為學(xué)習(xí)出的這個模型可能不太適合對這個樣本進(jìn)行分類,分類效果可能會不好啸箫,這也是所謂的outlier detection耸彪。
2)生成模型收斂速度比較快,即當(dāng)樣本數(shù)量較多時忘苛,生成模型能更快地收斂于真實(shí)模型搜囱。
3)生成模型能夠應(yīng)付存在隱變量的情況丑瞧,比如混合高斯模型就是含有隱變量的生成方法。
- 缺點(diǎn)
1)聯(lián)合分布是能提供更多的信息蜀肘,但也需要更多的樣本和更多計(jì)算绊汹,尤其是為了更準(zhǔn)確估計(jì)類別條件分布,需要增加樣本的數(shù)目扮宠,而且類別條件概率的許多信息是我們做分類用不到西乖,因而如果我們只需要做分類任務(wù),就浪費(fèi)了計(jì)算資源坛增。
2)另外获雕,實(shí)踐中多數(shù)情況下判別模型效果更好。
3)對數(shù)據(jù)分布做出的假設(shè)要求更強(qiáng)收捣,魯棒性較差届案。