870 likes | 1.16k Views
Microsoft SQL Server 2005 Data Mining 演算法 – Naïve Bayes. 謝邦昌 輔仁大學統計資訊學系 教授 中華資料採礦協會 理事長. stat1001@mails.fju.edu.tw WWW.CDMS.ORG.TW. Naïve Bayes Classifier 單純貝氏分類. 何謂 Naïve Bayes Classifer. 單純貝氏分類器 (Naïve Bayes Classifier) 是一種簡單且實用的 分類 方法。 在某些領域的應用上,其分類效果優於類神經網路和決策樹
E N D
Microsoft SQL Server 2005 Data Mining 演算法 – Naïve Bayes 謝邦昌 輔仁大學統計資訊學系 教授中華資料採礦協會 理事長 stat1001@mails.fju.edu.tw WWW.CDMS.ORG.TW
何謂Naïve Bayes Classifer • 單純貝氏分類器 (Naïve Bayes Classifier) 是一種簡單且實用的分類方法。 • 在某些領域的應用上,其分類效果優於類神經網路和決策樹 • 採用監督式的學習方式,分類前必須事先知道分類型態,透過訓練樣本的訓練學習,有效地處理未來欲分類的資料。
何謂Naïve Bayes Classifer • 用於大型資料庫,可以得出準確高且有效率的分類結果 • 單純貝氏分類器主要是根據貝氏定理 (Bayesian Theorem) ,來預測分類的結果。
何謂Naïve Bayes Classifer • 單純貝氏分類器,主要的運作原理,是透過訓練樣本,學習與記憶分類根據所使用屬性的關係,產生這些訓練樣本的中心概念,再用學習後的中心概念對未歸類的資料進行類別預測,以得到受測試資料物件的目標值。 • 每筆訓練樣本,一般含有分類相關連屬性的值,及分類結果 (又稱為目標值);一般而言,屬性可能出現兩種以上不同的值,而目標值則多半為兩元的相對狀態,如 “是/否”,”好/壞”,”對/錯”,”上/下”。
隨機實驗 1.新生嬰兒性別 2.產品檢驗 樣本點 1.男性、女性 2.良品、不良品 樣本空間 1.S={男性、女性} 2.S={良品、不良品} 隨機實驗(Random Experiment)是一種過程,實驗前已知所有可能結果,實驗前不可預知實驗結果,相同狀況下實驗可重複試行。 樣本空間:隨機實驗所有可能結果所構成的集合。樣本空間內元素稱為樣本點。樣本空間的子集合稱為事件。 隨機實驗
機率的概念 • 機率是衡量某一事件可能發生的程度(機會大小),並針對此一不確定事件發生之可能賦予一量化的數值。 • 考試會錄取的機率、明天會下雨的機率
機率理論的種類 一、古典機率 又稱先驗機率(prior probability)或事前機率,一隨機實驗滿足下列條件: 1.樣本空間的樣本點數是有限的 2.樣本空間內所有樣本點發生機率為相同的 事件E發生的機率以P(E)表示: P(E)=事件E樣本點之個數/樣本空間樣本點之個數
機率理論的種類 二、經驗機率 又稱相對頻率機率,是指一實驗重複實行,則某事件發生的機率定為在長期的實行中,該事件出現的次數與實驗總次數之比 P(E)=lim n(E) n→∞ n n:隨機實驗之總次數,n(E):事件E出現的次數 三、主觀機率 研究者根據自己的判定,給予機率,只要滿足P(E)→[0,1]即可
事件機率 • 聯合機率(joint probability) 表示A事件和B事件同時發生的機率= P(A ∩ B) • 邊際機率(marginal probability) 在A和B的樣本空間中,只看A或B的機率,稱之邊際機率 • 條件機率(conditional probability) 在發生A的條件下,發生B的機率,稱為P(B|A)
聯合機率:P (男性,贊成)=P(A1∩B1)=40/200=0.2 邊際機率 : P (贊成)=P(B1)= P(A1∩B1)+ P(A2∩B1)=0.25 條件機率 : P (贊成|男性)=P(B1|A1)= P(A1∩B1)/ P(A1)=0.25
乘法法則(Multiplicative rule) P(A∩B) P(B│A)= ───── P(A) P(A∩B)= P(B)×P(A│B) = P(A)×P(B│A) P(A∩B) P(A│B)= ───── P(B)
獨立事件 設事件A和事件B滿足以下條件: • P(A)>0,P(B│A)=P(B) • P(B)>0,P(A│B)=P(A) • P(A∩B)=P(A)×P(B) 則稱A與B為『獨立事件』。
貝氏定理 P(Ai∩B) P(Ai)×P(B│Ai) • P(Ai│B)= ────── = ─────────── P(B) n ΣP(Ai)×P(B│Ai) i=1 • P(Ai)表事前機率(Prior probability)。 • P(Ai│B)表事後機率(Posteriori probability),事件Ai是一原因,B是一結果。 • Baye's rule 是一由已知結果求原因的機率。
旅客搭乘飛機必須經電子儀器檢查是否身上攜帶金屬物品,攜帶金屬儀器會發出聲音的機會是97%,但身上無金屬物品儀器會發出聲音的機會是5%。若已知一般乘客身上帶有金屬物品的機會是30%,若某旅客經過儀器檢查時發出聲音,請問他身上有金屬物品的機會是多少?旅客搭乘飛機必須經電子儀器檢查是否身上攜帶金屬物品,攜帶金屬儀器會發出聲音的機會是97%,但身上無金屬物品儀器會發出聲音的機會是5%。若已知一般乘客身上帶有金屬物品的機會是30%,若某旅客經過儀器檢查時發出聲音,請問他身上有金屬物品的機會是多少? 解:設A=「有金屬物」,B= 「儀器會發聲」則 =0.8926
Naïve Bayes Classifer • 單純貝氏分類器主要是根據貝氏定理 (Bayesian Theorem) ,交換事前 (prior) 及事後 (posteriori) 機率,配合決定分類特性的各屬性彼此間是互相獨立的 (conditional independence) 的假設,來預測分類的結果。
hMAP: 最大可能的假說 (Maximum APosteriori) D: 訓練樣本 V: 假說空間 (hypotheses space) P(D): 訓練樣本的事前機率,對於假說h而言,為一常數 P(h): 假說h事前機率 (尚未觀察訓練樣本時的機率) P(h|D): 在訓練樣本D集合下,假說h出現的條件機率
單純貝氏分類器會根據訓練樣本,對於所給予測試物件的屬性值 (a1,a2,a3,…,an) 指派具有最高機率值的類別 (C表示類別的集合) 為目標結果。 • 其中,假設一共有n個學習概念的屬性A1, A2, …, An,a1為A1相對應的屬性值。
單純貝氏分類器演算法 1.計算各屬性的條件機率 P(C=cj | A1=a1,⋯,An=an) 貝氏定理: 屬性獨立: 2.預測推論新測試樣本所應歸屬的類別
只要單純貝氏分類器所涉及學習概念的屬性,彼此間互相獨立的條件被滿足時,單純貝氏分類器的所得到的最大可能分類結果cNB,與貝氏定理的最大可能假說hMAP具有相同的功效
單純貝氏分類器實例 • 辦信用卡意願:
判斷 (女性,年齡介於31~45之間,不具學生身份,收入中等)者會不會辦理信用卡。 • 首先根據訓練樣本計算各屬性相對於不同分類結果的條件機率: P(性別=女|辦卡=會)=5/7P(性別=女|辦卡=不會)=1/3 P(年齡=31~45|辦卡=會)=3/7P(年齡=31~45|辦卡=不會)=1/3 P(學生=否|辦卡=會)=5/7 P(學生=否|辦卡=不會)=0/3 P(收入=中|辦卡=會)=2/7 P(收入=中|辦卡=不會)=2/3
再應用單純貝氏分類器進行類別預測: P(辦卡=會)=7/10 P(辦卡=不會)=3/10 P(會)P(女|會)P(31~45|會)P(否|會)P(中|會)=15/343≒0.044 P(不會)P(女|不會)P(31~45|不會)P(否|不會)P(中|不會)=0
訓練樣本中對於 (女性,年齡介於31~45之間,不具學生身份,收入中等) 的個人,單純貝氏分類器會將其分類到會辦理信用卡的類別。而且辦理的機率是 (0.044)/(0.044+0)=1 (正規化分類的結果P(會)/(P(會)+P(不會))。 • 故使用單純貝氏分類器,會將 (女性,年齡介於31~45之間,不具學生身份,收入中等) 的個人歸類到 “會” 辦理信用卡的類別中。
單純貝氏分類器對於各種屬性相對於目標值 (分類的類別) 的條件機率,是先找出訓練樣本中,某目標值出現的個數 (n),及在這些目標值的樣本中,特定屬性值出現的個數 (na),然後na/n即為該特定屬性在該目標值下的條件機率。如上例P(性別=女|辦卡=會) 的條件機率是5/7,因為10筆訓練樣本一共有七筆是會辦卡,而會辦卡的七筆中,有五筆是女性。
Bayesian Classification • Bayes Theorem: P(H|X)=P(X|H)P(H)/P(X) • Let X is a data sample whose class label is unknown • Let H be a class label • P(H) is the prior probability of H • P(H|X) is the posterior probability of H conditioned on X • Example • X: a red and round object • C: being an apple or an orange • H: being an apple (H C)
Naive Bayesian Classification Classify X=(age=“<=30”, income=“medium”, student=“yes”, credit-rating=“fair”) • P(buys_computer=yes) = 9/14 • P(buys_computer=no)=5/14 • P(age=<30|buys_computer=yes)=2/9 • P(age=<30|buys_computer=no)=3/5 • P(income=medium|buys_computer=yes)=4/9 • P(income=medium|buys_computer=no)=2/5 • P(student=yes|buys_computer=yes)=6/9 • P(student=yes|buys_computer=no)=1/5 • P(credit-rating=fair|buys_computer=yes)=6/9 • P(credit-rating =fair|buys_computer=no)=2/5 • P(X|buys_computer=yes)=0.044 • P(X|buys_computer=no)=0.019 • P(buys_computer=yes|X) P(X|buys_computer=yes)P(buys_computer=yes)=0.028 • P(buys_computer=no|X) P(X|buys_computer=no) P(buys_computer=no)=0.007
Microsoft Naive Bayesian • Easy to Train Model • Algorithm Parameters • MAXIMUM_INPUT_ATTRIBUTES • 超過此值會自動啟動欄位篩選機置 • MAXIMUM_STATES • 類型屬性項目最大值 • MINIMUM_DEPENDENCY_PROBABILITY • 介於0~1,數值越大,模型使用變數會減少
Microsoft Naive Bayesian Naive Bayesian 只能接受類別屬性的資料,所以在SSAS 中可先將資料 類別化後再用 Naïve Bayes 來做分類
建立Naïve Bayes 分類模型結果及其分類變數間之關係
建立Naïve Bayes 分類模型結果及其分類變數間之關係