日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

搞懂朴素贝叶斯分类算法

發(fā)布時間:2023/12/18 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 搞懂朴素贝叶斯分类算法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

轉(zhuǎn)載-
搞懂樸素貝葉斯分類算法

帶你搞懂樸素貝葉斯分類算
貝葉斯分類是一類分類算法的總稱,這類算法均以貝葉斯定理為基礎(chǔ),故統(tǒng)稱為貝葉斯分類。而樸素樸素貝葉斯分類是貝葉斯分類中最簡單,也是常見的一種分類方法。這篇文章我盡可能用直白的話語總結(jié)一下我們學(xué)習(xí)會上講到的樸素貝葉斯分類算法,希望有利于他人理解。

1 分類問題綜述

對于分類問題,其實(shí)誰都不會陌生,日常生活中我們每天都進(jìn)行著分類過程。例如,當(dāng)你看到一個人,你的腦子下意識判斷他是學(xué)生還是社會上的人;你可能經(jīng)常會走在路上對身旁的朋友說“這個人一看就很有錢”之類的話,其實(shí)這就是一種分類操作。

既然是貝葉斯分類算法,那么分類的數(shù)學(xué)描述又是什么呢?

從數(shù)學(xué)角度來說,分類問題可做如下定義:已知集合和,確定映射規(guī)則y = f(x),使得任意有且僅有一個,使得成立。

其中C叫做類別集合,其中每一個元素是一個類別,而I叫做項(xiàng)集合(特征集合),其中每一個元素是一個待分類項(xiàng),f叫做分類器。分類算法的任務(wù)就是構(gòu)造分類器f。

分類算法的內(nèi)容是要求給定特征,讓我們得出類別,這也是所有分類問題的關(guān)鍵。那么如何由指定特征,得到我們最終的類別,也是我們下面要講的,每一個不同的分類算法,對應(yīng)著不同的核心思想。

本篇文章,我會用一個具體實(shí)例,對樸素貝葉斯算法幾乎所有的重要知識點(diǎn)進(jìn)行講解。

2 樸素貝葉斯分類

那么既然是樸素貝葉斯分類算法,它的核心算法又是什么呢?
是下面這個貝葉斯公式:

換個表達(dá)形式就會明朗很多,如下:

我們最終求的p(類別|特征)即可!就相當(dāng)于完成了我們的任務(wù)。

3 例題分析

下面我先給出例子問題。

給定數(shù)據(jù)如下:

現(xiàn)在給我們的問題是,如果一對男女朋友,男生想女生求婚,男生的四個特點(diǎn)分別是不帥,性格不好,身高矮,不上進(jìn),請你判斷一下女生是嫁還是不嫁?

這是一個典型的分類問題,轉(zhuǎn)為數(shù)學(xué)問題就是比較p(嫁|(不帥、性格不好、身高矮、不上進(jìn)))與p(不嫁|(不帥、性格不好、身高矮、不上進(jìn)))的概率,誰的概率大,我就能給出嫁或者不嫁的答案!
這里我們聯(lián)系到樸素貝葉斯公式:

我們需要求p(嫁|(不帥、性格不好、身高矮、不上進(jìn)),這是我們不知道的,但是通過樸素貝葉斯公式可以轉(zhuǎn)化為好求的三個量.

p(不帥、性格不好、身高矮、不上進(jìn)|嫁)、p(不帥、性格不好、身高矮、不上進(jìn))、p(嫁)(至于為什么能求,后面會講,那么就太好了,將待求的量轉(zhuǎn)化為其它可求的值,這就相當(dāng)于解決了我們的問題!)

4 樸素貝葉斯算法的樸素一詞解釋

那么這三個量是如何求得?

是根據(jù)已知訓(xùn)練數(shù)據(jù)統(tǒng)計(jì)得來,下面詳細(xì)給出該例子的求解過程。
回憶一下我們要求的公式如下:

那么我只要求得p(不帥、性格不好、身高矮、不上進(jìn)|嫁)、p(不帥、性格不好、身高矮、不上進(jìn))、p(嫁)即可,好的,下面我分別求出這幾個概率,最后一比,就得到最終結(jié)果。

p(不帥、性格不好、身高矮、不上進(jìn)|嫁) = p(不帥|嫁)*p(性格不好|嫁)*p(身高矮|嫁)*p(不上進(jìn)|嫁),那么我就要分別統(tǒng)計(jì)后面幾個概率,也就得到了左邊的概率!

等等,為什么這個成立呢?學(xué)過概率論的同學(xué)可能有感覺了,這個等式成立的條件需要特征之間相互獨(dú)立吧!

對的!這也就是為什么樸素貝葉斯分類有樸素一詞的來源,樸素貝葉斯算法是假設(shè)各個特征之間相互獨(dú)立,那么這個等式就成立了!

但是為什么需要假設(shè)特征之間相互獨(dú)立呢?

1、我們這么想,假如沒有這個假設(shè),那么我們對右邊這些概率的估計(jì)其實(shí)是不可做的,這么說,我們這個例子有4個特征,其中帥包括{帥,不帥},性格包括{不好,好,爆好},身高包括{高,矮,中},上進(jìn)包括{不上進(jìn),上進(jìn)},那么四個特征的聯(lián)合概率分布總共是4維空間,總個數(shù)為2*3*3*2=36個。

36個,計(jì)算機(jī)掃描統(tǒng)計(jì)還可以,但是現(xiàn)實(shí)生活中,往往有非常多的特征,每一個特征的取值也是非常之多,那么通過統(tǒng)計(jì)來估計(jì)后面概率的值,變得幾乎不可做,這也是為什么需要假設(shè)特征之間獨(dú)立的原因。

2、假如我們沒有假設(shè)特征之間相互獨(dú)立,那么我們統(tǒng)計(jì)的時候,就需要在整個特征空間中去找,比如統(tǒng)計(jì)p(不帥、性格不好、身高矮、不上進(jìn)|嫁),

我們就需要在嫁的條件下,去找四種特征全滿足分別是不帥,性格不好,身高矮,不上進(jìn)的人的個數(shù),這樣的話,由于數(shù)據(jù)的稀疏性,很容易統(tǒng)計(jì)到0的情況。 這樣是不合適的。

根據(jù)上面?zhèn)z個原因,樸素貝葉斯法對條件概率分布做了條件獨(dú)立性的假設(shè),由于這是一個較強(qiáng)的假設(shè),樸素貝葉斯也由此得名!這一假設(shè)使得樸素貝葉斯法變得簡單,但有時會犧牲一定的分類準(zhǔn)確率。

好的,上面我解釋了為什么可以拆成分開連乘形式。那么下面我們就開始求解!

我們將上面公式整理一下如下:

下面我將一個一個的進(jìn)行統(tǒng)計(jì)計(jì)算(在數(shù)據(jù)量很大的時候,根據(jù)中心極限定理,頻率是等于概率的,這里只是一個例子,所以我就進(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(不上進(jìn)|嫁) = 1/6

下面開始求分母,p(不帥),p(性格不好),p(矮),p(不上進(jìn))
統(tǒng)計(jì)樣本如下:

不帥統(tǒng)計(jì)如上紅色所示,占4個,那么p(不帥) = 4/12 = 1/3

性格不好統(tǒng)計(jì)如上紅色所示,占4個,那么p(性格不好) = 4/12 = 1/3

身高矮統(tǒng)計(jì)如上紅色所示,占7個,那么p(身高矮) = 7/12

不上進(jìn)統(tǒng)計(jì)如上紅色所示,占4個,那么p(不上進(jìn)) = 4/12 = 1/3

到這里,要求p(不帥、性格不好、身高矮、不上進(jìn)|嫁)的所需項(xiàng)全部求出來了,下面我?guī)脒M(jìn)去即可,

= (1/2*1/6*1/6*1/6*1/2)/(1/3*1/3*7/12*1/3)

下面我們根據(jù)同樣的方法來求p(不嫁|不帥,性格不好,身高矮,不上進(jìn)),完全一樣的做法,為了方便理解,我這里也走一遍幫助理解。首先公式如下:

下面我也一個一個來進(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/6*1/2*1*1/2)*1/2)/(1/3*1/3*7/12*1/3)
很顯然(1/6*1/2*1*1/2) > (1/2*1/6*1/6*1/6*1/2)

于是有p (不嫁|不帥、性格不好、身高矮、不上進(jìn))>p (嫁|不帥、性格不好、身高矮、不上進(jìn))

所以我們根據(jù)樸素貝葉斯算法可以給這個女生答案,是不嫁!!!!

5 樸素貝葉斯分類的優(yōu)缺點(diǎn)

優(yōu)點(diǎn):
(1) 算法邏輯簡單,易于實(shí)現(xiàn)(算法思路很簡單,只要使用貝葉斯公式轉(zhuǎn)化醫(yī)學(xué)即可!)
(2)分類過程中時空開銷小(假設(shè)特征相互獨(dú)立,只會涉及到二維存儲)

缺點(diǎn):

理論上,樸素貝葉斯模型與其他分類方法相比具有最小的誤差率。但是實(shí)際上并非總是如此,這是因?yàn)闃闼刎惾~斯模型假設(shè)屬性之間相互獨(dú)立,這個假設(shè)在實(shí)際應(yīng)用中往往是不成立的,在屬性個數(shù)比較多或者屬性之間相關(guān)性較大時,分類效果不好。

而在屬性相關(guān)性較小時,樸素貝葉斯性能最為良好。對于這一點(diǎn),有半樸素貝葉斯之類的算法通過考慮部分關(guān)聯(lián)性適度改進(jìn)。

整個例子詳細(xì)的講解了樸素貝葉斯算法的分類過程,希望對大家的理解有幫助~

參考:李航博士《統(tǒng)計(jì)學(xué)習(xí)方法》

總結(jié)

以上是生活随笔為你收集整理的搞懂朴素贝叶斯分类算法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。