分類問題:概率生成模型
概念:(從概率生成模型到判別模型)
概率生成模型:由數據學習聯合概率密度分布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、邏輯回歸方法(判別模型)的引出