一、前言
樸素貝葉斯算法是有監(jiān)督的學(xué)習(xí)算法堕阔,解決的是分類問題棍厂,如客戶是否流失、是否值得投資超陆、信用等級評定等多分類問題牺弹。該算法的優(yōu)點(diǎn)在于簡單易懂、學(xué)習(xí)效率高时呀、在某些領(lǐng)域的分類問題中能夠與決策樹张漂、神經(jīng)網(wǎng)絡(luò)相媲美。但由于該算法以自變量之間的獨(dú)立(條件特征獨(dú)立)性和連續(xù)變量的正態(tài)性假設(shè)為前提谨娜,就會導(dǎo)致算法精度在某種程度上受影響航攒。
二、樸素貝葉斯理論
樸素貝葉斯是貝葉斯決策理論的一部分趴梢,所以在講述樸素貝葉斯之前有必要快速了解一下貝葉斯決策理論漠畜。
1、貝葉斯決策理論
假設(shè)現(xiàn)在我們有一個(gè)數(shù)據(jù)集坞靶,它由兩類數(shù)據(jù)組成憔狞,數(shù)據(jù)分布如下圖所示:
我們現(xiàn)在用p1(x,y)表示數(shù)據(jù)點(diǎn)(x,y)屬于類別1(圖中紅色圓點(diǎn)表示的類別)的概率,用p2(x,y)表示數(shù)據(jù)點(diǎn)(x,y)屬于類別2(圖中藍(lán)色三角形表示的類別)的概率滩愁,那么對于一個(gè)新數(shù)據(jù)點(diǎn)(x,y)躯喇,可以用下面的規(guī)則來判斷它的類別:
如果p1(x,y)>p2(x,y)辫封,那么類別為1
如果p1(x,y)
也就是說硝枉,我們會選擇高概率對應(yīng)的類別。這就是貝葉斯決策理論的核心思想倦微,即選擇具有最高概率的決策妻味。已經(jīng)了解了貝葉斯決策理論的核心思想钞馁,那么接下來轧抗,就是學(xué)習(xí)如何計(jì)算p1和p2概率。
2贸典、條件概率
在學(xué)習(xí)計(jì)算p1?和p2概率之前,我們需要了解什么是條件概率(Conditional probability)雏逾,就是指在事件B發(fā)生的情況下嘉裤,事件A發(fā)生的概率,用P(A|B)來表示栖博。
根據(jù)文氏圖屑宠,可以很清楚地看到在事件B發(fā)生的情況下,事件A發(fā)生的概率就是P(A∩B)除以P(B)仇让。
這就是條件概率的計(jì)算公式典奉。
3、全概率公式
除了條件概率以外丧叽,在計(jì)算p1和p2的時(shí)候卫玖,還要用到全概率公式,因此踊淳,這里繼續(xù)推導(dǎo)全概率公式假瞬。
假定樣本空間S,是兩個(gè)事件A與A'的和迂尝。
上圖中笨触,紅色部分是事件A,綠色部分是事件A'雹舀,它們共同構(gòu)成了樣本空間S芦劣。
在這種情況下,事件B可以劃分成兩個(gè)部分说榆。
4虚吟、貝葉斯推斷
對條件概率公式進(jìn)行變形,可以得到如下形式:
我們把P(A)稱為"先驗(yàn)概率"(Prior probability)签财,即在B事件發(fā)生之前串慰,我們對A事件概率的一個(gè)判斷。
P(A|B)稱為"后驗(yàn)概率"(Posterior probability)唱蒸,即在B事件發(fā)生之后邦鲫,我們對A事件概率的重新評估。
P(B|A)/P(B)稱為"可能性函數(shù)"(Likelyhood)神汹,這是一個(gè)調(diào)整因子庆捺,使得預(yù)估概率更接近真實(shí)概率。
所以屁魏,條件概率可以理解成下面的式子:
后驗(yàn)概率√弦浴= 先驗(yàn)概率 x 調(diào)整因子
這就是貝葉斯推斷的含義。我們先預(yù)估一個(gè)"先驗(yàn)概率"氓拼,然后加入實(shí)驗(yàn)結(jié)果你画,看這個(gè)實(shí)驗(yàn)到底是增強(qiáng)還是削弱了"先驗(yàn)概率"抵碟,由此得到更接近事實(shí)的"后驗(yàn)概率"。
在這里坏匪,如果"可能性函數(shù)"P(B|A)/P(B)>1拟逮,意味著"先驗(yàn)概率"被增強(qiáng),事件A的發(fā)生的可能性變大适滓;如果"可能性函數(shù)"=1唱歧,意味著B事件無助于判斷事件A的可能性;如果"可能性函數(shù)"<1粒竖,意味著"先驗(yàn)概率"被削弱颅崩,事件A的可能性變小。
為了加深對貝葉斯推斷的理解蕊苗,我們舉一個(gè)例子沿后。
兩個(gè)一模一樣的碗,一號碗有30顆水果糖和10顆巧克力糖朽砰,二號碗有水果糖和巧克力糖各20顆〖夤觯現(xiàn)在隨機(jī)選擇一個(gè)碗,從中摸出一顆糖瞧柔,發(fā)現(xiàn)是水果糖漆弄。請問這顆水果糖來自一號碗的概率有多大?
我們假定造锅,H1表示一號碗撼唾,H2表示二號碗。由于這兩個(gè)碗是一樣的哥蔚,所以P(H1)=P(H2)倒谷,也就是說,在取出水果糖之前糙箍,這兩個(gè)碗被選中的概率相同渤愁。因此,P(H1)=0.5深夯,我們把這個(gè)概率就叫做"先驗(yàn)概率"抖格,即沒有做實(shí)驗(yàn)之前,來自一號碗的概率是0.5咕晋。
再假定雹拄,E表示水果糖,所以問題就變成了在已知E的情況下捡需,來自一號碗的概率有多大办桨,即求P(H1|E)筹淫。我們把這個(gè)概率叫做"后驗(yàn)概率"站辉,即在E事件發(fā)生之后呢撞,對P(H1)的修正。
根據(jù)條件概率公式饰剥,得到
這表明殊霞,來自一號碗的概率是0.6。也就是說汰蓉,取出水果糖之后绷蹲,H1事件的可能性得到了增強(qiáng)。
同時(shí)再思考一個(gè)問題顾孽,在使用該算法的時(shí)候祝钢,如果不需要知道具體的類別概率,即上面P(H1|E)=0.6若厚,只需要知道所屬類別拦英,即來自一號碗,我們有必要計(jì)算P(E)這個(gè)全概率嗎测秸?要知道我們只需要比較 P(H1|E)和P(H2|E)的大小疤估,找到那個(gè)最大的概率就可以。既然如此霎冯,兩者的分母都是相同的铃拇,那我們只需要比較分子即可。即比較P(E|H1)P(H1)和P(E|H2)P(H2)的大小沈撞,所以為了減少計(jì)算量慷荔,全概率公式在實(shí)際編程中可以不使用。
5缠俺、樸素貝葉斯推斷
理解了貝葉斯推斷拧廊,那么讓我們繼續(xù)看看樸素貝葉斯。貝葉斯和樸素貝葉斯的概念是不同的晋修,區(qū)別就在于“樸素”二字吧碾,樸素貝葉斯對條件個(gè)概率分布做了條件獨(dú)立性的假設(shè)。 比如下面的公式墓卦,假設(shè)有n個(gè)特征:
這樣我們就可以進(jìn)行計(jì)算了倦春。如果有些迷糊,讓我們從一個(gè)例子開始講起落剪,你會看到貝葉斯分類器很好懂睁本,一點(diǎn)都不難。
某個(gè)醫(yī)院早上來了六個(gè)門診的病人忠怖,他們的情況如下表所示:
現(xiàn)在又來了第七個(gè)病人呢堰,是一個(gè)打噴嚏的建筑工人。請問他患上感冒的概率有多大凡泣?
根據(jù)貝葉斯定理:
因此枉疼,這個(gè)打噴嚏的建筑工人皮假,有66%的概率是得了感冒。同理骂维,可以計(jì)算這個(gè)病人患上過敏或腦震蕩的概率惹资。比較這幾個(gè)概率,就可以知道他最可能得什么病航闺。
這就是貝葉斯分類器的基本方法:在統(tǒng)計(jì)資料的基礎(chǔ)上褪测,依據(jù)某些特征,計(jì)算各個(gè)類別的概率潦刃,從而實(shí)現(xiàn)分類侮措。
同樣,在編程的時(shí)候乖杠,如果不需要求出所屬類別的具體概率萝毛,P(打噴嚏) = 0.5和P(建筑工人) = 0.33的概率是可以不用求的。免費(fèi)視頻教程:www.mlxs.top? ??