貝葉斯原理是英國數(shù)學(xué)家托馬斯·貝葉斯于18 世紀(jì)提出的,當(dāng)我們不能直接計算一件事情(A)發(fā)生的可能性大小的時候,可以間接的計算與這件事情有關(guān)的事情(X日缨,Y莉掂,Z)發(fā)生的可能性大小,從而間接判斷事情(A)發(fā)生的可能性大小责静。
在介紹貝葉斯原理之前决帖,先介紹幾個與概率相關(guān)的概念菱父。
1菩佑,概率相關(guān)概念
概率用于描述一件事情發(fā)生的可能性大小自晰,用數(shù)學(xué)符號P(x)
表示,x
表示隨機變量稍坯,P(x)
表示x
的概率酬荞。
隨機變量根據(jù)變量取值是否連續(xù),可分為離散型隨機變量和連續(xù)型隨機變量瞧哟。
聯(lián)合概率由多個隨機變量共同決定混巧,用P(x, y)
表示,含義為“事件x
與事件y
同時發(fā)生的概率”勤揩。
條件概率也是由多個隨機變量共同決定咧党,用P(x|y)
表示,含義為“在事件y
發(fā)生的前提下陨亡,事件x
發(fā)生的概率凿傅。”
邊緣概率:從 P(x, y)
推導(dǎo)出 P(x)
数苫,從而忽略 y
變量聪舒。
- 對于離散型隨機變量,通過聯(lián)合概率
P(x, y)
在y
上求和虐急, 可得到P(x)
箱残,這里的P(x)
就是邊緣概率。 - 對于連續(xù)型隨機變量止吁,通過聯(lián)合概率
P(x, y)
在y
上求積分被辑, 可得到P(x)
,這里的P(x)
就是邊緣概率敬惦。
概率分布:將隨機變量所有可能出現(xiàn)的值盼理,及其對應(yīng)的概率都展現(xiàn)出來,就能得到這個變量的概率分布俄删,概率分布分為兩種宏怔,分別是離散型和連續(xù)型。
常見的離散型數(shù)據(jù)分布模型有:
- 伯努利分布:表示單個隨機變量的分布畴椰,且該變量的取值只有兩個臊诊,0 或 1。例如拋硬幣(不考慮硬幣直立的情況)的概率分布就是伯努利分布斜脂。數(shù)學(xué)公式如下:
- P(x = 0) = 1 - λ
- P(x = 1) = λ
- 多項式分布:也叫分類分布抓艳,描述了一個具有 k 個不同狀態(tài)的單個隨機變量。這里的 k帚戳,是有限的數(shù)值玷或,如果 k 為 2儡首,那就變成了伯努利分布。
- P(x = k) = λ
- 二項式分布
- 泊松分布
常見的連續(xù)型數(shù)據(jù)分布模型有:
- 正態(tài)分布偏友,也叫高斯分布蔬胯,是最重要的一種。
- 均勻分布
- 指數(shù)分布
- 拉普拉斯分布
正態(tài)分布的數(shù)學(xué)公式為:
正態(tài)分布的分布圖為:
正態(tài)分布還可分為:
- 一元正態(tài)分布:此時 μ為 0约谈,σ為 1。
- 多元正態(tài)分布犁钟。
數(shù)學(xué)期望棱诱,如果把“每次隨機結(jié)果的出現(xiàn)概率”看做權(quán)重,那么期望就是所有結(jié)果的加權(quán)平均值涝动。
方差表示的是隨機變量的取值與其數(shù)學(xué)期望的偏離程度迈勋,方差越小意味著偏離程度越小,方差越大意味著偏離程度越大醋粟。
概率論研究的就是這些概率之間的轉(zhuǎn)化關(guān)系靡菇。
2,貝葉斯定理
貝葉斯公式如下:
含義:
- 等號右邊分子部分米愿,
P(Bi)
為先驗概率厦凤,P(A|Bi)
為條件概率。 - 等號右邊整個分母部分為邊緣概率育苟。
- 等號左邊
P(Bi|A)
為后驗概率较鼓,由先驗概率,條件概率违柏,邊緣概率計算得出博烂。
貝葉斯定理可用于分類問題,將其用在分類問題中時漱竖,可將上面的公式簡化為:
其中:
- c 表示一個分類禽篱,f 表示屬性值。
- P(c|f) 表示在待分類樣本中馍惹,出現(xiàn)屬性值 f 時躺率,樣本屬于類別 c 的概率。
- P(f|c) 是根據(jù)訓(xùn)練樣本數(shù)據(jù)万矾,進(jìn)行統(tǒng)計得到的肥照,分類 c 中出現(xiàn)屬性 f 的概率。
- P(c ) 是分類 c 在訓(xùn)練數(shù)據(jù)中出現(xiàn)的概率勤众。
- P(f) 是屬性 f 在訓(xùn)練樣本中出現(xiàn)的概率舆绎。
這就意味著,當(dāng)我們知道一些屬性特征值時们颜,根據(jù)這個公式吕朵,就可以計算出所屬分類的概率猎醇,最終所屬哪個分類的概率最大,就劃分為哪個分類努溃,這就完成了一個分類問題硫嘶。
貝葉斯推導(dǎo)
來看下貝葉斯公式是如何推導(dǎo)出來的。
如下圖兩個橢圓梧税,左邊為C沦疾,右邊為F。
現(xiàn)在讓兩個橢圓產(chǎn)生交集:
根據(jù)上圖可知:在事件F 發(fā)生的條件下第队,事件C 發(fā)生的概率就是P(C ∩ F) / P(F)
哮塞,即:
P(C | F) = P(C ∩ F) / P(F)
可得到:
P(C ∩ F) = P(C | F) * P(F)
同理可得:
P(C ∩ F) = P(F | C) * P(C)
所以:
P(C ∩ F) = P(C | F) * P(F) = P(F | C) * P(C)
P(C | F) = P(F | C) * P(C) / P(F)
3,樸素貝葉斯
假設(shè)我們現(xiàn)在有一個數(shù)據(jù)集凳谦,要使用貝葉斯定理忆畅,進(jìn)行分類。特征有兩個:f1尸执,f2〖铱現(xiàn)在要對數(shù)據(jù)F
進(jìn)行分類,那我們需要求解:
-
P(c|F)
:表示數(shù)據(jù)F
屬于分類c
的概率如失。
因為特征有 f1
與 f2
绊诲,那么:
P(c|F) = P(c|(f1,f2))
對于分類問題,特征往往不止一個褪贵。如果特征之間相互影響驯镊,也就是f1
與f2
之間相互影響,那么P(c|(f1,f2))
就不容易求解竭鞍。
樸素貝葉斯在貝葉斯的基礎(chǔ)上做了一個簡單粗暴的假設(shè)板惑,它假設(shè)多個特征之間互不影響,相互獨立偎快。
樸素的意思就是純樸冯乘,簡單。
用數(shù)學(xué)公式表示就是:
P(A, B) = P(A) * P(B)
實際上就是大學(xué)概率論中所講的事件獨立性晒夹,即事件A 與事件B 的發(fā)生互不干擾裆馒,相互獨立。
那么丐怯,根據(jù)樸素貝葉斯喷好,P(c|F)
的求解過程如下:
假設(shè)我們現(xiàn)在要分類的數(shù)據(jù)有兩類:c1 和 c2
。
那么對于數(shù)據(jù)F
的分類問題读跷,我們就需要求解兩個概率:P(c1|F) 和P(c2|F)
:
- 如果
P(c1|F) > P(c2|F)
梗搅,那么F
屬于c1
類。 - 如果
P(c1|F) < P(c2|F)
,那么F
屬于c2
類无切。
根據(jù)貝葉斯原理荡短,我們可以得到:
對于分類問題,我們的最終目的是分類哆键,而不是真正的求解出P(c1|F)
和 P(c2|F)
的確切數(shù)值掘托。
根據(jù)上面的公式,我們可以看到籍嘹,等號右邊的分母部分都是P(F)
:
所以我們只需要求出P(F|c1) × P(c1)
和 P(F|c2) × P(c2)
闪盔,就可以知道P(c1|F)
和 P(c2|F)
哪個大了。
所以對于P(c|F)
可以進(jìn)一步簡化:
4辱士,處理分類問題的一般步驟
用樸素貝葉斯原理泪掀,處理一個分類問題,一般要經(jīng)過以下幾個步驟:
-
準(zhǔn)備階段:
- 獲取數(shù)據(jù)集识补。
- 分析數(shù)據(jù)族淮,確定特征屬性辫红,并得到訓(xùn)練樣本凭涂。
-
訓(xùn)練階段:
- 計算每個類別概率
P(Ci)
。 - 對每個特征屬性贴妻,計算每個分類的條件概率
P(Fj|Ci)
切油。 -
Ci
代表所有的類別。 -
Fj
代表所有的特征名惩。
- 計算每個類別概率
-
預(yù)測階段:
- 給定一個數(shù)據(jù)澎胡,計算該數(shù)據(jù)所屬每個分類的概率
P(Fj|Ci) * P(Ci)
。 - 最終那個分類的概率大娩鹉,數(shù)據(jù)就屬于哪個分類攻谁。
- 給定一個數(shù)據(jù)澎胡,計算該數(shù)據(jù)所屬每個分類的概率
5,用樸素貝葉斯分類
接下來我們來處理一個實際的分類問題弯予,我們處理的是離散型數(shù)據(jù)戚宦。
5.1,準(zhǔn)備數(shù)據(jù)集
我們的數(shù)據(jù)集如下:
該數(shù)據(jù)集的特征集有身高
锈嫩,體重
和鞋碼
受楼,目標(biāo)集為性別
。
我們的目的是訓(xùn)練一個模型呼寸,該模型可以根據(jù)身高艳汽,體重和鞋碼來預(yù)測所屬的性別。
我們給定一個特征:
- 身高 = 高对雪,用
F1
表示河狐。 - 體重 = 中,用
F2
表示。 - 鞋碼 = 中甚牲,用
F3
表示义郑。
要求這個特征是男
還是女
?(用C1
表示男
丈钙,C2
表示女
)也就是要求P(C1|F)
大非驮,還是P(C2|F)
大?
# 根據(jù)樸素貝葉斯推導(dǎo)
P(C1|F)
=> P(C1|(F1,F2,F3))
=> P(C1|F1) * P(C1|F2) * P(C1|F3)
=> [P(F1|C1) * P(C1)] * [P(F2|C1) * P(C1)] * [P(F3|C1) * P(C1)]
P(C2|F)
=> P(C2|(F1,F2,F3))
=> P(C2|F1) * P(C2|F2) * P(C2|F3)
=> [P(F1|C2) * P(C2)] * [P(F2|C2) * P(C2)] * [P(F3|C2) * P(C2)]
5.2雏赦,計算P(Ci)
目標(biāo)集共有兩類:男和女劫笙,男出現(xiàn)4 次,女出現(xiàn)4 次星岗,所以:
P(C1) = 4 / 8 = 0.5
P(C2) = 4 / 8 = 0.5
5.3填大,計算P(Fj|Ci)
通過觀察表格中的數(shù)據(jù),我們可以知道:
# 性別為男的情況下俏橘,身高=高 的概率
P(F1|C1) = 2 / 4 = 0.5
# 性別為男的情況下允华,體重=中 的概率
P(F2|C1) = 2 / 4 = 0.5
# 性別為男的情況下,鞋碼=中 的概率
P(F3|C1) = 1 / 4 = 0.25
# 性別為女的情況下寥掐,身高=高 的概率
P(F1|C2) = 0 / 4 = 0
# 性別為女的情況下靴寂,體重=中 的概率
P(F2|C2) = 2 / 4 = 0.5
# 性別為女的情況下,鞋碼=中 的概率
P(F3|C2) = 2 / 4 = 0.5
5.4召耘,計算P(Fj|Ci) * P(Ci)
上面我們已經(jīng)推導(dǎo)過P(C1|F)
和 P(C2|F)
百炬,下面可以求值了:
P(C1|F)
=> [P(F1|C1) * P(C1)] * [P(F2|C1) * P(C1)] * [P(F3|C1) * P(C1)]
=> [0.5 * 0.5] * [0.5 * 0.5] * [0.25 * 0.5]
=> 0.25 * 0.25 * 0.125
=> 0.0078125
P(C2|F)
=> [P(F1|C2) * P(C2)] * [P(F2|C2) * P(C2)] * [P(F3|C2) * P(C2)]
=> [0 * 0.25] * [0.5 * 0.5] * [0.5 * 0.5]
=> 0
最終可以看到 P(C1|F) > P(C2|F)
,所以該特征屬于C1
污它,即男性剖踊。
6,總結(jié)
可以看到衫贬,對于一個分類問題:給定一個數(shù)據(jù)F德澈,求解它屬于哪個分類? 實際上就是要求解F
屬于各個分類的概率大小固惯,即P(C|F)
梆造。
根據(jù)樸素貝葉斯原理,P(C|F)
與 P(F|C) * P(C)
正相關(guān)缝呕,所以最終要求解的就是P(F|C) * P(C)
澳窑。這就將一個分類問題轉(zhuǎn)化成了一個概率問題。
下篇文章會介紹如何使用樸素貝葉斯處理實際問題供常。
(本節(jié)完摊聋。)
推薦閱讀: