生活中处处有贝叶斯
摘要:貝葉斯方法對(duì)于由證據(jù)的積累來推測(cè)一個(gè)事物發(fā)生的概率具有重大作用,它告訴我們當(dāng)我們要預(yù)測(cè)一個(gè)事物,我們需要的是首先根據(jù)已有的經(jīng)驗(yàn)和知識(shí)推斷一個(gè)先驗(yàn)概率,然后在新證據(jù)不斷積累的情況下調(diào)整這個(gè)概率。用貝葉斯分析的方法,可以幫助我們解決生活中方方面面的問題,尤其在我們未來將有可能深入了解的機(jī)器學(xué)習(xí),大數(shù)據(jù)挖掘,以及相關(guān)工程性問題中,有著極其重要的地位,接下來就讓我們走進(jìn)貝葉斯方法,通過一系列的例子來了解其含義及應(yīng)用。
>>>>
文章主線:
①引出貝葉斯方法的含義(1)。
②通過模型比較理論體現(xiàn)出貝葉斯方法的優(yōu)勢(shì)所在(2)。
③最后通過中文分詞、機(jī)器翻譯、最大似然與最小二乘、機(jī)器學(xué)習(xí)這幾個(gè)實(shí)例來說明貝葉斯方法運(yùn)用的普遍性(3)。
1.?貝葉斯學(xué)派與頻率主義學(xué)派
簡(jiǎn)單說來,貝葉斯學(xué)派認(rèn)為,概率是一個(gè)人對(duì)于一件事的信念強(qiáng)度,概率是主觀的。但頻率主義學(xué)派所持的是不同的觀念:他們認(rèn)為參數(shù)是客觀存在的,即使是未知的,但都是固定值,不會(huì)改變。我參閱了一些資料,嘗試以我們以前課堂上所學(xué)的概率論來解釋一下,頻率學(xué)派認(rèn)為進(jìn)行一定數(shù)量的重復(fù)實(shí)驗(yàn)后,如果出現(xiàn)某個(gè)現(xiàn)象的次數(shù)與總次數(shù)趨于某個(gè)值,那么這個(gè)比值就會(huì)傾向于固定。最簡(jiǎn)單的例子就是拋硬幣了,在理想情況下,我們知道拋硬幣正面朝上的概率會(huì)趨向于1/2。非常好理解不是么?但貝葉斯提出了一種截然不同的觀念,他認(rèn)為概率不應(yīng)該這么簡(jiǎn)單地計(jì)算,而需要加入先驗(yàn)概率的考慮。先驗(yàn)概率也就是說,我們先設(shè)定一個(gè)假設(shè)(或信念,belief)。然后我們通過一定的實(shí)驗(yàn)來證明/推翻這個(gè)假設(shè),這就是后驗(yàn)。隨后,舊的后驗(yàn)會(huì)成為一個(gè)新的先驗(yàn),如此重復(fù)下去。而歸根結(jié)底,就得到了這樣一個(gè)著名的公式:
P( A | B ) = P(B | A ) * P( A ) / P( B )
(A | B表示A給定B的概率,也就是說,如果B發(fā)生,A發(fā)生的可能性有多大。反之亦然。)
2.?模型比較理論(ModelComparasion)
2.1模型比較
實(shí)際上,模型比較就是去比較哪個(gè)模型(猜測(cè))更可能隱藏在觀察數(shù)據(jù)的背后。我們對(duì)用戶實(shí)際想輸入的單詞的猜測(cè)就是模型,用戶輸錯(cuò)的單詞就是觀測(cè)數(shù)據(jù)。通過P(h | D)?∝ P(h) * P(D | h)?我們可以比較哪個(gè)模型最為靠譜。有時(shí)候光靠 P(D | h)?(即“似然”)是不夠的,有時(shí)候還需要引入 P(h)?這個(gè)先驗(yàn)概率。因?yàn)樽畲笏迫坏牟聹y(cè),其可能先驗(yàn)概率非常小。但有些時(shí)候,我們對(duì)于先驗(yàn)概率一無所知,只能假設(shè)每種猜測(cè)的先驗(yàn)概率是均等的,這個(gè)時(shí)候就只有用最大似然了。實(shí)際上,統(tǒng)計(jì)學(xué)家和貝葉斯學(xué)家有一個(gè)有趣的爭(zhēng)論,統(tǒng)計(jì)學(xué)家說:我們讓數(shù)據(jù)自己說話。言下之意就是要摒棄先驗(yàn)概率。而貝葉斯支持者則說:數(shù)據(jù)會(huì)有各種各樣的偏差,而一個(gè)靠譜的先驗(yàn)概率則可以對(duì)這些隨機(jī)噪音做到健壯。事實(shí)證明貝葉斯派勝利了,勝利的關(guān)鍵在于所謂先驗(yàn)概率其實(shí)也是經(jīng)驗(yàn)統(tǒng)計(jì)的結(jié)果,譬如為什么我們會(huì)認(rèn)為絕大多數(shù)硬幣是基本公平的?為什么我們認(rèn)為大多數(shù)人的肥胖適中?為什么我們認(rèn)為膚色是種族相關(guān)的,而體重則與種族無關(guān)?先驗(yàn)概率里面的“先驗(yàn)”并不是指先于一切經(jīng)驗(yàn),而是僅指先于我們“當(dāng)前”給出的觀測(cè)數(shù)據(jù)而已,在硬幣的例子中先驗(yàn)指的只是先于我們知道投擲的結(jié)果這個(gè)經(jīng)驗(yàn),而并非“先天”。
不過有時(shí)候我們必須得承認(rèn),就算是基于以往的經(jīng)驗(yàn),我們手頭的“先驗(yàn)”概率還是均勻分布,這個(gè)時(shí)候就必須依賴用最大似然。可以用一個(gè)自然語言二義性問題來說明這一點(diǎn):The girl saw theboy with a telescope.到底是 The girlsaw-with-a-telescope the boy 這一語法結(jié)構(gòu),還是 The girl sawthe-boy-with-a-telescope 呢?兩種語法結(jié)構(gòu)的常見程度都差不多。如果語法結(jié)構(gòu)是 The girl sawthe-boy-with-a-telecope 的話,怎么那個(gè)男孩偏偏手里拿的就是望遠(yuǎn)鏡?這也太小概率了吧。所以唯一的解釋是,這個(gè)“巧合”背后肯定有它的必然性,這個(gè)必然性就是,如果我們將語法結(jié)構(gòu)解釋為 The girlsaw-with-a-telescope the boy 的話,就跟數(shù)據(jù)完美吻合了——既然那個(gè)女孩是用某個(gè)東西去看這個(gè)男孩的,那么這個(gè)東西是一個(gè)望遠(yuǎn)鏡就完全可以解釋了(不再是小概率事件了)。
2.2?最小描述長(zhǎng)度原則
貝葉斯模型比較理論與信息論有一個(gè)有趣的關(guān)聯(lián):P(h | D)∝P(h) * P(D | h)
兩邊求對(duì)數(shù),將右式的乘積變成相加:ln P(h | D)?∝ ln P(h) + ln P(D | h)。顯然,最大化 P(h | D)?也就是最大化 ln P(h | D)。而 ln P(h) + ln P(D | h)?則可以解釋為模型(或者稱“假設(shè)”、“猜測(cè)”)h 的編碼長(zhǎng)度加上在該模型下數(shù)據(jù) D 的編碼長(zhǎng)度。使這個(gè)和最小的模型就是最佳模型。
2.3?最優(yōu)貝葉斯推理
推理分為兩個(gè)過程,第一步是對(duì)觀測(cè)數(shù)據(jù)建立一個(gè)模型。第二步則是使用這個(gè)模型來推測(cè)未知現(xiàn)象發(fā)生的概率。前面講的都是對(duì)于觀測(cè)數(shù)據(jù)給出最靠譜的那個(gè)模型。然而很多時(shí)候,雖然某個(gè)模型是所有模型里面最靠譜的,但是別的模型也并不是一點(diǎn)機(jī)會(huì)都沒有。很多時(shí)候我們建立模型是為了推測(cè)未知的事情的發(fā)生概率,這個(gè)時(shí)候,不同的模型對(duì)未知的事情發(fā)生的概率都會(huì)有自己的預(yù)測(cè),僅僅因?yàn)槟骋粋€(gè)模型概率稍大就只取它一個(gè)就太不科學(xué)了。所謂的最優(yōu)貝葉斯推理就是將多個(gè)模型對(duì)于未知數(shù)據(jù)的預(yù)測(cè)結(jié)論加權(quán)平均起來(權(quán)值就是模型相應(yīng)的概率)。這個(gè)推理已經(jīng)把所有可能性都考慮進(jìn)去,但由于計(jì)算模型可能非常費(fèi)時(shí)間,它僅僅被視為一個(gè)理論基準(zhǔn)。
3.?無處不在的貝葉斯
3.1?中文分詞
貝葉斯是機(jī)器學(xué)習(xí)的核心方法之一。比如中文分詞領(lǐng)域就用到了貝葉斯。Google 研究員吳軍在《數(shù)學(xué)之美》系列中就有一篇是介紹中文分詞的:
分詞問題的描述為:給定一個(gè)句子(字串),如:南京市長(zhǎng)江大橋
1.?南京市/長(zhǎng)江大橋
2.?南京/市長(zhǎng)/江大橋
這兩個(gè)分詞,到底哪個(gè)更靠譜呢?我們用貝葉斯公式來形式化地描述這個(gè)問題,令 X 為字串,Y 為詞串。我們就是需要尋找使得 P(Y|X)?最大的Y,使用一次貝葉斯可得:P(Y|X)∝P(Y)*P(X|Y)
用自然語言來說就是:這種分詞方式的可能性乘以這個(gè)詞串生成我們的句子的可能性。進(jìn)一步容易看到:可以近似地將 P(X|Y)?看作是恒等于 1 的,因?yàn)槿我饧傧氲囊环N分詞方式之下生成我們的句子總是精準(zhǔn)地生成的(只需把分詞之間的分界符號(hào)扔掉即可)。于是,我們就變成了去最大化 P(Y)?,也就是尋找一種分詞使得這個(gè)詞串的概率最大化。而如何計(jì)算一個(gè)詞串:W1, W2, W3, W4 ..的可能性呢?我們知道,根據(jù)聯(lián)合概率的公式展開:P(W1, W2, W3, W4 ..)=P(W1)*P(W2|W1)*P(W3|W2, W1)*P(W4|W1,W2,W3) *... 可以通過一系列的條件概率(右式)的乘積來求整個(gè)聯(lián)合概率。
不幸的是,隨著條件數(shù)目的增加,數(shù)據(jù)稀疏問題也會(huì)越來越嚴(yán)重,即便語料庫再大也無法統(tǒng)計(jì)出一個(gè)靠譜的 P(Wn|Wn-1,Wn-2,..,W1)來。為了緩解這個(gè)問題,計(jì)算機(jī)科學(xué)家們用了“有限地平線”假設(shè):假設(shè)句子中一個(gè)詞的出現(xiàn)概率只依賴于它前面的有限的 k 個(gè)詞(k一般不超過 3)。雖然這個(gè)假設(shè)很天真,但結(jié)果卻表明它的結(jié)果往往是很好很強(qiáng)大的。有了這個(gè)假設(shè),剛才那個(gè)乘積就可以改寫成:P(W1) *P(W2|W1) * P(W3|W2) * P(W4|W3) .. (假設(shè)每個(gè)詞只依賴于它前面的一個(gè)詞)。統(tǒng)計(jì) P(W2|W1)?就不再受到數(shù)據(jù)稀疏問題的困擾了。對(duì)于我們上面提到的例子“南京市長(zhǎng)江大橋”,如果按照自左到右的貪婪方法分詞的話,結(jié)果就成了“南京市長(zhǎng)/江大橋”。但如果按照貝葉斯分詞的話(假設(shè)使用 3-gram),由于“南京市長(zhǎng)”和“江大橋”在語料庫中一起出現(xiàn)的頻率為?0?,這個(gè)整句的概率便會(huì)被判定為?0?。從而使得“南京市/長(zhǎng)江大橋”這一分詞方式勝出。
有人可能會(huì)疑惑,難道我們?nèi)祟愐彩腔谶@些天真的假設(shè)來進(jìn)行推理的?不是的。事實(shí)上,統(tǒng)計(jì)機(jī)器學(xué)習(xí)方法所統(tǒng)計(jì)的東西往往處于相當(dāng)表層的層面,在這個(gè)層面機(jī)器學(xué)習(xí)只能看到一些非常表面的現(xiàn)象,有一點(diǎn)科學(xué)研究的理念的人都知道:越是往表層去,世界就越是繁復(fù)多變。從機(jī)器學(xué)習(xí)的角度來說,特征就越多,成百上千維度都是可能的。特征一多,高維詛咒就產(chǎn)生了,數(shù)據(jù)就很稀疏,不夠用。而人類的觀察水平顯然比機(jī)器學(xué)習(xí)的觀察水平要更深入一些,為了避免數(shù)據(jù)稀疏我們不斷地發(fā)明各種裝置(最典型就是顯微鏡),來幫助我們直接深入到更深層的事物層面去觀察更本質(zhì)的聯(lián)系,而不是在淺層對(duì)表面現(xiàn)象作統(tǒng)計(jì)歸納。舉一個(gè)簡(jiǎn)單的例子,通過對(duì)大規(guī)模語料庫的統(tǒng)計(jì),機(jī)器學(xué)習(xí)可能會(huì)發(fā)現(xiàn)這樣一個(gè)規(guī)律:所有的“他”都是不會(huì)穿裙子的,所有的“她”則都是會(huì)穿的。然而,作為一個(gè)男人,卻完全無需進(jìn)行任何統(tǒng)計(jì)學(xué)習(xí),因?yàn)樯顚拥囊?guī)律就決定了他們根本不會(huì)去穿裙子。至于機(jī)器學(xué)習(xí)能不能完成后者的推理,則是人工智能領(lǐng)域的經(jīng)典問題。至少在那之前,統(tǒng)計(jì)學(xué)習(xí)方法是不可能終結(jié)科學(xué)研究的。
3.2?統(tǒng)計(jì)機(jī)器翻譯
統(tǒng)計(jì)機(jī)器翻譯的問題可以描述為:給定一個(gè)句子e,它的可能的外文翻譯f 中哪個(gè)是最靠譜的。即我們需要計(jì)算:P(f|e)?。一旦出現(xiàn)條件概率,貝葉斯總是挺身而出:P(f|e)?∝ P(f) * P(e|f),這個(gè)式子的右端很容易解釋:那些先驗(yàn)概率較高,并且更可能生成句子 e 的外文句子 f 將會(huì)勝出。我們只需簡(jiǎn)單統(tǒng)計(jì)就可以得到任意一個(gè)外文句子 f 的出現(xiàn)概率。
然而 P(e|f)?卻不是那么好求的。假設(shè) e 為:John loves Mary,首選f是:Jean aime Marie。為了求出 P(e|f),我們需要考慮 e 和 f 有多少種對(duì)齊的可能性。為什么要對(duì)齊,是因?yàn)橐坏?duì)齊了之后,就可以容易地計(jì)算在這個(gè)對(duì)齊之下的 P(e|f)?是多大,只需計(jì)算:P(John|Jean) * P(loves|aime) * P(Marie|Mary)即可。然后我們遍歷所有的對(duì)齊方式,并將每種對(duì)齊方式之下的翻譯概率∑求和。便可以獲得整個(gè)的 P(e|f)?是多大。
3.3?最大似然與最小二乘
學(xué)過線性代數(shù)的同學(xué)都知道用經(jīng)典的最小二乘方法來做線性回歸。問題描述是:給定平面上N 個(gè)點(diǎn),找出一條最佳描述了這些點(diǎn)的直線。一個(gè)接踵而來的問題就是,如何定義最佳?我們?cè)O(shè)每個(gè)點(diǎn)的坐標(biāo)為?(Xi, Yi)。如果直線為 y = f(x),那么?(Xi, Yi)?跟直線對(duì)這個(gè)點(diǎn)的“預(yù)測(cè)”:(Xi, f(Xi))?就相差了一個(gè)ΔYi = |Yi–f(Xi)|。最小二乘就是說尋找直線使得誤差的平方和?(ΔY1)^2 + (ΔY2)^2 + ..最小,關(guān)于為什么是誤差的平方和而不是誤差的絕對(duì)值和這個(gè)問題,貝葉斯方法提供一個(gè)完美的解釋。
我們假設(shè)直線對(duì)于坐標(biāo) Xi 給出的預(yù)測(cè) f(Xi)?是最靠譜的預(yù)測(cè),所有縱坐標(biāo)偏離f(Xi)的那些數(shù)據(jù)點(diǎn)都含有噪音,是噪音使得它們偏離了完美的一條直線,一個(gè)合理的假設(shè)就是偏離路線越遠(yuǎn)的概率越小,具體小多少,可以用一個(gè)正態(tài)分布曲線來模擬,這個(gè)分布曲線以直線對(duì) Xi 給出的預(yù)測(cè) f(Xi)?為中心,實(shí)際縱坐標(biāo)為 Yi 的點(diǎn)?(Xi, Yi)?發(fā)生的概率就正比于 EXP[-(ΔYi)^2]。
我們要想最大化的后驗(yàn)概率是:P(h|D)?∝ P(h) * P(D|h)。這里 h 就是指一條特定的直線,D 就是指這 N 個(gè)數(shù)據(jù)點(diǎn)。我們需要尋找一條直線 h 使得 P(h) * P(D|h)?最大。很顯然,P(h)?這個(gè)先驗(yàn)概率是均勻的,因?yàn)槟臈l直線也不比另一條更優(yōu)越。所以只需看 P(D|h)?這一項(xiàng),它是指這條直線生成這些數(shù)據(jù)點(diǎn)的概率,前面說生成數(shù)據(jù)點(diǎn)?(Xi, Yi)?的概率為 EXP[-(ΔYi)^2]?乘以一個(gè)常數(shù)。而 P(D|h) =P(d1|h) * P(d2|h) * .. 即假設(shè)各個(gè)數(shù)據(jù)點(diǎn)是獨(dú)立生成的,所以可以把每個(gè)概率乘起來。因此生成 N 個(gè)數(shù)據(jù)點(diǎn)的概率為 EXP[-(ΔY1)^2] * EXP[-(ΔY2)^2] * EXP[-(ΔY3)^2] * .. = EXP{-[(ΔY1)^2 + (ΔY2)^2 + (ΔY3)^2 + ..]}?最大化這個(gè)概率就是要最小化?(ΔY1)^2 + (ΔY2)^2 + (ΔY3)^2 + ..
3.4統(tǒng)計(jì)建模
我們先將貝葉斯方法分為兩類:一為統(tǒng)計(jì)建模,另一個(gè)為概率機(jī)器學(xué)習(xí)。后者包括了所謂的非參數(shù)方法。
建模通常在數(shù)據(jù)稀缺且難以獲得時(shí)得以應(yīng)用,比如在社會(huì)科學(xué)和其它難以進(jìn)行大規(guī)模對(duì)照實(shí)驗(yàn)的環(huán)境中。想象一下,如果一個(gè)數(shù)據(jù)學(xué)家手頭只擁有少量的數(shù)據(jù),那么他會(huì)不遺余力地對(duì)算法進(jìn)行調(diào)整,以期讓每個(gè)數(shù)據(jù)都發(fā)揮最大的功用。
此外,對(duì)于小數(shù)據(jù)而言,最重要的是量化不確定性,這也正是貝葉斯方法所擅長(zhǎng)的。而貝葉斯方法——尤其是MCMC——通常計(jì)算量巨大,這又與小數(shù)據(jù)是共存的。在名為《Data Analysis Using Regression Analysis andMultilevel /Hierarchical Models》(http://www.stat.columbia.edu/~gelman/arm/)的書中,介紹了從一個(gè)沒有預(yù)測(cè)變量的線性模型開始,不斷增加到11個(gè)預(yù)測(cè)變量的情況并進(jìn)行討論。這種勞動(dòng)密集性模式實(shí)際上與我們的機(jī)器學(xué)習(xí)方向背道而馳,我們還是希望能使用數(shù)據(jù),讓計(jì)算機(jī)自動(dòng)學(xué)習(xí)。
3.5?概率機(jī)器學(xué)習(xí)
我們現(xiàn)在嘗試把“概率”一詞替換“貝葉斯”。從這個(gè)角度而言,它與其它分類方法并沒有區(qū)別。如果從分類考慮,大多數(shù)分類器都能夠輸出概率預(yù)測(cè),比如最經(jīng)典的SVM(支持變量機(jī))。但需要指出的是,這些概率只是源于分類器的信念陳述,而它們是否符合真實(shí)的概率則完全是另一回事了,這也就是所謂的校準(zhǔn)
貝葉斯非參數(shù)模型:接下來我們要說說貝葉斯非參數(shù)模型的一些內(nèi)容,顧名思義,這個(gè)名字代表著模型中的參數(shù)數(shù)量可以隨著數(shù)據(jù)的增大或減少而自適應(yīng)模型的變化。這與SVM有些相似,它能在訓(xùn)練點(diǎn)中選擇支持向量,而貝葉斯非參數(shù)模型也能根據(jù)數(shù)據(jù)多少來選擇參數(shù)確定模型。比較流行的貝葉斯非參數(shù)模型包括高斯回歸過程,還有隱含狄里克雷分布(LDA)。
高斯回歸過程:高斯回歸過程有點(diǎn)類似于SVM——采用內(nèi)核并具有類似的可伸縮性。其最大的特點(diǎn)在于回歸特性,分類做為事后的判斷,而對(duì)于SVM而言,這個(gè)過程是相反的。此外,GP是從頭開始進(jìn)行概率判斷,而SVM不是。大多數(shù)的常規(guī)方法只提供數(shù)據(jù)點(diǎn)估計(jì),而貝葉斯非參數(shù)模型則會(huì)輸出不確定性估計(jì)。高斯回歸過程的流行主要應(yīng)用于機(jī)器學(xué)習(xí)算法的超參數(shù)優(yōu)化上。數(shù)據(jù)非常小,也只有幾個(gè)參數(shù)需要調(diào)整。
?
后記:偶然間讀了數(shù)學(xué)之美上的一篇文章——《平凡而又神奇的貝葉斯方法》,在被貝葉斯方法這一工具驚艷到的同時(shí),也讓我明白了概率論與數(shù)理統(tǒng)計(jì)與實(shí)際生產(chǎn)生活的聯(lián)系之緊密。通過資料的查找,將概率論與未來可能深入學(xué)習(xí)的機(jī)器學(xué)習(xí)、大數(shù)據(jù)挖掘分析及互聯(lián)網(wǎng)相關(guān)領(lǐng)域聯(lián)系起來,讓我更加明晰其內(nèi)在含義與運(yùn)行機(jī)制。
?
參考資料:《數(shù)學(xué)之美番外篇——平凡而又神奇的貝葉斯方法》,以及Google、Wikipedia 上關(guān)于機(jī)器學(xué)習(xí),概率統(tǒng)計(jì)的示例及例子的條目。
—THE END—
編輯?∑Gemini
作者:G先生
文章推薦
?生活中處處的貝葉斯
?解密ln( )函數(shù)
?理解矩陣乘法
?無法理解五維空間?看這里就懂了,還有更高維度的空間解析
?感人至深:40歲博士畢業(yè),新任安徽省長(zhǎng)王清憲的博士論文后記
?年僅42歲!華科大痛失一位頂尖教授!
總結(jié)
- 上一篇: 数学老师出的语文试卷,哈哈哈
- 下一篇: 印度不只有开挂火车,还有一开挂的数学家,