通俗易懂理解樸素貝葉斯分類的拉普拉斯平滑
點(diǎn)擊上方“小白學(xué)視覺”,選擇加"星標(biāo)"或“置頂”
重磅干貨,第一時(shí)間送達(dá)
這個(gè)男生的四個(gè)特征是長(zhǎng)相不帥,性格不好,身高矮,不上進(jìn),我們最終得出的結(jié)論是女生不嫁!很多人說這是一道送分題,哈哈哈哈。我們用數(shù)學(xué)算法也說明了不靠譜是取不到老婆滴!
那么我們?cè)賮硪粋€(gè)例子,假如此時(shí)另外一對(duì)情侶,這對(duì)情侶中,男生的四個(gè)特征是,長(zhǎng)相帥,性格爆好,身高高,上進(jìn),那么他的女朋友嫁還是不嫁呢?可能又會(huì)有小伙伴說這是一道送分題,是不是,我們下面用事實(shí)說話!
下面通過例子來引出拉普拉斯平滑過程!
還是下面的訓(xùn)練數(shù)據(jù):

四個(gè)特征集合分別長(zhǎng)相{帥,不帥}、性格{爆好,好,不好}、身高{高,中,矮}、上進(jìn)與否{上進(jìn),不上進(jìn)}
我們此時(shí)要求出該男生在四個(gè)特征分別是長(zhǎng)相帥,性格爆好,身高高,上進(jìn)的情況下,他對(duì)應(yīng)的嫁與不嫁的概率誰大誰小,從而得出結(jié)論!
也就是要比較p(嫁|長(zhǎng)相帥,性格爆好,身高高,上進(jìn))與p(不嫁|長(zhǎng)相帥,性格爆好,身高高,上進(jìn))的概率大小。
按照樸素貝葉斯算法公式,我們可以得到如下公式:

由于兩者的分母都是p(長(zhǎng)相帥)、p(性格爆好)、p(身高高)、p(上進(jìn)),那么我們可以不算分母,比較的時(shí)候只比較倆個(gè)公式分子大小即可。
好的,下面我們開始計(jì)算,先計(jì)算在四個(gè)特征的條件下,嫁的概率。
我們需要分別計(jì)算p(性格爆好|嫁)、p(長(zhǎng)相帥|嫁)、p(身高高|嫁)、p(上進(jìn)|嫁)
首先我們來算p(性格爆好|嫁)=?我們觀察訓(xùn)練數(shù)據(jù),發(fā)現(xiàn)如下:

居然沒有一個(gè)數(shù)據(jù)有爆好這個(gè)特點(diǎn)的,那么p(性格爆好|嫁) = 0,那么我們可以看出問題了,根據(jù)公式:

我們最后的p(嫁|長(zhǎng)相帥、性格爆好、身高高、上進(jìn))由于一項(xiàng)p(性格爆好|嫁)為0,而造成整個(gè)概率為0,這顯然是錯(cuò)誤的。
而這個(gè)錯(cuò)誤的造成是由于訓(xùn)練量不足,會(huì)令分類器質(zhì)量大大降低。為了解決這個(gè)問題,我們引入Laplace校準(zhǔn)(這就引出了我們的拉普拉斯平滑),它的思想非常簡(jiǎn)單,就是對(duì)每個(gè)類別下所有劃分的計(jì)數(shù)加1,這樣如果訓(xùn)練樣本集數(shù)量充分大時(shí),并不會(huì)對(duì)結(jié)果產(chǎn)生影響,并且解決了上述頻率為0的尷尬局面。
引入拉普拉斯平滑的公式如下:


其中ajl,代表第j個(gè)特征的第l個(gè)選擇,Sj代表第j個(gè)特征的個(gè)數(shù),K代表種類的個(gè)數(shù)。
λ為1,這也很好理解,加入拉普拉斯平滑之后,避免了出現(xiàn)概率為0的情況,又保證了每個(gè)值都在0到1的范圍內(nèi),又保證了最終和為1的概率性質(zhì)!
我們可以通過下面例子更加深刻的理解這個(gè)公式:(現(xiàn)在我們是加入拉普拉斯平滑)
我們先需要分別計(jì)算p(性格爆好|嫁)、p(長(zhǎng)相帥|嫁)、p(身高高|嫁)、p(上進(jìn)|嫁),p(嫁)
p(性格爆好|嫁)=?統(tǒng)計(jì)滿足要求的如下面紅色部分

沒有一個(gè)滿足是性格爆好的條件,但是此時(shí)概率不為0,按照加入拉普拉斯平滑后的公式,性格特征的個(gè)數(shù)為爆好,好,不好,三種情況,那么Sj為3,則最終概率為1/9 (嫁的個(gè)數(shù)為6+特征個(gè)數(shù)為3)
p(長(zhǎng)相帥|嫁)=?統(tǒng)計(jì)滿足條件的如下面紅色部分:

由上圖可知滿足要求的為3個(gè),按照加入拉普拉斯平滑后的公式,長(zhǎng)相特征的個(gè)數(shù)為帥,不帥,兩種情況,那么Sj為2,則最終概率p(長(zhǎng)相帥|嫁)為4/8 (嫁的個(gè)數(shù)為6+特征個(gè)數(shù)為2)
p(身高高|嫁) = ?統(tǒng)計(jì)滿足條件的如下面紅色部分:

由上圖可知滿足要求的為3個(gè),按照加入拉普拉斯平滑后的公式,身高特征的個(gè)數(shù)為高,中,矮情況,那么Sj為3,則最終概率p(身高高|嫁)為4/9 (嫁的個(gè)數(shù)為6+特征個(gè)數(shù)為3)
p(上進(jìn)|嫁)=?統(tǒng)計(jì)滿足要求的如下面紅色部分:

由上圖可知滿足要求的為5個(gè),按照加入拉普拉斯平滑后的公式,上進(jìn)特征的個(gè)數(shù)為上進(jìn),不上進(jìn)情況,那么Sj為2,則最終概率p(上進(jìn)|嫁)為6/8 (嫁的個(gè)數(shù)為6+特征個(gè)數(shù)為2)
p(嫁) = ?滿足要求的如下紅色標(biāo)注:

由上圖可知滿足要求的為6個(gè),按照加入拉普拉斯平滑后的公式,種類的個(gè)數(shù)為嫁,不嫁情況,那么K為2,則最終概率p(嫁)為7/14 = 1/2 (嫁的個(gè)數(shù)為6+種類個(gè)數(shù)為2)
到這里為止,我們已經(jīng)算出了在該男生條件下,嫁的概率為:
p(嫁|長(zhǎng)相帥、性格爆好、身高高、上進(jìn)) = 1/9*4/8*4/9*6/8*1/2
下面我們需要算出p(不嫁|長(zhǎng)相帥、性格爆好、身高高、上進(jìn))的概率,然后與上面的數(shù)值進(jìn)行比較即可,算法與上面完全一模一樣!這里也走一遍。
我們需要估計(jì)出p(長(zhǎng)相帥|不嫁)、p(性格爆好|不嫁)、p(身高高|不嫁)、p(上進(jìn)|不嫁),p(不嫁)的概率分別為多少。
p(長(zhǎng)相帥|不嫁)=?滿足要求如下面紅色標(biāo)注:

由上圖可知滿足要求的為5個(gè),按照加入拉普拉斯平滑后的公式,長(zhǎng)相帥特征的個(gè)數(shù)為不帥,帥情況,那么Sj為2,則最終概率p(長(zhǎng)相不帥|不嫁)為6/8 (不嫁的個(gè)數(shù)為6+特征個(gè)數(shù)為2)
p(性格爆好|不嫁)=?滿足要求如下面紅色標(biāo)注:

沒有一個(gè)滿足是性格爆好的條件,但是此時(shí)概率不為0,按照加入拉普拉斯平滑后的公式,性格特征的個(gè)數(shù)為爆好,好,不好,三種情況,那么Sj為3,則最終概率p(性格爆好|不嫁)為1/9 (不嫁的個(gè)數(shù)為6+特征個(gè)數(shù)為3)
p(身高高|不嫁)=?滿足要求如下面紅色標(biāo)注:

沒有一個(gè)滿足是身高高的條件,但是此時(shí)概率不為0,按照加入拉普拉斯平滑后的公式,身高特征的個(gè)數(shù)為高,中,矮,三種情況,那么Sj為3,則最終概率p(身高高|不嫁)為1/9 (不嫁的個(gè)數(shù)為6+特征個(gè)數(shù)為3)
p(上進(jìn)|不嫁)=?滿足要求如下面紅色標(biāo)注:

由上圖可知滿足要求的為3個(gè),按照加入拉普拉斯平滑后的公式,上進(jìn)特征的個(gè)數(shù)為上進(jìn),不上進(jìn)情況,那么Sj為2,則最終概率p(上進(jìn)|不嫁)為4/8 (不嫁的個(gè)數(shù)為6+特征個(gè)數(shù)為2)
p(不嫁)=?滿足要求的如紅色標(biāo)注:

由上圖可知滿足要求的為6個(gè),按照加入拉普拉斯平滑后的公式,種類的個(gè)數(shù)為嫁,不嫁情況,那么K為2,則最終概率p(不嫁)為7/14 = 1/2 (不嫁的個(gè)數(shù)為6+種類個(gè)數(shù)為2)
到這里為止,我們已經(jīng)算出了在該男生條件下,不嫁的概率為:
p(不嫁|長(zhǎng)相帥、性格爆好、身高高、上進(jìn)) = 5/8*1/9*1/9*3/8*1/2
于是我們可以得到
p(嫁|長(zhǎng)相帥、性格爆好、身高高、上進(jìn)) = 1/9*4/8*4/9*6/8*1/2 > p(不嫁|長(zhǎng)相帥、性格爆好、身高高、上進(jìn)) = 6/8*1/9*1/9*4/8*1/2
于是我們可以大膽的告訴女生,這樣的好男人,貝葉斯告訴你了,該嫁!!!
這就是我們使用拉普拉斯平滑后計(jì)算的整個(gè)算法過程!
希望對(duì)大家的理解有幫助~歡迎大家指錯(cuò)交流!
好消息!
小白學(xué)視覺知識(shí)星球
開始面向外開放啦??????
下載1:OpenCV-Contrib擴(kuò)展模塊中文版教程 在「小白學(xué)視覺」公眾號(hào)后臺(tái)回復(fù):擴(kuò)展模塊中文教程,即可下載全網(wǎng)第一份OpenCV擴(kuò)展模塊教程中文版,涵蓋擴(kuò)展模塊安裝、SFM算法、立體視覺、目標(biāo)跟蹤、生物視覺、超分辨率處理等二十多章內(nèi)容。 下載2:Python視覺實(shí)戰(zhàn)項(xiàng)目52講 在「小白學(xué)視覺」公眾號(hào)后臺(tái)回復(fù):Python視覺實(shí)戰(zhàn)項(xiàng)目,即可下載包括圖像分割、口罩檢測(cè)、車道線檢測(cè)、車輛計(jì)數(shù)、添加眼線、車牌識(shí)別、字符識(shí)別、情緒檢測(cè)、文本內(nèi)容提取、面部識(shí)別等31個(gè)視覺實(shí)戰(zhàn)項(xiàng)目,助力快速學(xué)校計(jì)算機(jī)視覺。 下載3:OpenCV實(shí)戰(zhàn)項(xiàng)目20講 在「小白學(xué)視覺」公眾號(hào)后臺(tái)回復(fù):OpenCV實(shí)戰(zhàn)項(xiàng)目20講,即可下載含有20個(gè)基于OpenCV實(shí)現(xiàn)20個(gè)實(shí)戰(zhàn)項(xiàng)目,實(shí)現(xiàn)OpenCV學(xué)習(xí)進(jìn)階。 交流群
歡迎加入公眾號(hào)讀者群一起和同行交流,目前有SLAM、三維視覺、傳感器、自動(dòng)駕駛、計(jì)算攝影、檢測(cè)、分割、識(shí)別、醫(yī)學(xué)影像、GAN、算法競(jìng)賽等微信群(以后會(huì)逐漸細(xì)分),請(qǐng)掃描下面微信號(hào)加群,備注:”昵稱+學(xué)校/公司+研究方向“,例如:”張三 + 上海交大 + 視覺SLAM“。請(qǐng)按照格式備注,否則不予通過。添加成功后會(huì)根據(jù)研究方向邀請(qǐng)進(jìn)入相關(guān)微信群。請(qǐng)勿在群內(nèi)發(fā)送廣告,否則會(huì)請(qǐng)出群,謝謝理解~

