樸素貝葉斯法
分類算法的內容是要求給定特征,讓我們得出類別,這也是所有分類問題的關鍵
基本概念:
貝葉斯定理P(H|D)=P(D|H)*P(H)/P(D)
我們通過對上面式子,可以把一個難求的問題變成三個相對簡單的求解
樸素貝葉斯算法是假設各個特征之間相互獨立
H類別集合(向量) D項集合(特征集合)其中每一個元素都是待分類項分類算法的任務就是構造分類器f。
P(H):先驗 也就是樣本中類別的概率 在沒有任何數據的時候我所認為參數的分布
P(D|H):似驗 樣本中得到的
P(H|D):后驗 需要最后計算的 由于需要高緯積分,很難計算
P(D):證據 ???
由1可知,特征向量 X 的維度不一定是一維的,可能是多維的:X=(x1,x2,x3,....xn)
因此樣本類別Y的取值 這里寫圖片描述 是跟 樣本的每一個維度取值有關的。因此可由貝葉斯定理得出下式:
則似驗計算如右:
則根據全概率公式,證據:
一般來說,證據概率是一個常量
1.3.1首先我們要先抽象出偏差的概念
如果一個硬幣總是正面朝上,我們就說它的偏差是1,各占一半就是0.5
1.3.2選擇似然
1.求極大似然函數估計值的一般步驟:
(1) 寫出似然函數;
(2) 對似然函數取對數,并整理;(此步驟根據題意可以省略)
(3) 求導數;
(4) 解似然方程 。
1.3.3選擇先驗
1.3.4計算后驗
1.3.5畫圖
樸素貝葉斯分類的正式定義如下:
1、設X = {a1,a2,...,am}為一個待分類項,而每個a為x的一個特征屬性。
2、有類別集合C={y1,y2,...yn}
3、計算P(y1|x),P(y2|x),.....P(yn|x)
4、如果 P(Yk|x) = max{P(y1|x),P(y2|x),.....P(yn|x)},則xshuyuYk
那么現在的關鍵就是如何計算第3步中的各個條件概率。我們可以這么做:
1、找到一個已知分類的待分類項集合,這個集合叫做訓練樣本集。
2、統計得到在各類別下各個特征屬性的條件概率估計。即
3、如果各個特征屬性是條件獨立的,則根據貝葉斯定理有如下推導:
因為分母對于所有類別為常數,因為我們只要將分子最大化皆可。又因為各特征屬性是條件獨立的,所以有:
我們來看一個直觀的例子:已知:在夏季,某公園男性穿涼鞋的概率為1/2,女性穿涼鞋的概率為2/3,并且該公園中男女比例通常為2:1,問題:若你在公園中隨機遇到一個穿涼鞋的人,請問他的性別為男性或女性的概率分別為多少?
從問題看,就是上面講的,某事發生了,它屬于某一類別的概率是多少?即后驗概率。
設:由已知可得:男性和女性穿涼鞋相互獨立,所以
(若只考慮分類問題,只需要比較后驗概率的大小,的取值并不重要)。
由貝葉斯公式算出:
樸素貝葉斯分類的優缺點
優點:
算法邏輯簡單,易于實現(算法思路很簡單,只要使用貝葉斯公式轉化!)
分類過程中時空開銷小(假設特征相互獨立,只會涉及到二維存儲)
缺點:
理論上,樸素貝葉斯模型與其他分類方法相比具有最小的誤差率。但是實際上并非總是如此,這是因為樸素貝葉斯模型假設屬性之間相互獨立,這個假設在實際應用中往往是不成立的,在屬性個數比較多或者屬性之間相關性較大時,分類效果不好。
而在屬性相關性較小時,樸素貝葉斯性能最為良好。對于這一點,有半樸素貝葉斯之類的算法通過考慮部分關聯性適度改進。
總結起來,最大似然估計的目的就是:利用已知的樣本結果,反推最有可能(最大概率)導致這樣結果的參數值。
高斯樸素貝葉斯模型
在高斯樸素貝葉斯模型中,特征向量X的特征 通常為 連續型變量,并且假定所有特征的取值是符合高斯分布的
在多項分布樸素貝葉斯模型中,特征向量X的特征 通常為 離散型變量,并且假定所有特征的取值是符合多項分布的,可用于文本分類。
在伯努利樸素貝葉斯模型中,每個特征的取值是布爾型,或以0和1表示,所以伯努利模型中,每個特征值為0或者1。
在文本分類中,多項分布樸素貝葉斯是以文本的單詞為粒度(以特征為粒度)進行計算的,即計算該單詞特征在對應的文檔中出現的次數,而伯努利樸素貝葉斯是為文本為粒度(以樣本為粒度)進行計算的,即計算存在該單詞特征的文檔個數。因此伯努利樸素貝葉斯模型在一定程度上忽略了同一個文檔中的單詞的詞頻
?
import numpy#二項分布生成器a = numpy.random.binomial(n=10, p=0.7, size = 100)print(a)a_count= 0EX=0Ex=0Dx=0for i in a:????while i == 7:????????a_count = a_count+1????????break????Ex = Ex+a[i]for j in a:????Dx = (a[i]-Ex)*(a[i]-Ex)print(a_count)print(Ex/100)print(Dx/100)
蒙特卡洛模擬和馬爾可夫鏈