久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

貝葉斯,、概率分布與機器學習

 阿甘Y 2012-04-28

一. 簡單的說貝葉斯定理:

貝葉斯定理用數(shù)學的方法來解釋生活中大家都知道的常識

形式最簡單的定理往往是最好的定理,比如說中心極限定理,,這樣的定理往往會成為某一個領(lǐng)域的理論基礎(chǔ),。機器學習的各種算法中使用的方法,最常見的就是貝葉斯定理,。

貝葉斯定理的發(fā)現(xiàn)過程我沒有找到相應(yīng)的資料,,不過我相信托馬斯.貝葉斯(1702-1761)是通過生活中的一些小問題去發(fā)現(xiàn)這個對后世影響深遠的定理的,而且我相信貝葉斯發(fā)現(xiàn)這個定理的時候,,還不知道它居然有這么大的威力呢。下面我用一個小例子來推出貝葉斯定理:

已知:有N個蘋果,,和M個梨子,,蘋果為黃色的概率為20%,梨子為黃色的概率為80%,,問,,假如我在這堆水果中觀察到了一個黃色的水果,問這個水果是梨子的概率是多少,。

用數(shù)學的語言來表達,,就是已知P(apple) = N / (N + M), P(pear) = M / (N + M), P(yellow|apple) = 20%, P(yellow|pear) = 80%, 求P(pear|yellow).

要想得到這個答案,我們需要 1. 要求出全部水果中為黃色的水果數(shù)目,。 2. 求出黃色的梨子數(shù)目

對于1) 我們可以得到 P(yellow) * (N + M), P(yellow) = p(apple) * P(yellow|apple) + P(pear) * p(yellow|pear)

對于2) 我們可以得到 P(yellow|pear) * M

      2) / 1) 可得:P(pear|yellow) = P(yellow|pear) * p(pear) / [P(apple) * P(yellow|apple) + P(pear) * P(yellow|pear)]

化簡可得:P(pear|yellow) = P(yellow,pear) / P(yellow), 用簡單的話來表示就是在已知是黃色的,,能推出是梨子的概率P(pear|yellow)是黃色的梨子占全部水果的概率P(yellow,pear)除上水果顏色是黃色的概率P(yellow). 這個公式很簡單吧。

我們將梨子代換為A,,黃色代換為B公式可以寫成:P(A|B) = P(A,B) / P(B), 可得:P(A,B) = P(A|B) * P(B).貝葉斯公式就這樣推出來了,。

本文的一個大概的思路:先講一講我概括出的一個基本的貝葉斯學習框架,然后再舉幾個簡單的例子說明這些框架,,最后再舉出一個復(fù)雜一點的例子,,也都是以貝葉斯機器學習框架中的模塊來講解

 

二. 貝葉斯機器學習框架

對于貝葉斯學習,我每本書都有每本書的觀點和講解的方式方法,,有些講得很生動,,有些講得很突兀,對于貝葉斯學習里面到底由幾個模塊組成的,,我一直沒有看到很官方的說法,,我覺得要理解貝葉斯學習,下面幾個模塊是必須的:

1) 貝葉斯公式

機器學習問題中有一大類是分類問題,,就是在給定觀測數(shù)據(jù)D的情況下,,求出其屬于類別(也可以稱為是假設(shè)h,,h ∈ {h0, h1, h2…})的概率是多少, 也就是求出:

   P(h|D), 可得:

   P(h,D) = P(h|D) * P(D) = P(D|h) * P(h), 所以:P(h|D) = P(D|h) * P(h) / P(D), 對于一個數(shù)據(jù)集下面的所有數(shù)據(jù),P(D),,恒定不變,。所以可以認為P(D)為常數(shù), 得到:P(h|D) ∝ P(D|h) * P(h),。我們往往不用知道P(h|D)的具體的值,,而是知道例如P(h1|D),P(h2|D)值的大小關(guān)系就是了,。這個公式就是機器學習中的貝葉斯公 式,,一般來說我們稱P(h|D)為模型的后驗概率,就是從數(shù)據(jù)來得到假設(shè)的概率,,P(h)稱為先驗概率,,就是假設(shè)空間里面的概率,P(D|h)是模型的 likelihood概率,。

   Likelihood(似然)這個概率比較容易讓人迷惑,,可以認為是已知假設(shè)的情況下,求出從假設(shè)推出數(shù)據(jù)的概率,,在實際的機器學習過程中,,往往加入了很多的假設(shè),比如一個英文翻譯法文的問題:

給出一個英文句子,,問哪一個法文句子是最靠譜的,,P(f=法文句子|e=英文句子) = P(e|f) * p(f), p(e|f)就是likelihood函數(shù),P(e|f) 寫成下面的更清晰一點:p(e|f∈{f1,f2…})可以認為,,從輸入的英文句子e,,推出了很多種不同的法文句子f,p(e|f)就是從這些法文句子中的某一個推出原句子e的概率,。

本文之后的內(nèi)容也將對文章中沒有提到的一些內(nèi)容,,也是貝葉斯學習中容易疑惑、忽略,、但是很重要的問題進行一些解釋,。

2) 先驗分布估計,likelihood函數(shù)選擇

貝葉斯方法中,,等號右邊有兩個部分,,先驗概率與likelihood函數(shù)。先驗概率是得到,,在假設(shè)空間中,,某一個假設(shè)出現(xiàn)的概率是多少,比如說在街上看到一個動物是長有毛的,,問1. 這個動物是哈巴狗的概率是多少,,2. 這個動物是爪哇虎的概率是多少, 見下圖:

clip_image002

雖然兩個假設(shè)的likelihood函數(shù)都非常的接近于1(除非這個動物病了),,但是由于爪哇虎已經(jīng)滅絕了,所以爪哇虎的先驗概率為0,,所以P(爪哇虎|有毛的動物)的概率也為0,。

先驗概率分布估計

在觀測的時候,對于變量是連續(xù)的情況下,,往往需要一個先驗分布來得到稀疏數(shù)據(jù)集中沒有出現(xiàn)過的,,給出的某一個假設(shè),在假設(shè)空間中的概率,。比如說有一個很大很大的均勻金屬圓盤,,問這個金屬圓盤拋到空中掉下來,正面朝上的概率,,這個實驗的成本比較高(金屬圓盤又大又重),,所以只能進行有限次數(shù)的實驗,可能出現(xiàn)的是,,正面向上4次,,反面向上1次,但是我們?nèi)绻耆鶕?jù)這個數(shù)據(jù)集去計算先驗概率,,可能會出現(xiàn)很大的偏差。不過由于我們已知圓盤是均勻的,,我們可以根據(jù)這個知識,,假設(shè)P(X=正面) = 0.5。

我們有的時候,,已知了分布的類型,,但是不知道分布的參數(shù),還需要根據(jù)輸入的數(shù)據(jù),,對分布的參數(shù)進行估計,、甚至對分布還需要進行一些修正,以滿足我們算法的需求:比如說我們已知某一個變量x的分布是在某一個連續(xù)區(qū)間均勻分布,,我們觀察了1000次該變量,,從小到大排序結(jié)果是:1,1.12,1.5 … 199.6, 200, 那我們是否就可以估計變量的分布是從[1,200]均勻分布的?如果出現(xiàn)一個變量是0.995,,那我們就能說P(0.995) = 0,?如果出現(xiàn)一個200.15怎么辦呢?所以我們這個時候可能需要對概率的分布進行一定的調(diào)整,,可能在x<1,x>200的范圍內(nèi)的概率是一個下降的直線,,整個概率密度函數(shù)可能是一個梯形的,或者對區(qū)域外的值可以給一個很小很小的概率,。這個我在之后還將會舉出一些例子來說明,。

Likelihood函數(shù)選擇

對于同一個模型,,likelihood函數(shù)可能有不同的選擇,對于這些選擇,,可能有些比較精確,、但是會搜索非常大的空間,可能有些比較粗糙,,但是速度會比較快,,我們需要選擇不同的likelihood函數(shù)來計算后驗概率。對于這些Likelihood函數(shù),,可能還需要加上一些平滑等技巧來使得最大的降低數(shù)據(jù)中噪聲,、或者假設(shè)的缺陷對結(jié)果的影響。

我所理解的用貝葉斯的方法來估計給定數(shù)據(jù)的假設(shè)的后驗概率,,就是通過prior * likelihood,,變換到后驗分布。是一個分布變換的過程,。

3) loss function(損失函數(shù))

 clip_image003

   x是輸入的數(shù)據(jù),,y(x)是推測出的結(jié)果的模型,t是x對應(yīng)的真實結(jié)果,,L(t,y(x))就是loss function,,E[L]表示使用模型y進行預(yù)測,使用L作為損失函數(shù)的情況下,,模型的損失時多少,。通常來說,衡量一個模型是否能夠準確的得到結(jié)果,,損失函數(shù)是最有效的一個辦法,,最常用、最簡單的一種損失函數(shù)是:

 clip_image004

不過我一直不知道為什么這里用的平方,,而不是直接用絕對值,,有詳細一點的解釋嗎?:-p

4) Model Selection(模型選擇)

前文說到了對于likelihood函數(shù)可以有不同的選擇,,對于先驗的概率也可以有不同的選擇,,不過假設(shè)我們一個構(gòu)造完整的測試集和一個恰當?shù)膿p失函數(shù),最終的結(jié)果將會是確定的,,量化的,,我們很容易得到兩個不同參數(shù)、方法的模型的優(yōu)劣性,。不過通常情況下,,我們的測試集是不夠完整,我們的損失函數(shù)也是不那么 的精確,所以對于在這個測試集上表現(xiàn)得非常完美的模型,,我們常??赡苓€需要打一個問號,是否是訓練集和測試集過于相像,,模型又過于復(fù)雜,。導致了over-fitting(后文將會詳細介紹over-fitting的產(chǎn)生)?

   Model Selection本質(zhì)上來說是對模型的復(fù)雜度與模型的準確性做一個平衡,,本文后面將有一些類似的例子,。

 

 

Example 1:Sequential 概率估計

注:此例子來自PRML chapter 2.1.1

對于概率密度的估計,有很多的方法,,其中一種方法叫做Sequential 概率估計,。

這種方法是一個增量的學習過程,在每看到一個樣本的時候都是把之前觀測的數(shù)據(jù)作為先驗概率,,然后在得到新數(shù)據(jù)的后驗概率后,,再把當前的后驗概率作為下一次預(yù)測時候的先驗概率。

傳統(tǒng)的二項式分布是:

clip_image005

由于傳統(tǒng)的二項式分布的概率μ是完全根據(jù)先驗概率而得到的,,而這個先驗分布之前也提到過,,可能會由于實驗次數(shù)不夠而有很大的偏差,而且,,我們無法得知μ的分布,,只知道一個μ的期望,這樣對于某些機器學習的方法是不利的,。為了減少先驗分布對μ的影響,,獲取μ的分布,我們加入了兩個參數(shù),,a,b,,表示X=0與X=1的出現(xiàn)的次數(shù),,這個取值將會改變μ的分布,beta分布的公式如下:

clip_image006

對于不同a,,b的取值,,將會對μ的概率密度函數(shù)產(chǎn)生下面的影響:(圖片來自PRML)

clip_image008

在觀測數(shù)據(jù)的過程中,我們可以隨時的利用觀測數(shù)據(jù)的結(jié)果,,改變當前μ的先驗分布,。我們可以將Beta分布加入兩個參數(shù),m,,l,,表示觀測到的X=0,X=1的次數(shù)。(之前的a,,b是一個先驗的次數(shù),,不是當前觀測到的)

我們令:

clip_image009

a’,b’表示加入了觀測結(jié)果的新的a,,b ,。帶入原式,可以得到

clip_image010

我們可以利用觀測后的μ后驗概率更新μ的先驗概率,,以進行下一次的觀測,,這樣對不時能夠得到新的數(shù)據(jù),并且需要real-time給出結(jié)果的情況下很有用,。不過Sequential方法有對數(shù)據(jù)一個i.i.d(獨立同分布)的假設(shè),。要求每次處理的數(shù)據(jù)都是獨立同分布的。

 

Example 2:拼寫檢查

這篇文章的中心思想來自:怎樣寫一個拼寫檢查器,,如果有必要,,請參見原文,本例子主要談?wù)勏闰灧植紝Y(jié)果的影響,。

直接給出拼寫檢查器的貝葉斯公式:

clip_image011

P(c|w)表示,,單詞w(wrong)正確的拼寫為單詞c(correct)的概率,P(w|c)表示likelihood函數(shù),,在這里我們就簡單的認 為,,兩個單詞的編輯距離就是它們之間的likelihood,P(c)表示,,單詞c在整體文檔集合中的概率,,也就是單詞c的先驗概率。

我們在做單詞拼寫檢查的時候肯定會直觀的考慮:如果用戶輸入的單詞如果在字典中沒有出現(xiàn)過,,則應(yīng)該將其修正為一個字典中出現(xiàn)了的,,而且與用戶輸入最接近的詞;如果用戶輸入的詞在字典中出現(xiàn)過了,,但是詞頻非常的小,,則我們可以為用戶推薦一個比較接近這個單詞,但是詞頻比較高的詞,。

先驗概率P(c)的統(tǒng)計是一個很重要的內(nèi)容,,一般來說有兩種可行的辦法,一種是利用某些比較權(quán)威的詞頻字典,,一種是在自己的語料庫(也就是待進行拼寫檢查的語料)中進行統(tǒng)計,。我建議是用后面的方法進行統(tǒng)計,這樣詞的先驗概率才會與測試的環(huán)境比較匹配,。比如說一個游戲垂直搜索網(wǎng)站需要對用戶輸入的信息進行拼寫糾正,,那么使用通用環(huán)境下統(tǒng)計出的先驗概率就不太適用了,。

Example 3:奧卡姆剃刀與Model Selection

給出下面的一個圖:(來自Mackey的書)

問:大樹背后有多少個箱子?

clip_image013

其實,,答案肯定是有很多的,,一個,兩個,,乃至N箱子都是有可能的(比如說后面有一連排的箱子,,排成一條直線),我們只能看到第一個:

clip_image015

但是,,最正確,,也是最合理的解釋,就是一個箱子,,因為如果大樹背后有兩個乃至多個箱子,,為什么從大樹正面看起來,兩邊的高度一樣,,顏色也一樣,,這樣是不是太巧合了。如果我們的模型根據(jù)這張圖片,,告訴我們大樹背后最有可能有兩個箱子,,這樣的模型的泛化能力是不是太差了。

所以說,,本質(zhì)上來說,,奧卡姆剃刀,或者模型選擇,,也是人生活中的一種通常行為的數(shù)學表示,,是一種化繁為簡的過程。數(shù)學之美番外篇:平凡而又神奇的貝葉斯方法這篇文章中說的,,奧卡姆剃刀工作在likelihood上,,對于模型的先驗分布并沒有什么影響。我這里不太同意這個說法:奧卡姆剃刀是剪掉了復(fù)雜的模型,,復(fù)雜的模型也是不常見的,、先驗概率比較低的,最終的結(jié)果是選擇了先驗概率比較高的模型,。

Example 4: 曲線擬合:

(該例子來自PRML)

問題:給定一些列的點,x = {x1,x2...xn}, t = {t1,t2 .. tn}, 要求用一個模型去擬合這個觀測,,能夠使得給定一個新點x', 能夠給出一個t'.

clip_image017

已知給定的點是由y=2πx加上正態(tài)分布的噪聲而得到的10個點,,如上圖。為了簡單起見,,我們用一個多項式去擬合這條曲線:

clip_image019

為了驗證我們的公式是否正確,,我們加入了一個loss function:

clip_image021

在loss function最小的情況下,我們繪制了不同維度下多項式生成的曲線:

clip_image023

在M值增高的情況下,曲線變得越來越陡峭,,當M=9的時候,,該曲線除了可以擬合輸入樣本點外,對新進來的樣本點已經(jīng)無法預(yù)測了,。我們可以觀測一下多項式的系數(shù):

clip_image025

可以看出,,當M(維度)增加的時候,系數(shù)也膨脹得很厲害,,為了消除這個系數(shù)帶來的影響,,我們需要簡化模型,我們?yōu)閘oss function加入一個懲罰因子:

clip_image027

我們把w的L2距離乘上一個系數(shù)λ加入新的loss function中,,這就是一個奧卡姆剃刀,,把原本復(fù)雜的系數(shù)變?yōu)楹唵蔚南禂?shù)(如果要更具體的量化的分析,請見PRML 1.1節(jié)),。如果我們要考慮如何選擇最合適的維度,,我們也可以把維度作為一個loss function的一部分,這就是Model Selection的一種,。

但是這個問題還沒有解決得很好,,目前我們得到的模型只能預(yù)測出一個準確的值:輸入一個新的x,給出一個t,,但是不能描述t有什么樣的概率密度函數(shù),。概率密度函數(shù)是很有用的。假如說我們的任務(wù)修正為,,給出N個集合,,每個集合里面有若干個點,表示一條曲線,,給出一個新的點,,問這個新的點最可能屬于哪一條曲線。如果我們僅僅用新的點到這些曲線的距離作為一個衡量標準,,那很難得到一個比較有說服力的結(jié)果,。為了能夠獲取t值的一個分布,我們不妨假設(shè)t屬于一個均值為y(x),方差為1/β的一個高斯分布:

clip_image029

在之前的E(w),,我們加入了一個w的L2距離,,這個看起來有一點突兀的感覺,為什么要加上一個這樣的距離呢,?為什么不是加入一個其他的東西,。我們可以用一個貝葉斯的方法去替代它,得到一個更有說服力的結(jié)果,。我們令p(w)為一個以0為均值,,α為方差的高斯分布,,這個分布為w在0點附近密度比較高,作為w的先驗概率,,這樣在計算最大化后驗概率的時候,,w的絕對值越小,后驗概率將會越大,。

clip_image031

我們可以得到新的后驗概率:

clip_image033

這個式子看起來是不是有點眼熟?。课覀兞瞀?α/β,,可以得到類似于之前損失函數(shù)的一個結(jié)果了,。我們不僅還是可以根據(jù)這個函數(shù)來計算最優(yōu)的擬合函數(shù),而且可以得到相應(yīng)的一個概率分布函數(shù),??梢詾闄C器學習的很多其他的任務(wù)打下基礎(chǔ)。

這里還想再廢話一句,,其實很多機器學習里面的內(nèi)容都與本處所說的曲線擬合算法類似,,如果我們不用什么概率統(tǒng)計的知識,可以得到一個解決的方案,,就像我們的第一個曲線擬合方案一樣,,而且還可以擬合得很好,不過唯一缺少的就是概率分布,,有了概率分布可以做很多的事情,。包括分類、回歸等等都需要這些東西,。從本質(zhì)上來說,,Beta分布和二項式分布,Dirichlet分布和多項式分布,,曲線擬合中直接計算w和通過高斯分布估計w,,都是類似的關(guān)系:Beta分布和Dirichlet分布提供的是μ的先驗分布。有了這個先驗分布,,我們可以去更好的做貝葉斯相關(guān)的事情,。

后記:

本文就寫到這里,花了大概4個晚上來寫這篇文章,,也感謝我女朋友的支持,。我也希望能夠用它去總結(jié)一下最近學習的一些心得,看看是否自己能夠把它講出來,。我覺得學習的過程是一個爬山的過程,,常常有的時候覺得自己快到山峰了,結(jié)果路有向下了,,自己不停有著挫折和興奮的感覺,,不過學習的感覺總體來說快樂的。我也想能夠把自己的這份快樂帶給大家 :-D

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導購買等信息,,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多