貝葉斯分類是一類分類算法的總稱壁拉,這類算法均以貝葉斯定理為基礎(chǔ)泊柬,故統(tǒng)稱為貝葉斯分類。而樸素樸素貝葉斯分類是貝葉斯分類中最簡(jiǎn)單艺晴,也是常見的一種分類方法。這篇文章我盡可能用直白的話語總結(jié)一下我們學(xué)習(xí)會(huì)上講到的樸素貝葉斯分類算法掸屡,希望有利于他人理解封寞。
分類問題綜述
對(duì)于分類問題,其實(shí)誰都不會(huì)陌生仅财,日常生活中我們每天都進(jìn)行著分類過程狈究。例如,當(dāng)你看到一個(gè)人盏求,你的腦子下意識(shí)判斷他是學(xué)生還是社會(huì)上的人抖锥;你可能經(jīng)常會(huì)走在路上對(duì)身旁的朋友說“這個(gè)人一看就很有錢、”之類的話碎罚,其實(shí)這就是一種分類操作磅废。
既然是貝葉斯分類算法,那么分類的數(shù)學(xué)描述又是什么呢荆烈?
**從數(shù)學(xué)角度來說拯勉,分類問題可做如下定義:已知集合C = y1,y2,y3,..yn 和I= x1,x2,x3..xn
,確定映射規(guī)則y = f()憔购,使得任意xi
有且僅有一個(gè)yi ,使得 y = f(x) 成立**谜喊。
其中C叫做類別集合,其中每一個(gè)元素是一個(gè)類別倦始,而I叫做項(xiàng)集合(特征集合),其中每一個(gè)元素是一個(gè)待分類項(xiàng)山卦,f叫做分類器鞋邑。分類算法的任務(wù)就是構(gòu)造分類器f。
分類算法的內(nèi)容是要求給定特征账蓉,讓我們得出類別枚碗,這也是所有分類問題的關(guān)鍵。那么如何由指定特征铸本,得到我們最終的類別肮雨,也是我們下面要講的,每一個(gè)不同的分類算法箱玷,對(duì)應(yīng)著不同的核心思想怨规。
本篇文章陌宿,我會(huì)用一個(gè)具體實(shí)例,對(duì)樸素貝葉斯算法幾乎所有的重要知識(shí)點(diǎn)進(jìn)行講解波丰。
樸素貝葉斯分類
那么既然是樸素貝葉斯分類算法壳坪,它的核心算法又是什么呢?
是下面這個(gè)貝葉斯公式:
換個(gè)表達(dá)形式就會(huì)明朗很多掰烟,如下:
我們最終求的p(類別|特征)即可爽蝴!就相當(dāng)于完成了我們的任務(wù)。
例題分析
下面我先給出例子問題纫骑。
給定數(shù)據(jù)如下:
現(xiàn)在給我們的問題是蝎亚,如果一對(duì)男女朋友,男生想女生求婚先馆,男生的四個(gè)特點(diǎn)分別是不帥发框,性格不好,身高矮磨隘,不上進(jìn)缤底,請(qǐng)你判斷一下女生是嫁還是不嫁?
這是一個(gè)典型的分類問題番捂,轉(zhuǎn)為數(shù)學(xué)問題就是比較p(嫁|(不帥个唧、性格不好、身高矮设预、不上進(jìn)))與p(不嫁|(不帥徙歼、性格不好、身高矮鳖枕、不上進(jìn)))的概率魄梯,誰的概率大,我就能給出嫁或者不嫁的答案宾符!
這里我們聯(lián)系到樸素貝葉斯公式:我們需要求p(嫁|(不帥酿秸、性格不好、身高矮魏烫、不上進(jìn)),這是我們不知道的辣苏,但是通過樸素貝葉斯公式可以轉(zhuǎn)化為好求的三個(gè)量,p(不帥哄褒、性格不好稀蟋、身高矮、不上進(jìn)|嫁)呐赡、p(不帥退客、性格不好、身高矮、不上進(jìn))萌狂、p(嫁)(至于為什么能求档玻,后面會(huì)講,那么就太好了粥脚,將待求的量轉(zhuǎn)化為其它可求的值窃肠,這就相當(dāng)于解決了我們的問題!)
樸素貝葉斯算法的樸素一詞解釋
那么這三個(gè)量是如何求得刷允?
是根據(jù)已知訓(xùn)練數(shù)據(jù)統(tǒng)計(jì)得來冤留,下面詳細(xì)給出該例子的求解過程。
回憶一下我們要求的公式如下:
那么我只要求得p(不帥树灶、性格不好纤怒、身高矮、不上進(jìn)|嫁)天通、p(不帥泊窘、性格不好、身高矮像寒、不上進(jìn))烘豹、p(嫁)即可,好的诺祸,下面我分別求出這幾個(gè)概率携悯,最后一比,就得到最終結(jié)果筷笨。
p(不帥憔鬼、性格不好、身高矮胃夏、不上進(jìn)|嫁) = p(不帥|嫁)p(性格不好|嫁)p(身高矮|嫁)*p(不上進(jìn)|嫁)轴或,那么我就要分別統(tǒng)計(jì)后面幾個(gè)概率,也就得到了左邊的概率仰禀!
等等照雁,為什么這個(gè)成立呢?學(xué)過概率論的同學(xué)可能有感覺了答恶,這個(gè)等式成立的條件需要特征之間相互獨(dú)立吧囊榜!
對(duì)的!這也就是為什么樸素貝葉斯分類有樸素一詞的來源亥宿,樸素貝葉斯算法是假設(shè)各個(gè)特征之間相互獨(dú)立,那么這個(gè)等式就成立了砂沛!
但是為什么需要假設(shè)特征之間相互獨(dú)立呢烫扼?
1、我們這么想碍庵,假如沒有這個(gè)假設(shè)映企,那么我們對(duì)右邊這些概率的估計(jì)其實(shí)是不可做的悟狱,這么說,我們這個(gè)例子有4個(gè)特征堰氓,其中帥包括{帥挤渐,不帥},性格包括{不好双絮,好浴麻,爆好},身高包括{高囤攀,矮软免,中},上進(jìn)包括{不上進(jìn)焚挠,上進(jìn)}膏萧,那么四個(gè)特征的聯(lián)合概率分布總共是4維空間,總個(gè)數(shù)為233*2=36個(gè)蝌衔。
24個(gè)榛泛,計(jì)算機(jī)掃描統(tǒng)計(jì)還可以,但是現(xiàn)實(shí)生活中噩斟,往往有非常多的特征曹锨,每一個(gè)特征的取值也是非常之多,那么通過統(tǒng)計(jì)來估計(jì)后面概率的值亩冬,變得幾乎不可做艘希,這也是為什么需要假設(shè)特征之間獨(dú)立的原因。
2硅急、假如我們沒有假設(shè)特征之間相互獨(dú)立覆享,那么我們統(tǒng)計(jì)的時(shí)候,就需要在整個(gè)特征空間中去找营袜,比如統(tǒng)計(jì)p(不帥撒顿、性格不好、身高矮荚板、不上進(jìn)|嫁),
我們就需要在嫁的條件下凤壁,去找四種特征全滿足分別是不帥,性格不好跪另,身高矮拧抖,不上進(jìn)的人的個(gè)數(shù),這樣的話免绿,由于數(shù)據(jù)的稀疏性唧席,很容易統(tǒng)計(jì)到0的情況。 這樣是不合適的。
根據(jù)上面?zhèn)z個(gè)原因淌哟,樸素貝葉斯法對(duì)條件概率分布做了條件獨(dú)立性的假設(shè)迹卢,由于這是一個(gè)較強(qiáng)的假設(shè),樸素貝葉斯也由此得名徒仓!這一假設(shè)使得樸素貝葉斯法變得簡(jiǎn)單腐碱,但有時(shí)會(huì)犧牲一定的分類準(zhǔn)確率。
好的掉弛,上面我解釋了為什么可以拆成分開連乘形式症见。那么下面我們就開始求解!
我們將上面公式整理一下如下:
下面我將一個(gè)一個(gè)的進(jìn)行統(tǒng)計(jì)計(jì)算(在數(shù)據(jù)量很大的時(shí)候狰晚,根據(jù)中心極限定理筒饰,頻率是等于概率的,這里只是一個(gè)例子壁晒,所以我就進(jìn)行統(tǒng)計(jì)即可)瓷们。
p(嫁)=?
首先我們整理訓(xùn)練數(shù)據(jù)中秒咐,嫁的樣本數(shù)如下:
則 p(嫁) = 6/12(總樣本數(shù)) = 1/2
p(不帥|嫁)=谬晕?統(tǒng)計(jì)滿足樣本數(shù)如下:
則p(不帥|嫁) = 3/6 = 1/2
p(性格不好|嫁)= ?統(tǒng)計(jì)滿足樣本數(shù)如下:
則p(性格不好|嫁)= 1/6
p(矮|嫁) = ?統(tǒng)計(jì)滿足樣本數(shù)如下:
則p(矮|嫁) = 1/6
p(不上進(jìn)|嫁) = ?統(tǒng)計(jì)滿足樣本數(shù)如下:
下面開始求分母携取,p(不帥)攒钳,p(性格不好),p(矮)雷滋,p(不上進(jìn))
統(tǒng)計(jì)樣本如下:
不帥統(tǒng)計(jì)如上紅色所示不撑,占4個(gè),那么p(不帥) = 4/12 = 1/3
性格不好統(tǒng)計(jì)如上紅色所示晤斩,占4個(gè)焕檬,那么p(性格不好) = 4/12 = 1/3
身高矮統(tǒng)計(jì)如上紅色所示,占7個(gè)澳泵,那么p(身高矮) = 7/12
不上進(jìn)統(tǒng)計(jì)如上紅色所示实愚,占4個(gè),那么p(不上進(jìn)) = 4/12 = 1/3
到這里兔辅,要求p(不帥腊敲、性格不好、身高矮维苔、不上進(jìn)|嫁)的所需項(xiàng)全部求出來了碰辅,下面我?guī)脒M(jìn)去即可,
= (1/21/61/61/61/2)/(1/31/37/12*1/3)
下面我們根據(jù)同樣的方法來求p(不嫁|不帥介时,性格不好乎赴,身高矮忍法,不上進(jìn)),完全一樣的做法榕吼,為了方便理解,我這里也走一遍幫助理解勉失。首先公式如下:
下面我也一個(gè)一個(gè)來進(jìn)行統(tǒng)計(jì)計(jì)算羹蚣,這里與上面公式中,分母是一樣的乱凿,于是我們分母不需要重新統(tǒng)計(jì)計(jì)算顽素!
p(不嫁)=?根據(jù)統(tǒng)計(jì)計(jì)算如下(紅色為滿足條件):
則p(不嫁)=6/12 = 1/2
p(不帥|不嫁) = 徒蟆?統(tǒng)計(jì)滿足條件的樣本如下(紅色為滿足條件):
則p(不帥|不嫁) = 1/6
p(性格不好|不嫁) = 胁出?據(jù)統(tǒng)計(jì)計(jì)算如下(紅色為滿足條件):
則p(性格不好|不嫁) =3/6 = 1/2
p(矮|不嫁) = ?據(jù)統(tǒng)計(jì)計(jì)算如下(紅色為滿足條件):
則p(矮|不嫁) = 6/6 = 1
p(不上進(jìn)|不嫁) = 段审?據(jù)統(tǒng)計(jì)計(jì)算如下(紅色為滿足條件):
則p(不上進(jìn)|不嫁) = 3/6 = 1/2
那么根據(jù)公式:
p (不嫁|不帥全蝶、性格不好、身高矮寺枉、不上進(jìn)) = ((1/61/211/2)1/2)/(1/31/37/12*1/3)
很顯然(1/61/211/2) > (1/21/61/61/61/2)*
于是有p (不嫁|不帥抑淫、性格不好、身高矮姥闪、不上進(jìn))>p (嫁|不帥始苇、性格不好、身高矮筐喳、不上進(jìn))
所以我們根據(jù)樸素貝葉斯算法可以給這個(gè)女生答案亡电,是不嫁!7戳А1康臁!
樸素貝葉斯分類的優(yōu)缺點(diǎn)
優(yōu)點(diǎn):
(1) 算法邏輯簡(jiǎn)單,易于實(shí)現(xiàn)
(2)分類過程中時(shí)空開銷小
缺點(diǎn):
理論上槐脏,樸素貝葉斯模型與其他分類方法相比具有最小的誤差率喉童。但是實(shí)際上并非總是如此,這是因?yàn)闃闼刎惾~斯模型假設(shè)屬性之間相互獨(dú)立顿天,這個(gè)假設(shè)在實(shí)際應(yīng)用中往往是不成立的堂氯,在屬性個(gè)數(shù)比較多或者屬性之間相關(guān)性較大時(shí),分類效果不好牌废。
而在屬性相關(guān)性較小時(shí)咽白,樸素貝葉斯性能最為良好。對(duì)于這一點(diǎn)鸟缕,有半樸素貝葉斯之類的算法通過考慮部分關(guān)聯(lián)性適度改進(jìn)晶框。
整個(gè)例子詳細(xì)的講解了樸素貝葉斯算法的分類過程排抬,希望對(duì)大家的理解有幫助~