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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【重版】朴素贝叶斯与拣鱼的故事

發布時間:2024/7/5 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【重版】朴素贝叶斯与拣鱼的故事 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

重版公告

由于小夕之后要講的好幾篇文章要基于這一篇的知識,但是以前寫的的這篇文章對樸素貝葉斯的討論不夠深入,又不值得再額外寫一篇樸素貝葉斯啦,因此本文重版了以前的文章《樸素貝葉斯》。與舊版相比,新版對基礎知識的講解進行了大幅更新,并加入了一些更深的討論和結論,并重新進行了排版。

樸素貝葉斯分類器可以說是最經典的基于統計的機器學習模型了。首先,暫且不管貝葉斯是什么意思,樸素這個名字放在分類器中好像有所深意。

一查,發現這個分類器的英文是“Na?ve Bayes”。Na?ve(讀作“哪義務”)即幼稚的、天真的(但是總不能叫“幼稚貝葉斯”阿),Bayes即貝葉斯。那么這里的Na?ve/樸素,是什么意思呢?其實就是代表著簡化問題復雜度,像一個小孩子一樣,不考慮復雜的東西。

Naive

一句話描述Na?ve的意思就是“特征獨立性假設”。詳細的說,這里的獨立性假設一般是指“條件獨立性假設“,但是在處理序列問題時(比如文本分類、語音識別),還經常用到“位置獨立性假設”,分別是什么意思呢?

條件獨立性假設 {

如果我們要識別一個人的性別,要用到“身高”和“體重”這兩個特征。所以這里的類別y為男/女,特征X=[x1=身高 ?x2=體重]。

我們知道,“身高”和“體重”明明是有關系的,比如身高1米8的人是不太可能體重低于100斤的,但是在樸素貝葉斯分類器的眼里,身高和體重沒有關系。即令 x1=身高為180cm , x2=體重為50kg ,則:

意思即一個人身高為180cm且體重為50kg的概率就等于一個人為180cm的概率乘以一個人為50kg的概率。雖然一個人為180cm的概率很大(比如一個男孩子),一個人為50kg的概率也很大(比如一個女孩子),但是人的身高為180cm且體重為50kg的概率很小。但是在貝葉斯的條件獨立性假設下,x1與x2相互獨立,故是直接將和這兩個大概率相乘的,故算出來的概率肯定遠大于實際值。

總結,樸素貝葉斯模型會假設特征向量的各個維度間相互獨立(毫無關系)。即“條件獨立性假設”。

}

位置獨立性假設{?

位置獨立性假設一般不會提,但是如果要用樸素貝葉斯模型解決序列化的分類問題時,就必須引入這個假設了。

位置獨立性的意思是對于序列中各個位置的特征向量,完全忽略其位置信息。舉個栗子,比如在文本挖掘中,“我|喜歡|狗”中有三個特征向量,即分別為向量“我”、向量“喜歡”、向量“狗”,如果我們按照先后順序來考慮這三個特征的話,就能得出你喜歡狗這個事實。但是如果按照“狗”“喜歡”“我”這樣的順序的話,得到的意思就完全變了。顯然,這里各個特征向量之間的先后順序(即位置)對于語義相關的分類任務而言是很重要的。然而,樸素貝葉斯的假設就是位置之間是獨立的,即完全拋棄序列的位置信息。因此在樸素貝葉斯看來,“我|喜歡|狗”與“狗|喜歡|我”是同一個分類任務。

}

?

好,樸素的意思我們懂了,那么核心就是貝葉斯了。

Bayes

顯然,在統計理論中,與貝葉斯最相關的就是貝葉斯定理,也叫貝葉斯公式。不用管能不能看懂,先貼出通用形式的公式:

?

我們把公式里的事件A看作樣本特征為某值,該值用X表示。把B看作分類目標的類別為某值,該值用y表示。然后就會發現非常非常簡單啦,如下:

所以呢,這個公式的意思就是:

公式左邊:已知樣本特征的值為X的情況下,目標類別為y的概率(即,專業說法叫后驗概率)就等于

公式右邊:什么都不知道的情況下,目標類別為y的概率(即,專業說法叫類別y的先驗概率)乘以已知目標類別是y的情況下,特征的值為X的概率(即,專業說法叫似然函數)。再除以什么都不知道的情況下,特征的值為X的概率(即,專業說法叫特征X的先驗概率,也有的叫證據)。

?

誒?細心的讀者有沒有發現什么呢?相信此時肯定已經有人激動了!我們這里看一個栗子,引入更深的討論。

?

就是這個栗子。

?

?

其實是下面的栗子啦( ̄? ̄)。

?

假如小夕捕獲了一批魚,這批魚中只有黑魚和三文魚。雖然小夕并不認識這兩種魚,但是小夕有設備可以測量出每條魚肚皮的亮度等級(比如最白為10級,最黑為1級)。然后有一位好心的粉絲送給了小夕一批標好類別的黑魚和三文魚。那么小夕借助上面這些已經知道的東西,用樸素貝葉斯分類器來給小夕捕的那些魚的類別貼標簽,從而分揀出三文魚和黑魚,要怎么做呢?

揀魚

誒?這里不是說魚肚皮的亮度等級都能測出來嘛?那魚肚皮的亮度等級不就是一個特征咯,每條魚測出來的亮度等級不就是特征的值嘛,即X。而黑魚和三文魚就是我們要分類的目標,記為類別c0和類別c1。有沒有靈光一現?

對!還記得貝葉斯定理的等式左邊的的意思嗎?假如某條魚測得的亮度等級為2,那么我們只需要計算并比較??與??的大小不就可以啦!肯定是值更大的,也就是概率更大的,就是我們要輸出的類別呀!專業說法叫取最大后驗概率。

?

那么怎么計算呢?顯然就是用等式右邊那三坨(噗,好不文明的說)。為了方便閱讀,在這里再貼一遍。

?

?

首先,右邊這三坨中,除號底下的代表特征取某值的概率,然而我們要預測某一條魚的類別,顯然這條魚的特征的值我們已經知道了,即定值,因此不管是求??也好,求? ?也好,??是相同的值,對于比較這兩個概率的大小沒有任何幫助。因此干脆不計算了。

然后,這三坨中的 ?代表某類別的先驗概率,怎么計算得到呢?還記得粉絲給了小夕一堆魚嗎?那我們直接用這一堆魚來近似得到??不就可以啦!

按照概率論的大數定律的意思,當樣本足夠多時,樣本的統計比率就可以近似真實概率。回想一下拋10000次均勻硬幣時會有接近5000次正面向上,由此得到正面向上的概率為0.5

因此,假如粉絲給了小夕10000條魚,其中3000條是黑魚,7000條是三文魚,那顯然??,同理??。看,?解決了吧。

?

三坨中的最后一坨,??怎么得到呢?也很輕松啊,同樣是利用粉絲給的10000條魚,小夕用設備將這10000條魚的亮度等級測出來后,只需要從每個類別的魚群中,統計一下特征X的每個取值下的魚數量占該類別的魚總數的比率就好啦。

比如黑魚有3000條,其中亮度等級為8的魚一共有1000條,那么??。同理可以得到其他??的值啦。

?

至此,等式右邊全都解決了,因此等式左邊也能比較大小了。所以對于下面這種情況的話(粉絲給了小夕100來條魚用于訓練分類器):

?

?

小夕做好的樸素貝葉斯分類器肯定會將亮度等級小于的魚都認為是三文魚(在此情況下,類別判定為三文魚的概率總是比黑魚的概率大),反之都認為是黑魚。

等等,問題出現了,我們知道,的點就是與相等的點。但是,樸素貝葉斯在計算這兩個值的時候,算出來的真的是這兩個值嗎?

到底是什么

還記不記得,前文中,我們在計算等式左邊的時候,忽略了等式后邊的這一項!再把公式搬過來:


也就是說,貝葉斯分類器在計算每個類別的“后驗概率”的時候,實際上計算出的并不是后驗概率!由于只計算了,因此得到的結果實際上是!!!

而是什么呢?有概率論基礎的同學應該知道,這個就是y與X的聯合概率,也就是,也就是X與y共同發生的概率。

所以說,樸素貝葉斯分類器的核心雖然是貝葉斯公式,但是其計算某樣本的各類別的可能性時,實際上計算出的不是各類別的后驗概率,而是各類別y與該樣本特征X的聯合概率!

這一結論有什么用呢?以后就有用啦~而且至關重要哦。

等等,還有個問題,到目前為止,都沒有用到文章開頭寫的條件獨立性假設啊?這個假設有什么用呢?

多維特征

當然啦,這個假設本質上的意思就是忽略X各個維度之間的相關性,因此當X有多維特征時,就派上用場啦。

比如小夕又買了個尺子,可以測量魚身的長度。

?

這時特征?X=[x1(亮度) x2(身長)] 了。這時唯一的影響就是在計算等式右邊的這個??時,按照獨立性假設展開成??就可以啦。看吧,na?ve一些還是可以避免很多麻煩的。

總結

以上是生活随笔為你收集整理的【重版】朴素贝叶斯与拣鱼的故事的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。