李宏毅機器學習筆記03(Classification: Probabilistic Generative Model)


分類問題:概率生成模型

概念:(從概率生成模型到判別模型)

概率生成模型:由數據學習聯合概率密度分布P(X,Y),然后求出條件概率分布P(Y|X)作為預測的模型。例如:朴素貝葉斯、隱馬爾可夫(em算法) 

判別模型:由數據直接學習決策函數Y=f(X)或者條件概率分布P(Y|X)作為預測的模型。例如:k近鄰法、感知機、決策樹、邏輯回歸、線性回歸、最大熵模型、支持向量機(SVM)、提升方法、條件隨機場(CRF)

 

思路:

1、分類問題及其解決方法的討論

  1)首先,什么是分類問題

  2)接着,分類問題該如何解決呢

2、建立概率生成模型的步驟(以朴素貝葉斯分類器為例)

  step1:求先驗概率

  step2:確定數據屬於哪一個分布,用最大似然估計出分布函數的參數

  step3:求出后驗概率

3、生成模型解決分類問題的總結以及邏輯回歸方法(判別模型)的引出

 

1、分類問題及其解決方法的討論

  1)首先,什么是分類問題

 

  2)接着,分類問題該如何解決呢

  舉個栗子:輸入一個帶有屬性的精靈(如比卡丘),輸出:他是屬於雷系還是水系還是。。

 

  對於二分類問題,定義一個function,當函數值大於0就划分為類別1,否則就為類別2.

損失函數定義為在測試數據上誤分類的次數。

  關鍵是,這個function是怎么樣的呢?實際上,它可以是一個概率模型 P(C1| X),當 P(C1| X)>0.5,就說明x 是class 1的。

那么,這個概率模型是如何生成的呢?

 

2、建立概率生成模型的步驟(以朴素貝葉斯分類器為例)

  首先,舉個栗子引出貝葉斯,有兩個盒子,每個盒子里面各有一定數量的藍球和綠球,現在我取到一個藍球,

問這個藍球是來自於第一個盒子的概率。這就要用到貝葉斯公式(由果求因)

  

  然后,把這個公式應用於我們的分類問題:假設有兩個類別(水系和普通系),每個類別有不同的精靈,

現在我抓到一個精靈,那么它是屬於水系和普通系的概率分別是多少。

    進一步,在開始做生成模型之前,掌握以下概念

  先驗概率:統計歷史上的經驗和數據得到的概率,比如我們出門的時候,堵車的概率就是先驗概率 。

       這里是P(c1)——樣本中的精靈是水系的概率

  P(x|c1):有因求果的條件概率 ,也就是P(堵車|交通事故)。

       這里是指水系中是比卡丘的概率

  似然估計:好像(交通事故會引起堵車)是正確的。

       這里要估計P(x|c1)

  后驗概率:有果求因,也就是P(交通事故|堵車)。

          這里指抓到的比卡丘是水系的概率

 

  step1:求先驗概率

 

  step2:選擇概率分布函數,用最大似然估計出分布函數的參數

 

  1、首先,我們目標是求水系樣本中的79個精靈中,抓到其中一種精靈的概率(P(x|c1)),那么這個概率應該是跟精靈的屬性有關的。

這里我們選擇兩種屬性討論,此時數據中(x,水系)中的x應該是一個向量(【x1,x2】,水系)

 

 

                             

 

  2、然后,這里選擇高斯分布(二維):也就是說在水系樣本中的79個精靈中,抓到其中一種精靈的概率(P(x|c1))呈高斯分布

 

 

 

  3、接着,用最大似然估計法算出分布函數的參數

  似然函數:x1,x2...x79同時出現的概率函數。

  最大似然估計:使似然函數最大時的參數估計。

 

 

   4、同理,我們估計出了水系和普通系的概率分布函數的參數(也就是求出了P(x|c1)、P(x|c2))

 

  step3:求出后驗概率

 

   結果分析

  

  改進一下

      

 

3、生成模型解決分類問題的總結以及邏輯回歸方法(判別模型)的引出

  1、總結

  回到如何用機器學習的三大步驟解決分類問題:

 

  2、邏輯回歸方法(判別模型)的引出

 

 

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM