Andrew Ng机器学习课程6
Andrew Ng機(jī)器學(xué)習(xí)課程6
說(shuō)明
在前面跟隨者臺(tái)大機(jī)器學(xué)習(xí)基石課程和機(jī)器學(xué)習(xí)技法課程的設(shè)置,對(duì)機(jī)器學(xué)習(xí)所涉及到的大部分的知識(shí)有了一個(gè)較為全面的了解,但是對(duì)于沒(méi)有動(dòng)手寫程序并加以使用的情況,基本上是不可能掌握好的。特別是我的學(xué)習(xí)進(jìn)程是突擊式的,因此,會(huì)很快忘掉,心中只剩下一個(gè)基本的綱要,所以后面要通過(guò)講解更為詳細(xì)的Andrew Ng教授的機(jī)器學(xué)習(xí)課程進(jìn)行回顧和總結(jié),希望能夠抓住它的來(lái)龍去脈。所以總結(jié)的內(nèi)容主要是推導(dǎo)的思路,只要能夠把握住思路,就能保持長(zhǎng)久的記憶。
主要內(nèi)容
樸素貝葉斯分類器
1. 垃圾郵件特征提取方法
通過(guò)垃圾郵件的篩選,介紹了樸素貝葉斯分類器。對(duì)于垃圾郵件,建立一個(gè)垃圾郵件中經(jīng)常出現(xiàn)的詞的字典,用于將一封郵件通過(guò)這個(gè)字典轉(zhuǎn)換為特征向量,這個(gè)特征向量的長(zhǎng)度等于字典中詞的個(gè)數(shù)N=5000,且其每一個(gè)位置上的值僅取“1”或“0”,表示對(duì)應(yīng)位置上是否出現(xiàn)了垃圾詞。
2. 樸素貝葉斯假設(shè)與樸素貝葉斯分類器
已經(jīng)得到了特征矢量,我們要構(gòu)建一個(gè)generative model。這里先說(shuō)明一下先驗(yàn)概率與后驗(yàn)概率的含義:
先驗(yàn)概率是指基于先驗(yàn)知識(shí)所得到某一件事情發(fā)生或出現(xiàn)的概率,通常采用大數(shù)據(jù)統(tǒng)計(jì)就可以得到先驗(yàn)概率。比如罹患肝癌(y)的概率,通過(guò)統(tǒng)計(jì)醫(yī)院的資料,可以計(jì)算出先驗(yàn)概率p(y)來(lái)。而后驗(yàn)概率則是指當(dāng)某一件事情已經(jīng)發(fā)生或出現(xiàn),回推導(dǎo)致這件事情發(fā)生的因素的概率。比如某人已經(jīng)查出罹患肝癌(y),而導(dǎo)致肝癌發(fā)生的因素有x={酒精、多脂肪、病毒、毒素},即后驗(yàn)概率就是指p(x|y)。
然后再說(shuō)明一下機(jī)器學(xué)習(xí)中兩種不同的model:
discrimination model和generative model, 兩者的區(qū)別在于對(duì)概率密度的建模上:以二分類問(wèn)題為例,樣本特征矢量為x,樣本標(biāo)簽為y,y∈{?1,+1},discrimination model是直接對(duì)p(y|x)進(jìn)行建模,類似logistic regression,思路就是從已知的樣本集(x,y)中直接學(xué)習(xí)出給定x,輸出y為1的概率是多少。等于說(shuō)是直接構(gòu)建以x為輸入?yún)?shù)的y的概率模型。而generative model則是先分別對(duì)p(x|y=0)和p(x|y=1)進(jìn)行建模,然后再通過(guò)后驗(yàn)概率公式(貝葉斯公式)計(jì)算得到:
p(y=1|x)=p(x|y=1)×p(y=1)p(x)p(y=0|x)=p(x|y=0)×p(y=0)p(x),這樣就考慮了樣本的產(chǎn)生模型p(y),同時(shí)除去分母是不影響判斷的,所以實(shí)際上generative model是對(duì)聯(lián)合概率密度進(jìn)行的建模p(y,x)=p(x|y)×p(y)。而對(duì)于discrimination model則沒(méi)有考慮樣本的生成模型,或者說(shuō)是認(rèn)為樣本生成模型是均勻分布的。通常對(duì)于generative model要求樣本無(wú)窮大或盡可能大,而discrimination model則不需要。為了對(duì)p(x|y)進(jìn)行建模,引入了一個(gè)非常強(qiáng)的假設(shè),即假設(shè)給定y的情況下,xi是條件獨(dú)立的,即每個(gè)xi之間是沒(méi)有約束關(guān)系的。這個(gè)假設(shè)叫做樸素貝葉斯假設(shè)(Naive Bayes assumption),而這樣得到的學(xué)習(xí)算法就叫做樸素貝葉斯分類器。
3. 垃圾郵件的樸素貝葉斯分類器
接著對(duì)垃圾郵件進(jìn)行建模,有:
很顯然,建立的模型的參數(shù)為p(xi|y)和p(y)。聯(lián)合概率密度的似然函數(shù)為:
L(?y,?j|y=0,?j|y=1)=∏i=1mp(x(i),y(i))
通過(guò)最大化聯(lián)合似然函數(shù),可以得到模型參數(shù)的最大似然估計(jì),從而構(gòu)建出如下模型:
p(y=1|x)=p(x|y=1)×p(y=1)p(x)=(∏ni=1p(xi|y=1))×p(y=1)p(x)p(y=0|x)=p(x|y=0)×p(y=0)p(x)=(∏ni=1p(xi|y=0))×p(y=0)p(x)
選擇具有最高后驗(yàn)概率的class作為判定依據(jù)。
Ng教授繪制了一種通常的情況用于說(shuō)明通過(guò)典型的generative model :GDA(Gaussian Discrimination Analysis model)方法建立的兩類后驗(yàn)概率,生成分類邊界實(shí)際上與logistic regression的邊界一樣。這說(shuō)明了兩種模型實(shí)際上是有共通之處的,就是上面說(shuō)過(guò)的如果忽略了樣本的產(chǎn)生模型p(y)兩者基本上是類似的。
拉普拉斯平滑
在處理一些還沒(méi)有出現(xiàn)或發(fā)生過(guò)的事件A時(shí),如果采用上面那種聯(lián)合似然函數(shù)估計(jì)出來(lái)的p(A)=0,這是不合理的,因?yàn)橹皇窃谟邢薜挠?xùn)練集中沒(méi)有看到這個(gè)事件發(fā)生,并不代表它一定不發(fā)生,即p(A)=0。這個(gè)時(shí)候采用laplace smoothing會(huì)有更好的估計(jì)效果。以估計(jì)一個(gè)多項(xiàng)隨機(jī)變量z∈{1,2,...,k}的均值情況為例,多項(xiàng)分布的參數(shù)為?i=p(z=i),假定m個(gè)獨(dú)立的觀測(cè)值{z(1),...,z(m)},很簡(jiǎn)單地得到最大似然估計(jì)為:
如前面所講,如果使用最大似然估計(jì),很有可能一些?i=p(z=i)會(huì)是0。為了克服這個(gè)問(wèn)題,使用laplace smoothing取代上面的估計(jì):
?i=∑mi+11{z(i)=j}+1m+k
laplace smoothing的效果就是使在觀測(cè)值中沒(méi)有出現(xiàn)的事件的概率估計(jì)保持一定的小概率出現(xiàn),而不是直接認(rèn)定概率為0。
事件模型
對(duì)于上面構(gòu)建垃圾郵件分類器,實(shí)際上丟掉了一些信息,即沒(méi)有考慮文本的上下文。Naive Bayes采用multi-variable Bernoulli event model可以解決這樣的問(wèn)題。認(rèn)為郵件是這樣產(chǎn)生的:首先根據(jù)先驗(yàn)概率p(y)隨機(jī)生成郵件或垃圾郵件,然后發(fā)送郵件的人遍歷這個(gè)垃圾郵件的字典,根據(jù)概率p(xi=1|y)=?i|y獨(dú)立決定是否包含第i個(gè)word。所以,這個(gè)message的概率為:
而multinomial event model是一個(gè)不同的模型,將具有n個(gè)words的email表示為(xi)(n),不同的郵件的words的長(zhǎng)度n可以不同。xi表示的是這個(gè)email的第i個(gè)word是字典中的第x_i個(gè)word的索引index。所以message的概率為:
p(y)∏i=1np(xi|y)
雖然multi-variable Bernoulli event model與multinomial event model得到的概率模型在公式上表現(xiàn)了相同,但是具體的含義卻差別很大,multinomial event model中的xi|y表示的是一個(gè)多項(xiàng)分布,而ulti-variable Bernoulli event model中的xi|y表示的是一個(gè)bernoulli分布。
神經(jīng)網(wǎng)絡(luò)模型
Ng教授通過(guò)兩個(gè)視頻的例子說(shuō)明了神經(jīng)網(wǎng)絡(luò)模型的力量,一個(gè)是手寫體的識(shí)別,另一個(gè)是模擬小孩說(shuō)話聲音。都表現(xiàn)出了很好的性能。神經(jīng)網(wǎng)絡(luò)是在logistic regression的基礎(chǔ)上引入的,采用sigmoid函數(shù)作為激活函數(shù)。神經(jīng)網(wǎng)絡(luò)最大的缺點(diǎn)就是變量太多,導(dǎo)致很容易陷入局部最優(yōu)。神經(jīng)網(wǎng)絡(luò)的部分,可以參看我的其他博客文章神經(jīng)網(wǎng)絡(luò)模型的總結(jié),有很深入的介紹。
支持向量機(jī)的開(kāi)篇
Ng教授對(duì)支撐向量機(jī)(support vector machine)是從線性可分問(wèn)題入手的,介紹了怎樣的分類邊界是好的。對(duì)于logistic regression,當(dāng)θTX遠(yuǎn)大于0時(shí),就有很大的confidence認(rèn)為y=+1,而當(dāng)θTX遠(yuǎn)小于0時(shí),就有很大的confidence認(rèn)為y=?1。從而引入了兩個(gè)margin,一個(gè)是function margin,另一個(gè)是geometry margin。定義了點(diǎn)(xi,yi)到超平面(w,b)的距離作為function margin: function margin=y(i)(wTx+b),我們求取所有點(diǎn)到?jīng)Q策平面的距離中的最小值作為樣本到?jīng)Q策平面的距離。剩下要做的就是maximize 這個(gè)margin。樣本是固定的,而決策超平面是不定的,是由參數(shù)(w,b)決定的。我們所要做的就是調(diào)整(w,b),而如果參數(shù)同時(shí)放大時(shí),這個(gè)margin也會(huì)放大,這樣最大化就沒(méi)意義了。所以,定義了geometric margins,約束||w||=1,從而得到了如下的公式化的優(yōu)化問(wèn)題:
2015-8-23
藝少
轉(zhuǎn)載于:https://www.cnblogs.com/huty/p/8519223.html
總結(jié)
以上是生活随笔為你收集整理的Andrew Ng机器学习课程6的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: const与#define的异同
- 下一篇: 【转】找到 MySQL 数据库中的不良索