1. 程式人生 > >樸素貝葉斯演算法原理

樸素貝葉斯演算法原理

(作者:陳玓玏)

1. 損失函式

假設我們使用0-1損失函式,函式表示式如下:
在這裡插入圖片描述
Y Y 為真實值,有 c 1 , c

2 , . . . , c K {c_1,c_2,...,c_K}
K K 個類標記, f ( X ) f(X)
是決策函式,其輸出值就是類標記的預測值,那麼對應的代價函式,也就是期望損失函式為:
R e x p ( X ) = E ( L ( Y , f ( X ) ) ) R_exp(X) = E(L(Y,f(X)))
因為這裡的期望是對聯合概率取的,所以有如下關係:
R e x p ( X ) = k = 1 K L ( c k , f ( X ) ) P ( c k , X ) = E x k = 1 K L ( c k , f ( X ) ) P ( c k X ) R_exp(X) = \sum_{k=1}^{K}L(c_k,f(X))P(c_k,X) = E_x\sum_{k=1}^{K}L(c_k,f(X))P(c_k|X)
L ( Y , f ( X ) ) L(Y,f(X)) 代入,得到:
R e x p ( X ) = k = 1 K P ( Y c k X ) = k = 1 K ( 1 P ( Y = c k X ) ) R_exp(X) = \sum_{k=1}^{K}P(Y \neq c_k|X) = \sum_{k=1}^{K}(1-P(Y=c_k|X))
要讓損失函式最小化,只需要和項中的每一項都是最小即可:
m i n k = 1 K ( 1 P ( Y = c k X ) ) = m a x k = 1 K P ( Y = c k X ) = m a x P ( Y = c k X ) min\sum_{k=1}^{K}(1-P(Y=c_k|X)) = max\sum_{k=1}^{K}P(Y=c_k|X) = maxP(Y=c_k|X)
這也就是我們之後樸素貝葉斯演算法的依據:求得最大後驗概率即能最小化代價函式!

2. 求最大化後驗概率

基於上面的分析我們知道,對於資料集 D = ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) D = {(x_1,y_1),(x_2,y_2),...,(x_N,y_N)} ,當 y i y_i 的可取值為 c 1 , c 2 , . . . , c K {c_1,c_2,...,c_K} 時,我們對每個樣本 x i x_i 求其對應不同類標記 c k c_k 的後驗概率值,並選擇最後的後驗概率值對應的類標號 c k c_k 作為樣本的分類結果,我們就能以最小的代價函式獲得最優的分類。

那麼,我們可以根據貝葉斯公式來求後驗概率:
P ( Y = c k X = x i ) = P ( X = x i Y = c k ) P ( Y = c k ) k = 1 K P ( X = x i Y = c k ) P ( Y = c k ) P(Y=c_k|X=x_i) = \frac{P(X=x_i|Y=c_k)P(Y=c_k)}{\sum_{k=1}^{K}P(X=x_i|Y=c_k)P(Y=c_k)}

相關推薦

樸素演算法原理

(作者:陳玓玏) 1. 損失函式 假設我們使用0-1損失函式,函式表示式如下: Y Y Y為真實

樸素演算法原理及Scala實現

樸素貝葉斯分類器基於一個簡單的假定:給定目標值時屬性之間相互條件獨立。 P( Category | Document) = P ( Document | Category ) * P( Category) / P(Document) 更多學習其理論可以參看:

樸素演算法原理小結

    在所有的機器學習分類演算法中,樸素貝葉斯和其他絕大多數的分類演算法都不同。對於大多數的分類演算法,比如決策樹,KNN,邏輯迴歸,支援向量機等,他們都是判別方法,也就是直接學習出特徵輸出Y和特徵X之間的關係,要麼是決策函式$Y=f(X)$,要麼是條件分佈$P(Y|X)$。但是樸素貝葉斯卻是生成方法,也就

寫程式學ML:樸素演算法原理及實現(一)

[題外話]近期申請了一個微信公眾號:平凡程式人生。有興趣的朋友可以關注,那裡將會涉及更多更新機器學習、OpenCL+OpenCV以及影象處理方面的文章。 1、樸素貝葉斯演算法的原理 樸素貝葉斯法是基於貝葉斯定理與特徵條件獨立假設的分類方法。 和決策樹模型相比,樸素貝葉斯

帶你搞懂樸素演算法原理

一、樸素貝葉斯是什麼,怎麼用? 貝葉斯定理:樸素貝葉斯定理體現了後驗概率 P(y|x)P(y|x) 、先驗概率 P(y)P(y) 、條件概率 P(x|y)P(x|y) 之間的關係: P(y|x)=P(x,y)P(x)=P(x|y)⋅P(y)

寫程式學ML:樸素演算法原理及實現(二)

[題外話]近期申請了一個微信公眾號:平凡程式人生。有興趣的朋友可以關注,那裡將會涉及更多更新機器學習、OpenCL+OpenCV以及影象處理方面的文章。 2、樸素貝葉斯演算法的實現 2.1   樸素貝葉斯演算法的實現 按照樸素貝葉斯演算法的原理,我們需要實現一個樸素貝葉

機器學習數學原理(4)——樸素演算法

機器學習數學原理(4)——樸素貝葉斯模型 樸素貝葉斯模型(Naive Bayes Model),是一種基於貝葉斯定理與特徵條件獨立假設的分類方法,與決策樹模型(Decision Tree Model)同為目前使用最廣泛的分類模型之一,在各個領域都有廣泛的應用,例如我們經常會用到的垃圾

小白python學習——機器學習篇——樸素演算法

一.大概思路: 1.找出資料集合,所有一個單詞的集合,不重複,各個文件。 2.把每個文件換成0,1模型,出現的是1,就可以得到矩陣長度一樣的各個文件。 3.計算出3個概率,一是侮辱性的文件概率,二是侮辱性文件中各個詞出現的概率,三是非侮辱性文件中各個詞出現的概率。 4.二、三計算方法

樸素演算法應用——垃圾簡訊分類

理解貝葉斯公式其實就只要掌握:1、條件概率的定義;2、乘法原理 P (

機器學習——樸素演算法

概率定義為一件事情發生的可能性 概率分為聯合概率和條件概率  聯合概率:包含多個條件,且所有條件同時成立的概率 記作:P(A,B)  P(A,B)=P(A)P(B) 條件概率:就是事件A在另外一個事件B已經發生的條件概率 記作:P(A|B)  

機器學習實踐(九)—sklearn之樸素演算法

一、樸素貝葉斯演算法 什麼是樸素貝葉斯分類方法 屬於哪個類別概率大,就判斷屬於哪個類別 概率基礎 概率定義為一件事情發生的可能性 P(X) : 取值在[0, 1] 聯合概率、條件概率與相互獨立

樸素演算法優化與 sklearn 實現

1. 引言 上一篇日誌中,我們主要介紹了貝葉斯演算法,並提供了 python 實踐: 樸素貝葉斯演算法的推導與實踐 但執行上一篇日誌中的示例,我們發現出現了下面的結果: ['love', 'my', 'dalmation'] 屬於非侮辱類 ['stu

樸素演算法的推導與實踐

1. 概述 在此前的文章中,我們介紹了用於分類的演算法: k 近鄰演算法 決策樹的構建演算法 – ID3 與 C4.5 演算法 但是,有時我們無法非常明確地得到分類,例如當資料量非常大時,計算每個樣本與預測樣本之間的距

機器學習——樸素演算法Python實現

簡介 這裡參考《統計學習方法》李航編進行學習總結。詳細演算法介紹參見書籍,這裡只說明關鍵內容。 即 條件獨立下:p{X=x|Y=y}=p{X1=x1|Y=y} * p{X2=x2|Y=y} *...* p{Xn=xn|Y=y} (4.4)等價於p{Y=ck|X=x

第3章 樸素演算法 (二 演算法實戰)

3.6樸素貝葉斯實踐 3.6.1樸素貝葉斯之微博評論篩選 以微博評論為例。為了不影響微博的發展,我們要遮蔽低俗的言論,所以要構建一個快速過濾器,如果某條評論使用了負面或者侮辱性等低俗的語言,那麼就將該留言標誌為內容不當。過濾這類內容是一個很常見的需求。對此問題建

機器學習樸素演算法

樸素貝葉斯屬於監督學習的生成模型,實現簡單,沒有迭代,學習效率高,在大樣本量下會有較好表現。但因為假設太強——特徵條件獨立,在輸入向量的特徵條件有關聯的場景下,並不適用。 樸素貝葉斯演算法:主要思路是通過聯合概率建模,運用貝葉斯定理求解後驗概率;將後驗概率最大者對應的類別作

【ML學習筆記】樸素演算法的demo(機器學習實戰例子)

礙於這學期課程的緊迫,現在需要儘快從課本上掌握一些ML演算法,我本不想經過danger zone,現在看來卻只能儘快進入danger zone,數學理論上的缺陷只能後面找時間彌補了。 如果你在讀這篇文章,希望你不要走像我一樣的道路,此舉實在是出於無奈,儘量不要去做一個心

樸素演算法的python實現

import numpy as np import re #詞表到向量的轉換函式 def loadDataSet(): postingList = [['my', 'dog', 'has', 'flea', 'problems', 'help', 'please']

2.樸素演算法

樸素貝葉斯程式碼(原理很簡單) 直接上程式碼 import numpy as np from collections import Counter,defaultdict class Nbayes: def __init__(self): self

樸素演算法-My way of ML7

預備知識 聯合概率:包含多個條件,所有條件同時成立概率P(A,B)=P(A)P(B) 條件概率:事件A發生在事件B發生的條件之下的概率。所有的特徵值無關的時候才能適用條件概率 樸素貝葉斯的前提是: 特徵條件獨立,哈哈,這也是她被叫做樸素的原因,因為特徵之間很難獨