数理统计与机器学习
目錄
摘要
1.引言
2.貝葉斯算法
2.2.貝葉斯算法推導過程
2.3.貝葉斯算法應用實例
2.4貝葉斯應用小結
3.EM算法
3.1.EM算法介紹
3.2.EM算法理論推導
3.3.EM算法實例應用
3.4.EM算法小結
4. 小結
參考文獻
摘要
在現代社會生活當中, 信息技術的進步提升了數據的可利用價值。在此背景下, 數據挖掘的各種方法成為人們研究的對象, 而數理統計作為數據分析的理論基礎, 更是受到了廣泛的重視。本文從數理統計和計算機數據挖掘領域共有得貝葉斯算法和EM算法為例,進行貝葉斯算法和EM算法的介紹。從數理統計的角度進行算法的理論推導,從計算機的角度以具體實例來說明算法的應用。最后通過這兩個算法的學習,加深了我對數理統計領域和數據挖掘領域的理解,也極大激發了我對數理統計在數據挖掘方面應用的興趣。
關鍵詞:貝葉斯算法;EM算法;數理統計;數據挖掘
1.引言
在偏理論的算法還沒有被應用到生活中時,統計學和計算機中的數據挖掘是完全兩個不同的領域,然而隨著計算機的快速發展和統計學中理論的不斷深入,人們越來越發現數理統計中的許多基礎理論是數據挖掘領域的基礎,數據挖掘中許多經典算法有很多都是從數理統計中遷移過來的,換句話說,數據挖掘在一定程度上是數理統計在實際生活中的實例應用。本文通過講解數據統計中兩個經典算法及其應用,展示數理統計在數據挖掘方面的應用。
2.貝葉斯算法
2.1.貝葉斯算法介紹
貝葉斯算法是統計學中的一種分類方法,它是一類利用概率統計知識進行分類的算法。在許多場合,樸素貝葉斯分類算法可以與決策樹和神經網絡分類算法相媲美,該算法能運用到大型數據庫中,而且方法簡單、分類準確率高、速度快。
通俗來講,貝葉斯算法是一種把類的先驗知識和數據中收集的新證據相結合的統計原理。具體表示就是先驗概率 + 數據 = 后驗概率。貝葉斯公式見公式(2.1).
???????????????????????(2.1)
?
把上面的公式進行擴展到多維向量。以信息分類為例。信息分類是信息處理中最基本的模塊,每一段信息無論長與短,都由若干特征組成,因此可以將所有特征視為一個向量集有向量集W = (W1, W2, W3, …,W n),其中Wi即表示其中第i個特征.而信息的分類也可以視為一個分類標記的集合C = {C1, C2, C3, …,Cn}.在進行特征學習之前,特征Wi與分類標記C?j的關系不是確定值,因此需要提前P(C|W).即在特征Wi出現的情況下,信息屬于分類標記C的概率對應的公式為公式(2.2):
??????????????(2.2)???
?
2.2.貝葉斯算法推導過程
?????有統計學的知識:如果X和Y相互獨立,則有聯合概率:
??????????P(X,Y)?= P(X)*P(Y) ????????????????(2.3)
?????有條件概率公式:
??????P(Y|X) = P(X,Y) / P(X)????????????????(2.4)
??????????P X|Y) = P(X,Y) / P(Y) ?????????????(2.5)
即
????????P(Y|X) = P(X|Y)P(Y) / P(X) ???????????(2.6)
接著由全概率公式:
????????????????(2.7)
?
綜合上面容易得貝葉斯公式(2.8):???(2.8)
?
2.3.貝葉斯算法應用實例
已知有如下圖的樣本數據。某網站發布一條采購產品的信息:沒有在詞庫中,沒有經過手機號校驗,沒有詳情,非會員發布的,請判斷該條產品信息的真實性?
?
解:
(一)準備階段
1.確定特征屬性x={a1,a2, a3 ,a4}
a1? 發布的采購信息產品詞是否在我們詞庫中;
a2? 發布信息時是否對手機號進行的短信驗證碼的校驗;
a3 ?發布的采購信息是否有詳情;
a4? 發布者是不是網站的會員;
2.確定類別集合C={y1,y2 }
y1 線索為真實采購;
y2 線索為虛假采購
(二)訓練階段
1.對每個類別計算P(y)
P(y=真實)=6/12(總樣本數)=1/2
P(y=假)=6/12(總樣本數)=1/2
2.對每個特征屬性計算所有劃分的條件概率P(x | y?)
2.1 在y取值真實的情況下
- 針對特征有無產品詞計算條件概率:
P(x1=有產品詞 | y)=1/2
- 針對特征是否經過手機號校驗計算條件概率:
P(x2=經過校驗 | y)=5/6
P(x2=不經過校驗 | y)=1/6
- 針對特征采購詳情校驗計算條件概率:
P(x3=有詳情 | y)=5/6
P(x3=無詳情 | y)=1/6
- 針對特征采購詳情校驗計算條件概率:
P(x4=會員 | y)=5/6
P(x4=非會員 | y)=1/6
2.2 在y取值為假的情況下
- 針對特征有無產品詞計算條件概率:
P(x1=有產品詞 | y)=2/3
P(x1=沒有產品詞 | y)=1/3
- 針對特征是否經過手機號校驗計算條件概率:
P(x2=經過校驗 | y)=1/2
P(x2=不經過校驗 | y)=1/2
- 針對特征采購詳情校驗計算條件概率:
P(x3=有詳情 | y)=0
P(x3=無詳情 | y)=1
- 針對特征采購詳情校驗計算條件概率:
P(x4=會員 | y)=1/3
P(x4=非會員 | y)=2/3
(三)應用階段
?????判斷題目中樣本X(沒在詞庫中,沒有經過手機號檢驗,沒有詳情,非會員發布)是否為真? 即判斷在上述四個特征屬性的情況下,該信息為真的概率和該信息為假的概率。
1)計算該信息為真的概率:
P(Y = 真 | x1 = 無,x2 =不經過 ?, x3 =無 ?, x4 = 非會員) ?
由上面公式可以看見,無論是計算該條信息為真的概率還是為假的概率,公式的分母都是,因此我們只需要計算分子的值并進行比較即可。
對應的分子為:
=1/2 * 1/2?* 1/6 * 1/6* 1/6 = 1/ 4*(6^3)
2)計算該信息為假的概率:
????同理可求:對應的分子為:1/2?* 1/2?* 1 * 2/3 * 1/3 ?1/18
比較該信息為真的概率和該信息為假的概率1/18 ?> 1/ 4*(6^3)。因此可以判斷該條信息為假的可能性較大
2.4貝葉斯應用小結
由樣例可見貝葉斯算法解題步驟分為三步:
????(一)準備階段:判斷有哪些特征屬性,特征的取值;判斷有哪些類別,進行分類; ?
????(二)訓練階段:根據訓練數據集去計算一些概率為后面應用階段準備。例如各種類別出現的概率;在各種類別各屬性取各種對應值的條件概率
????(三)應用求解階段:根據貝葉斯公式,進行具體的特征屬性下屬于各種類別的概率,比較概率的大小,進行歸類。
3.EM算法
3.1.EM算法介紹
EM算法也稱期望最大化算法。它是一種隱變量估計方法并且采用迭代優化策略,它的計算方法中每一次迭代都分兩步,其中一個為期望步(E步),另一個為極大步(M步)。
EM算法受到缺失思想影響,最初是為了解決數據缺失情況下的參數估計問題,其基本思想是:首先根據己經給出的觀測數據,估計出模型參數的值;然后再依據上一步估計出的參數值估計缺失數據的值,再根據估計出的缺失數據加上己經觀測到的數據重新再對參數值進行估計,然后反復迭代,直至最后收斂,迭代結束。
3.2.EM算法理論推導
首先給出EM公式和E-step,M-steps,接著借助極大似然估計的思想采用數理統計的知識進行證明。
EM公式:
現在進行理論證明,即證明公式(3.1)
證明:
公式(3.4)兩邊對分布q(z)求期望:
?
3.3.EM算法實例應用
????有兩個非標準的硬幣,這里的非標準是指擲硬幣時得到正反面概率不是相等的對這兩個硬幣共進行了5組實驗每組實驗開始前先選定一個硬幣然后用這個選定的硬幣進行十次投擲對結果進行記錄如下圖所示:
| 組 | 硬幣 | 正反(T代表正面,H代表反面) | |||||||||
| 1 | B | H | T | T | T | H | H | T | H | T | H |
| 2 | A | H | H | H | H | T | H | H | H | H | H |
| 3 | A | H | T | H | H | H | H | H | T | H | H |
| 4 | B | H | T | H | T | T | T | H | H | T | T |
| 5 | A | T | H | H | H | T | H | H | H | T | H |
可以看到第一組四組使用了硬幣B第二組,第三組,第五組使用硬幣A使用最大似然估計這兩個硬幣扔出正面的概率A硬幣共進行3組實驗投擲30次其中24次正面所以投擲正面的概率為0.8B硬幣共進行了兩組實驗共投擲20次其中9次正面所以投擲正面的概率為0.45。
?????接下來對這個小例子進行一點點小小的變化引入EM算法中重要的概念—–隱變量仍然是上面的五組實驗數據現在假設不知道每組實驗是由哪個硬幣投擲的只觀測到每次投擲的正反面如何利用最大似然法求每個硬幣投擲時正面朝上的概率。
?????在新的狀況下我們只觀測到了一部分數據即只有每次投擲結果是正面還是反面被觀察到另外一部分數據沒有被觀察到即每組實驗是采用的哪個硬幣這里可以發現現在的情況和EM算法提出的動機一樣了所以也就意味著可以用EM算法來解決。
???解:
先初始化P(a0)=0.6,P(b0)=0.5。
如果硬幣是A,則計算第一次實驗中5面朝上,5面朝下的概率:(0.6)^5 * (0.4)^5 = 0.0007962?;如果硬幣是B,計算第一次實驗中硬幣5面朝上5面朝下的概率:b?= (0.5)^5 * (0.5)^5 = 0.00097656625.
比較a和b的值,值越大,說明越可能使用該硬幣。由上面a,b的數值可以計算出:使用硬幣A的概率為:a/(a+b) = 0.45;使用硬幣B的概率為:b/( a+ b) = 0.55;由此可見,第一次實驗中我們有0.45的概率選擇硬幣A,有0.45的概率選擇硬幣B。于是,第一次實驗5個為正的結果:對應0.45*?5?=?2.25,所以5個為正的可以看作有2.25個是A產生的,同理,5個為反,0.45*5?=?2.25所以5個反面可以看作有2.5個是a產生的。
同理,我們用初始化的P(a0)=0.6,P(b0)=0.5去計算第二次實驗。如果硬幣是A,則計算第一次實驗中9面朝上,1面朝下的概率:(0.6)^9?* (0.4)^1?= 0.004031078 ;如果硬幣是B,計算第一次實驗中硬幣5面朝上5面朝下的概率:b?= (0.5)^9?* (0.5)^1?= 0.00097656625。
?由上面a和b的數值可以計算出:使用硬幣A的概率為:a/( a + b ) = 0.8;使用硬幣B的概率為:b/(a+ b) = 0.2;由此可見,第一次實驗中我們有0.8的概率選擇硬幣A,有0.2的概率選擇硬幣B。于是,第一次實驗9個為正的結果:對應0.8*?9?=?7.2,所以9個為正的可以看作有7.2個是A產生的,同理,1個為反,0.2*1?=?0.2所以5個反面可以看作有0.2個是a產生的。
因為樣本中一共有5組數據,上面我們具體計算了第一組和第二組數據,按照上面的思路我們依次完成第三輪,第四輪,第五輪的計算。過程和結果如下面過程圖。整個圖反映了第一輪過程,我們得到新的P(a1),P(a2).根據新得到的概率加上已知五次測試數據,我們進行第二輪迭代,一直迭代至收斂,得到的結果就是我們想要的結果。
我們使用計算機進行編程模擬可以得到最后的結果為:pa=0.796744 pb=0.519659。
過程圖(來源于知乎)
3.4.EM算法小結
EM算法解題思路(以上述硬幣為例):
(一):隨機初始化A硬幣正面朝上的概率和B硬幣正面朝上的概率
(二):利用初始化的概率對已知的五組樣本數據進行一一訓練,利用五組樣本數據的均值更新初始化的概率。
(三):利用更新后的概率和已知的五組數據進行第二輪訓練,直至收斂,結束迭代,得到結果。
4. 小結
在高等數理統計中貝葉斯算法和EM算法偏向理論定義和介紹,本篇論文通過理論和實例結合全面展現了這兩種算法的思想。并且以兩個具體例子把理論的算法應用到我們的實際生活中。在一方面能夠給我們提供解決問題的思路,在另一方面利用計算機編程去模擬算法也能夠提高我們解決問題的能力。
可以看到各行各業、各個領域只有重視數理統計的重要作用, 并且把數理統計和數據挖掘結合起來, 才能為生產和實踐活動提供更加準確的參考, 從而形成更加科學的決策。
參考文獻
[1]??Wu, Xindong, et al. "Top 10 algorithms in data mining."?Knowledge and information systems?14.1 (2008): 1-37.
[2]??Dempster A P, Laird N M, Rubin D B. Maximum likelihood from incomplete data via the EM algorithm[J]. Journal of the royal statistical society. Series B (methodological), 1977: 1-38.
總結
- 上一篇: 状态压缩DP入门
- 下一篇: jquery mobile 从一个htm