機器學習與深度學習系列連載: 第一部分 機器學習(五) 生成概率模型(Generative Model)
生成概率模型(Generative Model)
1.概率分佈
我們還是從分類問題說起:
當我們把問題問題看做是一個迴歸問題, 分類是class 1 的時候結果是1
分類為class 2的時候結果是-1;
測試的時候,結果接近1的是class1 ,結果接近-1的是class2
問題解決了! 但是這只是看起來很美,但是如果結果遠遠大於1的時候,他的分類應該是class1還是class2,我們為了降低整體誤差,需要調整已經找到的分類函式,這樣會實際導致結果的不準確
所以這是另一個角度,分類不能用迴歸的思路去做的原因。
分類問題機器學習三板斧
- 1.函式(Model)
以二分類為例,
- 2.損失函式(Loss)
- 3.找到最好的函式(SVM,perceptorn)(以後會講)
我們開始我們的生成概率模型,首先舉一個例子,有兩個盒子,有藍球和綠球,
那麼問題來了,如果閉著眼睛拿出一個藍色的球,並且它盒子1的概率是多少。
, 當 我們就認為它屬於盒子1.
在這裡盒子1的和盒子2 的先驗概率已知。其他概率很好計算。
那麼藍球來自盒子1的概率是:
推而廣之:如果我們看成分類,兩個類別
那麼給一個x,他的分類的概率是:
整體的概率是:
生成概率模型其實是先假設資料的概率分佈(正太、伯努利、泊松),然後用概率公式去計算x所屬於的型別
一般的,我們假設x的分佈為高斯分佈(最為常見的概率分佈模型),為什麼會往往選擇高斯分佈呢,概率論中的中心極限定理告訴我們答案。
一維的概率分佈一般是鐘形曲線,大家都比較瞭解,那麼高緯的分佈是:
均值為,協方差為
上面三幅圖表示均值都為0,但是協方差分別為為I , 0.6I,2I
更多的例子
我們假設資料點服從高緯高斯分佈,那麼,我們需要找到這個高斯分佈的函式,也就是為,和協方差。
這個函式滿足,它的所有資料點的生成概率是最大的,假設有79個數據點,他的高斯函式的求法:
2.解決問題
讓我們開始我們的分類問題:
我們要進行二分類,分別是水系的怪物精靈和一般的怪物精靈,我們計算得到他們的高斯分佈分別為
那麼我們就可以用本篇第一部分的公式計算x的分類了,, 分別在資料中就可以簡單計算,, 由它們概率密度函式推導求解得到(積分)
這樣就把分類問題變成了一個概率計算問題了。
但是結果不理想,只有54%的正確率。
。
我們分析一下原因,是由於兩類額協方差導致引數過多,那我們讓協方差共享,減少協方差的種類。
我們得到了73%的正確率