PRML 閱讀筆記(一)

          

       第一章《introduction》,一開始先介紹了一些模式識別與機器學習的背景知識,模式識別的起源,定義。接下來又講到了hand-written digits的例子,說到了手動編寫代碼的方式在這樣的問題上是很難得到好的結果的。而通過機器學習的方法,讓我們創建的模型自己去認識大量的數據,認識數據背後的規律則會有很好的效果。然後講到了特徵的基本概念,講到了機器學習算法的基本分類等等,比較易於理解,就不贅述了。而爲了解決機器學習所要解決的問題,我們需要理解概率論,決策論和信息論。下面的從1.1到1.2的內容,作者首先介紹了一個多項式曲線的例子,從這個例子又引出概率論,最後又回到曲線的例子。而後來決策論和信息論的內容,放在下一部分敘述。


      1.1 Example:Polynomial Curve Fitting


      問題:擬合的目標是sin(2πx),並根據高斯分佈加入了一點隨機噪聲。利用以上方式產生了10個點作爲我們的樣本集。(書中也順帶提到了噪聲的來源:1,樣本本身的一些偶然因素,例如放射衰變。2一些未捕獲到的特徵)

      使用模型: 多項式模型
      

      cost function:

                

       接下來作者比較了多項式的模型M分別爲0,1,3,9時,用相同的包含10個樣本點的數據集訓練模型所得出的擬合情況。

       其中M=0,1的模型明顯存在欠擬合,而M=9時則存在過擬合,M=3時,效果是最好的。同時,作者提出了一個問題,從冪級數的角度來講,函數sin(2πx)是包含了所有指數從0---無窮的所有項數的,那麼按道理說,M越大,擬合效果應該越好,那麼爲什麼M=9的效果會比較差呢?


       因爲越大的M也越容易擬合目標變量上的噪聲,再加之此時參數個數與樣本數的比是1:1,所以M=9的效果就會很差。那麼如果數據嚴格以sin(2πx)產生,而沒有隨機噪聲,用M=9的模型去擬合,效果是不是會很好?

       

       接下來,作者說到,過擬合的原因有參數個數和樣本數的比例不好導致(通常樣本數應該是參數個數的5--10倍),而過擬合的另一個原因是最大似然函數的天生瑕疵(後面會具體講,這裏問題的來源即cost function)。當從貝葉斯的角度來看時,有效參數的個數會自適應於樣本數,即加入正則化。

       加入正則化後的cost function:

       

       

       在加入正則化後,M=9的模型的擬合效果顯然好了很多。而書中也講到,正則化是不包含w0的,書上說了一些原因也沒有太理解,爲什麼不包含w0?至此爲止,大多數關於多項式曲線擬合的例子還只限於直觀上的理解,下面通過更底層更基礎的方式去了解類似的問題。(關於cost function,正則化等基礎知識參見andrew ng斯坦福和coursera的公開課)。


      1.2 Probability Theory

     

       包括1.2.2及其之前的內容屬於概率的基本知識,在這裏暫且略過。


       1.2.3 Bayesian probabilities

      我們平時接觸及學習的內容,大多是來自頻率學派。而在Bayes理論中,首要理解的便是先驗概率和後驗概率。在頻率學派看來,一個事件的概率只有在重複試驗之下才能得出。而貝葉斯學派的觀點則是有些事件即便沒有頻率解釋的基礎也可以通過經驗賦予其概率,即先驗概率,將先驗概率和樣本帶來的信息加以綜合可以得出後驗概率。我們用後驗概率去進行之後的預測。

         在頻率學派的觀點中,我們之前模型中的w是固定參數,它的值是本身是存在的,只是我們不知道,需要用cost function去擬合。而在貝葉斯的觀點看來,w是一個隨機變量,因而需要加入一個正則化項來量化這個隨機變量的不確定性。Bayes理論的關鍵是:

         

         

          假設我們要對w進行推測,則先對p(w)賦予一個先驗概率,在通過樣本得到p(D|w),最後得出後驗概率的值。其中p(D|w)便是我們常說的似然函數。通過上式可得出:   

                    

           那麼p(D)呢,書上說p(D)只是一個歸一化常數(怎麼理解),而且它也確實是分子對於w的積分值,那麼我們就可以忽略它麼,這個地方不是特別理解。

           接下來,作者又有一段描述來說明Bayes的觀點是更加“自然的”:

                  

           

          從Bayes和頻率學派的兩種觀點來看,上述描述是好理解的,頻率學派根據事件頻率得出概率,而Bayes是通過先驗概率*樣本觀測值得出概率。即有下列問題,假設我們不知道擲硬幣正反面朝上的機率:假設先驗概率擲硬幣正面朝上即y=1,概率爲0.5,反面朝上y=0的概率也是0.5,現在擲了三次,都是正面朝上,計算p(y=1|三次正面朝上)的後驗概率是多少?

          當然作者也說到了Bayes過於依賴對與先驗概率的選擇,而這種選擇也往往帶有一些主觀性。但是這樣的主觀性是可以根據一些方法儘量減小的,後面的章節會予以討論。


        1.2.4  The Gaussian distribution


        這一小節前面的部分主要是對正態分佈做了一些簡單介紹,此處不再贅述。

        假設我們有N個觀測值,表示爲X=(x1,x2,...........xn)(此處可理解爲我們有n個樣本),且每個隨機變量Xi都是獨立同分布的(服從正態分佈),那麼有:

         

        這便是我們的似然函數,而最大化似然函數的意義即是通過調整分佈的均值和方差使得下面藍色點的乘積達到最大(照理說從連續型隨機變量概率的角度講,任意一個點的概率值是可以忽略的,然而它仍然滿足這樣一個特點,即這一點的密度函數值越大,那麼它相應的概率也就越大,所以纔會有前面的結論,是這樣麼?)。

                     

           

        當然,在不同問題中,樣本的分佈不一定都屬於正態分佈,無論什麼分佈我們都可以通過最大化似然函數找到參數的值,從而進行預測。

        在搞懂期望和均值,樣本方差與分佈方差的區別後,通過計算我們可以得到:

        

             

               

                 

        前兩個式子,我們分別得到了樣本均值和樣本方差。通過最後一個式子我們發現,樣本方差竟然是方差的有偏估計,最大似然函數的天然瑕疵是它總是低估方差,從而導致過擬合的問題(下一小節會詳細討論這個問題)。


        1.2.5 Curve fitting re-visited

      

       現在,我們回到曲線擬合的例子。通過上一節的論述,我們已經得出了假設隨機變量獨立同分布服從正態分佈,那麼其聯合概率可以記作邊緣概率的乘積,從而有似然函數(這裏的beta書中有定義,它是方差的倒數,稱爲precision,雖然我也沒明白用beta有什麼意義)

       

       這一節看到這我就不明白,後面也一直雲裏霧裏,主要不理解爲什麼要假設期望是y(x,w),後來看到書中這節末尾有一句,“Thus the sum-of-squares error function has arisen as a consequence of maximizing likelihood under assumption of a Gaussian noise distribution”.纔想起來,ng的課程中先是作出了噪聲服從期望爲0的正態分佈的假設,而後又推知目標變量服從期望爲y(x,w)的正態分佈的,至於爲什麼噪聲服從期望爲0的正態分佈,書上沒有說,ng也只是說從中心極限定理的角度來講,當多個隨機變量共同作用的時候,這些隨機變量的組合應該是服從正態分佈的,我們也只能從這些話語裏略窺一二了。

              

         

           

        回到正題,有了似然函數之後,我們用常用的取對數的方法改寫最大似然函數,得到

        

         這個式子是我們接下來討論的關鍵,我們的目標是通過最大化似然函數得到w的值,進而對新的x進行預測。那麼上式的後兩項是與w無關的,我們暫且省略,而beta也不是w的函數,所以我們將beta/2替換爲1/2,而最大化某一函數f,等價於最小化函數-f,那麼我們就通過上式得到了我們之前曾經在多項式曲線擬合中使用過的cost function:最小平方和。

         到這裏,問題來了,在ng Linear Regression的課上,說明了我們之前所用的cost function(最小平方和)不是無源之水,它通過我們假設噪聲的分佈,再推之目標變量的分佈,最大化log似然函數得到的,然後我們有了w的值便可以利用y(x,w)來進行預測了。但在PRML本小節的後半部分,又論述了通過得到的w,我們可以利用

         

          此式來得到beta的值,而有了beta和w,我們便得到了完整的概率分佈:

          

          從而利用此式對新的x進行預測。(不理解的地方是,假設y=sin(2πx),那我此時又說y服從正態分佈,這兩種說法不衝突吧?一個是y與x的函數關係,另一個是y的分佈。如果不衝突,那我建模想要擬合的曲線也肯定是y=sin(2πx),從而對與新的x進行預測,ng的課程也是這麼講的。但PRML這裏又說,我們要利用目標變量的分佈來進行預測(這裏應該預測結果應該就不是直接輸出y了,而是輸出一組概率值),但怎麼預測,對於連續型隨機變量,只有再一個區間纔有有意義的概率值,一個點的概率值不是都趨近於0麼,難道要把連續變量離散化等等?希望有大神能點撥一下,感謝。)

          接下來,我們從Bayes的角度對曲線擬合的問題更進一步。先說先驗概率,我們假設w服從期望爲0,方差爲alpha的正態分佈,即有

          

          (那個I是什麼......),我們之前已經得出了後驗概率與先驗概率和似然函數的積成正比,即:

                       

          通過對似然函數和先驗概率的乘積對數化,再去掉一些常數項,我們得到了熟悉的加入了正則化後的cost function: 

                        

           這個式子除以beta,令lambda=alpha/beta,我們即得到了與之前完全相同的cost function。這種方法被稱爲maximum posterior,簡寫爲MAP。但是這個式子似乎是沒有辦法使用的,alpha和beta的值我們都未知,所以我們才引出lambda,在實際應用時不斷調整lambda的值,使我們的參數w的值取得最優。

           

           1.2.6 Bayesian curve fitting

           

           可能也是因爲上述alpha和beta的原因,作者也說上述的方法還不是完全的Bayes方法,作者假設了alpha和beta是固定的,且提前知道的(據說後面的章節會討論),作者列出了幾個式子想消除後驗概率對於alpha和beta的依賴,這一部分我有一點沒看懂,書上把後驗概率服從的正態分佈的期望和方差都寫成了x的函數,而後在計算這兩個x的函數的時候又用到了alpha和beta,不是不依賴alpha和beta了嗎?最後作者又說方差函數中的第一項源於目標變量的噪聲,而第二項源於Bayes方法。圖1.17也沒有看太懂。有沒有大大具體解釋一下這一部分,萬分感謝。

           

        

       


           後面的章節會放在之後的博客,希望大大們對我題出的問題和我沒注意到的問題提出建議和指導,也希望能和同學們一起進步。

           參考資料:《Pattern recognition and machine learning》

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章