概念學習
許多機器學習問題涉及從特殊訓練樣例中得到一般概念。比如人們不斷學習的一些一般概念和類別。每個概念可被看作一個對象或事件集合,它是從更大的集合中選取的子集(如從動物的集合中選取鳥類),或者是在這個較大集合中定義的布爾函數(如在動物集合中定義的函數,它對鳥類返回true,對其他動物返回false)。
小孩理解一個詞義的例子考慮一個小孩子理解「狗」這個詞的意義。假設當小孩的父母指著一個動物對他說,「這是一隻狗」,這是給出了概念的正例。而當小孩子看到一隻貓時說,「這是一隻狗」時,他父母會糾正他說,「這是一隻貓,不是一隻狗」,這是在主動學習過程中給出負例的情形。心理研究表明,人在學習概念時往往只是來源於正例數據。
理解一個詞的含義等同於概念學習,同時也等同於二元分類。即當輸入數據時一個概念的樣例時,定義f(x)=1;否則f(x)=0。
理解概念學習逆概問題所謂的貝葉斯方法源於他生前為解決一個「逆概」問題寫的一篇文章,而這篇文章是在他死後才由他的一位朋友發表出來的。在貝葉斯寫這篇文章之前,人們已經能夠計算「正向概率」,如「假設袋子裡面有N個白球,M個黑球,你伸手進去摸一把,摸出黑球的概率是多大」。而一個自然而然的問題是反過來:「如果我們事先並不知道袋子裡面黑白球的比例,而是閉著眼睛摸出一個(或好幾個)球,觀察這些取出來的球的顏色之後,那麼我們可以就此對袋子裡面的黑白球的比例作出什麼樣的推測」。這個問題,就是所謂的逆概問題。
貝葉斯是機器學習的核心方法之一。這背後的深刻原因在於,現實世界本身就是不確定的,人類的觀察能力是有局限性的,我們日常所觀察到的只是事物表面上的結果,沿用剛才那個袋子裡面取球的比方,我們往往只能知道從裡面取出來的球是什麼顏色,而並不能直接看到袋子裡面實際的情況。這個時候,我們就需要提供一個假設(hypothesis)。所謂假設,當然就是不確定的(可能是有限個,也可能是無限多種),為了確定哪個假設是正確的,我們需要做兩件事情:1、算出各種不同猜測的可能性大小。2、算出最靠譜的猜測是什麼。第一個就是計算特定猜測的後驗概率(Posterior),對於連續的猜測空間則是計算猜測的概率密度函數。第二個則是所謂的模型比較,模型比較如果不考慮先驗概率(Prior)的話就是最大似然方法。
猜數字遊戲(The Number Game)問題描述遊戲規則是這樣的,我首先選取了一個數字規律的概念C(也可以說是規則,比如介於1到10的數字、距離20很近的數字等),然後根據符合C的數據,隨機選取一部分,最後給定一些測試數據,讓你將符合這個概念C的數據分類出來。
分析現在假設所有數字都是從1到100中選取的整數。
如果現在告訴你,16是一個未知概念C的正例,那請問你什麼數字還符合這個概念C呢?
你會感覺所有的假設都太過模糊,不太可能。比如17可以看做是離16很近的概念的正例;6也有可能,因為它們都有一個數字6;再如32,它們都是2的冪次;以此的假設太多了。
現在,如果我再告訴你,8、2和64也都是正例數據,你會很自然的猜測這個隱含的概念是「2的冪次」,那麼為什麼會這樣呢?為什麼我們的假設不是「所有偶數」,或者「除去32的所有2的冪次」?這些假設也都符合給出的數據資料,為什麼我們直覺上會認為是「2的冪次」呢?我們會從貝葉斯的角度解釋這件事情。
接著上面的說,我們現在要解釋為什麼我們選擇「2的冪次」這個假設,而不是「所有偶數」這個假設,雖然現在這兩個假設都符合給定的數據,但是怎麼樣才能避免可疑的巧合情況造成的估計錯誤呢?
這裡,我們將問題公式化,我們假設樣本是從數據集中均勻隨機選取的,這樣從N個數據中採樣的概率p(D|h)如下。
由於在1到100區間裡,「2的冪次」的數據集D={2,4,8,16,32,64};而「所有偶數」的數據集D={2,4,6,8,…,98,100},所以,從「2的冪次」採樣的概率要遠比從「所有偶數」的數據集採樣的概率大。故由{16,8,2,64}數據得出「所有偶數」這個假設就很有可能只是一個巧合。
下面簡要介紹了似然度、先驗概率和後驗概率:
根據貝葉斯公式,我們看到後驗概率要結合先驗概率和似然度。這裡看到雖然「powers of 2,plus 37」和「powers of 2,except 32」有很大的似然度,但是先驗概率很小,導致最終的後驗概率很小,這種反常概念的低的先驗概率可以避免對數據的過擬合。
將所有可能的後驗概率p(h|D)進行加權得到了後驗預測分布。
我感覺學習機器學習算法還是要從數學角度入門才是唯一正道,機器學習領域大牛Michael I. Jordan給出的機器學習定義是,「A field that bridge computation and statistics,with ties to information theory, signal processing, algorithm, control theory and optimization theory」。所以對於機器學習的門徒來說,我認為將計算機和統計理論有機結合起來才是正確的出路。市面上吹噓的所謂不介紹數學背景,只引入如何使用算法的書籍,只能是迎合那些急功近利的人的口味,確實可以感覺出被火熱概念炒出來的人們的浮躁。
當然,看別人的浮躁,說明你也有一顆浮躁的心。
我還是踏踏實實的一步一個腳印的趕緊上路吧!不然,我也是一個隨波逐流,追趕魚潮的打漁人,沒有自己的根本,一旦翻了船,那才是一無所獲呢。
學校裡很多老師教的課程確實都是在忽悠學生,其實他們可能也沒有很紮實的數學基礎,以至於很難將學生領入正確的道路上來。至少作為聽課學生來講,我是這麼感覺的。造成的結果是,感覺這門課程是獨立於一個領域的,是很孤立的。而從一些外文書籍中可以看出來,機器學習其實是多學科交叉的衍生物,和很多工程領域理論都有密切的聯繫,這樣,至少讓我們這種初學者有據可查,不至於感覺它是從石頭縫裡蹦出來的。
接下來,幾篇文章介紹的概率分布是構建複雜模型的基礎。討論這些概率分布的一個重要應用就是密度估計(density estimation),即根據有限的觀測數據,去建立模型,然後得到這些隨機變量的樣本所遵循的概率分布。(直到這時,我才多少明白一點本科時概率統計課上教的參數估計是幹什麼用的)
二元變量(Binary Variables)我們首先來考慮二元隨機變量x∈{0,1}。
伯努利分布(Bernoulli Distribution)伯努利分布(the Bernoulli distribution,又名兩點分布或者0-1分布,是一個離散型概率分布,為紀念瑞士科學家雅各布·伯努利而命名),若伯努利試驗成功,則伯努利隨機變量取值為1。若伯努利試驗失敗,則伯努利隨機變量取值為0。
現在給出一組觀測數據D={x1,…,xN},我們通過構建似然函數,來估計參數μ(隨機變量取1時對應的概率)。
舉個例子,
如果進行三次觀測,三次觀測結果x均為1,那麼μML為1,這說明未來的觀測結果應該均為x=1。根據常識,這顯然是不合常理的。實際上,這是由於小數據集導致的過擬合的結果。接下來我們要解釋的就是從貝葉斯理論的角度,如何去理解這個問題。
二項分布是n個獨立的是/非試驗中成功的次數的離散概率分布,其中每次試驗的成功概率為p。這樣的單次成功/失敗試驗又稱為伯努利試驗。實際上,當n = 1時,二項分布就是伯努利分布。
二項分布定義為:
二項分布的期望和方差分別是:
為了解決小數據集中用最大似然估計的方法來估計參數產生的過擬合的現象,我們嘗試用貝葉斯的方式引入參數μ的先驗分布。
這裡a和b被稱為超參數(hyperparameters),因為它們左右了參數μ的分布,它們不一定為整數。
下面的圖像顯示了不同的超參對分布的影響:
在貝葉斯統計中,某一不確定量p的先驗概率分布是在考慮」觀測數據」前,能表達p不確定性的概率分布。它旨在描述這個不確定量的不確定程度,而不是這個不確定量的隨機性。這個不確定量可以是一個參數,或者是一個隱含變量(latent variable)。
在使用貝葉斯定理時,我們通過將先驗概率與似然函數相乘,隨後標準化,來得到後驗概率分布,也就是給出某數據,該不確定量的條件分布。
先驗概率通常是主觀的猜測,為了使計算後驗概率方便,有時候會選擇共軛先驗。如果後驗概率和先驗概率是同一族的,則認為它們是共軛分布,這個先驗概率就是對應於似然函數的共軛先驗。
共軛分布(Conjugate Prior)為了使得先驗分布和後驗分布的形式相同,我們定義:如果先驗分布和似然函數可以使得先驗分布和後驗分布有相同的形式,那麼就稱先驗分布與似然函數是共軛的。所以共軛是指:先驗分布和似然函數共軛。
共軛先驗的意義在於,使得貝葉斯推理更加方便,比如在貝葉斯推理(Sequential Bayesian inference)中,得到一個observation之後,可以算出一個後驗分布。由於選取的是共軛先驗,因此後驗和原來先驗的形式一樣,可以把該後驗當做新的先驗,用於下一次observation,然後繼續迭代。
後驗分布參數μ的後驗分布是將其先驗分布乘上二項式似然函數(binomial likelihood function),再歸一化得到。
後驗分布有如下形式:
其中,l = N-m。
我們可以看出,這裡的後驗分布和先驗分布有相同的形式,這體現了似然函數的共軛先驗的特性。這個後驗分布也是一個Beta分布,這樣我們可以將這個後驗分布當做是一個新的先驗分布,當得到一組新的數據之後,我們可以更新得到新的後驗分布。
這種順序方法(sequential approach)每次利用一小波(small batches)觀測數據,當新的觀測數據來的時候,就會丟棄舊的觀測數據。
所以這種方法非常適用於數據流穩定到來,而在觀測所有數據之後得出預測結果的實時學習的情景,因為這種方法不要求數據一次性的全部載入內存來計算。
下面的圖片形象的描述了連續貝葉斯推理(sequential Bayesian inference)的一個環節。先驗分布參數a=2、b=2,對應只有一個觀測數據x=1的似然函數,其參數N=m=1,而後驗分布的參數a=3、b=2。
現在我們要做的是,根據給定的觀測數據集D來評估x的預測分布。
由上式,我們可以看出,隨著數據癿增加, m、l 趨於無窮大時,這時參數的後驗分布就等於最大似然解。而對於有限數據集來說,參數μ的後驗均值總是介於先驗平均和μ的最大似然估計值之間的。
我們可以看出,隨著觀測數據的增多,後驗分布變成一個越來越陡峭的山峰形狀。這通過Beta分布的方差可以看出,當a和b趨近於無窮大時,Beta分布的方差趨近於0。從宏觀層面上說,當我們觀察到更多的數據時,後驗分布所體現的不確定性將驟然降低(steadily decrease)
有些先驗分布可以證明,隨著數據的增加方差越來越小,分布越來越陡,最後坍縮成狄拉克函數,這時貝葉斯方法和頻率派方法是等價的。
機器學習技法課程,林軒田,臺灣大學
轉載請註明作者Jason Ding及其出處
GitCafe博客主頁(http://jasonding1354.gitcafe.io/)
來源:機器人2025
如何加入學會
註冊學會會員:
個人會員:
關注學會微信:中國指揮與控制學會(c2_china),點擊下方的CICC會員-個人會員,進入會員系統,按要求填寫申請表即可,如有問題,可閱讀位於下方的「閱讀學會章程」和「閱讀入會須知」。通過學會審核後方可在線進行支付寶繳納會費。
單位會員:
關注學會微信:中國指揮與控制學會(c2_china),點擊下方的CICC會員-單位會員,進入會員系統,按要求填寫申請表即可,通過學會審核後,請按照「閱讀入會須知」裡的付款信息進行會費繳納。
學會近期活動
2016首屆全國公共安全與應急防控論壇暨北京化工大學第十八次科技工作會議學院論壇
會議時間:2016年11月6日
CICC(上海)軍民融合協同創新中心成立大會暨2016軍民融合前沿技術論壇
會議時間:2016年11月11日
長按下方學會二維碼,關注學會微信