分類算法之朴素貝葉斯——簡單天氣預報算法


     這兩天學習了一個相對照較簡單可是十分有用的分類算法——貝葉斯分類算法,與我做項目使用的svm算法相比確實有非常多精妙之處,。好比撒尿牛丸——好吃又好玩。而貝葉斯分類器則是簡單又強大。本文結合簡單天氣預報進行解說。

貝葉斯定理:

貝葉斯定理是概率論里面一個計算條件概率的法器!

為什么是法器,且看后文。先擺出計算公式:

    
或許乍一看這公式沒什么。可是我們先將公式移項得:P(A|B)P(B)=P(AB)。此時再將A與B互換一下。發現什么沒有?一個偉大的公式來了:

  P(A|B)P(B)=P(AB)=P(B|A)P(A)

=>

整個分類算法的核心思路就是依據這個公式!

為什么?且往下看!

什么是分類:

比方。如果將天氣分為簡單的晴天和雨天,那么晴天和雨天各為一個分類。

那么,怎樣進行天氣預報 ? 非常easy,利用已知的一些大氣特性!

為了簡化問題,這里如果大氣對天氣預報實用的屬性僅僅有空氣濕度、雲層密度兩個特征屬性。那么 天氣預測就是: 提供某一天的空氣濕度和雲層密度兩個屬性值,輸出一個晴天或雨天的結果!


朴素貝葉斯依據上述問題簡化進行簡單天氣預測:


對於之前的天氣預測問題的簡化看起來和之前的公式沒什么聯系,可是請大家細看:
假設用H表示濕度,而且濕度分為1、2、3級分別表示為h1、h2、h3。 而雲層密度用G表示,也分為1、2、3級,分別用g1、g2、g3表示。另外,天氣W表示,分為1、2兩級。晴天和雨天分別表示為w1、w2 。 
那么,通過以往的數據我們能夠統計 出現晴天或者雨天結果時(條件) h和g出現 的概率。即:P( H | W)、和 P( G | W ) 。當中H、G、W在之前提到的分級值范圍內取值, 假設空氣濕度H和雲層密度G 相對獨立,那么天氣預報轉換為求:
P=P(W |G,H )=P(W|G)xP(W|H) 
利用之前的公式轉化為:

P=[P(G|W)P(W)/P(G) ]X[P(H|W)P(W)/P(H)]


上式的P(G|W) 、P(H|W) 為之前統計出的概率,而P(W)為天氣為晴天和雨天的概率,能夠統計出晴天概率P(W1)和雨天概率P(W2),而P(G)、P(H)對每個分類類別為常數,比方無論H是1、2、3哪一種,P(H)都是常數(想想為什么?

 到此,我們就能夠進行預測了!


天晴的概率:
P1=P(w1|G,H)=[P(G|W1)P(W1)/P(G)]X[P(H|W1)P(W1)/P(H)]

雨天的概率:

P2=P(w2|G,H)=[P(G|W2)P(W2)/P(G)]X[P(H|W2)P(W2)/P(H)]

當中等式的右邊各個式子均為已知項。比如某天的濕度為h1,雲層密度為g1,則課分別帶入上面的公式。然后比較P1和P2的大小!
這樣,就能夠簡單地預測天氣了!
總結:貝葉斯可依據樣本數據的概率統計而進行分類概率預測,在非常多問題上可用,比方推斷微博用戶是否為僵屍賬號!詳細就不說了。

通用的 朴素貝葉斯分類的正式定義例如以下:

      1、設為一個待分類項,而每一個a為x的一個特征屬性。

      2、有類別集合

      3、計算

通常將P最大的項。作為目標分類。


免責聲明!

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



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