本章涉及到的知識(shí)點(diǎn)清單:
1乖订、條件概率
2蒸健、貝葉斯定理
3、目標(biāo)概率映射
4它呀、目標(biāo)概率映射的極大似然估計(jì)
5苞也、樸素定義—條件獨(dú)立性假設(shè)
6洛勉、分類邏輯
7、優(yōu)化分類器
8如迟、樸素貝葉斯分類器實(shí)戰(zhàn)—英文評(píng)論留言分類
9收毫、文檔切詞—構(gòu)造詞條列表
10、構(gòu)造詞匯表—定義特征值和特征向量
11殷勘、python編程實(shí)戰(zhàn)實(shí)現(xiàn)樸素貝葉斯分類器
12此再、分類器結(jié)果展示和總結(jié)
一、條件概率
假設(shè)有下列兩個(gè)事件A和B
事件A:早上乘坐地鐵卻沒有趕上8點(diǎn)鐘的地鐵
事件B:上班遲到
如果我們需要統(tǒng)計(jì):在所有上班遲到的人之中玲销,有多少人是因?yàn)樵缟蠜]有趕上8點(diǎn)鐘的地鐵输拇?那么可以用來表示這個(gè)概率結(jié)果—條件概率
條件概率的定義:在事件B發(fā)生的條件下,量化事件A發(fā)生的概率
同理贤斜,即表示:在所有沒有趕上8點(diǎn)鐘地鐵的人之中策吠,有多少人上班遲到了?
由條件概率的定義瘩绒,可以得到其計(jì)算方式為
其中猴抹,表示事件A和B共同發(fā)生的概率—聯(lián)合概率
表示事件B單獨(dú)發(fā)生的概率—邊緣概率
二、貝葉斯定理
我們寫出兩個(gè)條件概率:和
由于草讶,則聯(lián)立兩個(gè)式子洽糟,得
上式就是貝葉斯定理,它告訴我們?nèi)绾谓粨Q條件概率中的條件與結(jié)果,即如果計(jì)算困難坤溃,那么可以先計(jì)算
三拍霜、目標(biāo)概率映射
令X表示一個(gè)樣本實(shí)例的特征向量,其是由一系列特征值構(gòu)成的n維向量薪介,即
其中x1祠饺,x2等代表特征值,則X是一個(gè)n維特征向量汁政,代表一個(gè)樣本實(shí)例的量化結(jié)果
令C表示所有樣本的分類集合
一個(gè)樣本屬于一個(gè)類別道偷,即一個(gè)特征向量Xi和一個(gè)具體的類別ck具有一組映射關(guān)系。而這組映射關(guān)系记劈,可以用條件概率來這樣描述
:表示任意一個(gè)n維特征向量X勺鸦,屬于類別ck的條件概率
而根據(jù)貝葉斯定理
通過觀察,上式中Xi屬于c1目木、c2或者ck的概率换途,分母都會(huì)存在Xi的邊緣概率,即Xi屬于任何類別的概率和其邊緣概率無關(guān)刽射,為此我們可以得到
即我們要計(jì)算條件概率军拟,需要先從樣本集合中學(xué)習(xí)到以下兩個(gè)概率映射:
(1)條件概率:
(2)邊緣概率:
四、目標(biāo)概率映射的極大似然估計(jì)
接下來我們需要計(jì)算要學(xué)習(xí)的目標(biāo)概率誓禁,可以用統(tǒng)計(jì)計(jì)數(shù)(極大似然估計(jì))來計(jì)算這兩個(gè)概率
假設(shè)有M個(gè)樣本(M個(gè)特征向量)懈息,則邊緣概率的極大似然估計(jì)為:
即M個(gè)樣本中,各個(gè)樣本類別c=ck發(fā)生的次數(shù)摹恰,除以樣本總數(shù)
條件概率的極大似然估計(jì)為:
即M個(gè)樣本中辫继,各個(gè)樣本X=Xi且類別c=ck共同發(fā)生的次數(shù),除以各個(gè)樣本類別c=ck發(fā)生的次數(shù)
五戒祠、樸素定義—條件獨(dú)立性假設(shè)
計(jì)算完和這兩個(gè)概率映射后骇两,對(duì)于任意一個(gè)新樣本的特征向量X,我們只需要將其帶入映射計(jì)算姜盈,最后用貝葉斯定理計(jì)算出低千,不過這里會(huì)存在一個(gè)問題:
我們將的特征向量X展開為n個(gè)特征值表示
假設(shè)每一個(gè)特征值都是二值化(binary),則X共有種可能的取值
再假設(shè)類別集合C總共只有2個(gè)類別馏颂,那么總共就有種可能性的組合
即上述概率乘積面臨“組合爆炸”的可能性非常大示血,為了降低參數(shù)可能的組合總數(shù),就需要用到樸素貝葉斯假設(shè)
樸素貝葉斯假設(shè):也稱條件獨(dú)立性假設(shè)救拉,指當(dāng)在c=ck這個(gè)條件(事件)的情況下难审,不同特征值之間的取值互相獨(dú)立
即:
上述翻譯為:在類別為ck的條件下,特征值x1取值的條件概率與其余特征值的取值無關(guān)
六亿絮、分類邏輯
應(yīng)用樸素貝葉斯假設(shè)告喊,我們將待分類的特征向量X帶入概率映射計(jì)算麸拄,得
可以看到,當(dāng)xj和ck都是binary的時(shí)候黔姜,通過應(yīng)用樸素貝葉斯假設(shè)拢切,組合參數(shù)的個(gè)數(shù)由減少到了
接下來用貝葉斯定理計(jì)算出待分類的特征向量X屬于ck的條件概率,即
最后統(tǒng)計(jì)出X屬于分類集合C=c1|c2...|ck中條件概率最大的類別秆吵,就是X的分類結(jié)果淮椰,即
至此,我們就利用貝葉斯定理和樸素貝葉斯假設(shè)纳寂,完成了樸素貝葉斯分類器
七主穗、優(yōu)化分類器
上述分類器存在2點(diǎn)需要優(yōu)化的地方:
(1)由于計(jì)算過程中存在連乘運(yùn)算,則當(dāng)某一個(gè)特征值xj的條件概率為0時(shí)毙芜,會(huì)使得整個(gè)連乘運(yùn)算的結(jié)果為0
優(yōu)化方法:將每個(gè)特征值xj的條件概率都初始化為1
(2)還是由于連乘運(yùn)算可能會(huì)使得一些列小數(shù)的乘積結(jié)果下溢出
優(yōu)化方法:可以利用對(duì)數(shù)的乘積運(yùn)算轉(zhuǎn)化為對(duì)數(shù)之和
分別對(duì)和取對(duì)數(shù)忽媒,即可防止計(jì)算結(jié)果下溢出
八、樸素貝葉斯分類器實(shí)戰(zhàn)—英文評(píng)論留言分類
接下來我們分析一個(gè)實(shí)際的文本分類例子—在線社區(qū)的留言板
為了不影響社區(qū)的正面發(fā)展腋粥,從產(chǎn)品的角度猾浦,希望社區(qū)可以自動(dòng)屏蔽帶有侮辱類(負(fù)面)的留言,讓社區(qū)只保留非侮辱類(正面)的留言
那么從技術(shù)的角度灯抛,利用監(jiān)督式學(xué)習(xí),我們希望從歷史留言中選取部分樣本來學(xué)習(xí)一個(gè)留言分類器音瓷,用來對(duì)新留言進(jìn)行邏輯推理对嚼,判斷新留言是否屬于侮辱性類別的留言,這里我們采用樸素貝葉斯模型訓(xùn)練分類器
則對(duì)此問題建立兩個(gè)類別:侮辱類和非侮辱類绳慎,分別使用1和0來表示纵竖,為此,我們列出該場(chǎng)景下使用樸素貝葉斯訓(xùn)練分類器的步驟:
(1)收集數(shù)據(jù):獲取留言和其分類結(jié)果
(2)量化數(shù)據(jù):將留言解析量化為詞條向量(特征值的定義)
(3)分析數(shù)據(jù):檢查詞條向量確保量化的正確性
(4)訓(xùn)練分類器:計(jì)算特征向量中不同特征值的條件概率
(5)使用分類器:根據(jù)計(jì)算好的條件概率杏愤,通過樸素貝葉斯計(jì)算新留言屬于每個(gè)類別的概率
(6)測(cè)試算法:交叉驗(yàn)證分類器
假設(shè)已經(jīng)有了樣本留言靡砌,則我們從量化數(shù)據(jù)開始一步步構(gòu)造分類器
九、文檔切詞—構(gòu)造詞條列表
首先珊楼,我們對(duì)每個(gè)句子進(jìn)行英文語法的切詞通殃,定義切詞的規(guī)則如下:
(1)以標(biāo)準(zhǔn)英文單詞的空格語法來切分句子(使用正則表達(dá)式過濾標(biāo)點(diǎn)符號(hào))
(2)統(tǒng)一所有單詞為小寫單詞
(3)切分的單詞長(zhǎng)度均大于3
(4)切分單詞沒有出現(xiàn)在停詞表中(排除冠詞、量詞厕宗、語氣詞等無用詞)
PS:根據(jù)不同場(chǎng)景画舌,切詞的規(guī)則可以很復(fù)雜
用以上切詞規(guī)則,我們將樣本句子切分為下列詞條列表
十已慢、構(gòu)造詞匯表—定義特征值和特征向量
接下來我們整理詞條列表中的每一個(gè)單詞曲聂,排除重復(fù)出現(xiàn)的單詞,構(gòu)造出樣本的詞匯表
可以看到去重后有14個(gè)單詞組成詞匯表佑惠,而這14個(gè)單詞可以反映描述到所有句子中
詞匯表的意義為將句子翻譯為特征值和特征向量(詞條向量)
(1)特征值的定義:詞匯表中的單詞依次是否出現(xiàn)在當(dāng)前句子中朋腋,出現(xiàn)為1齐疙,沒有出現(xiàn)為0
(2)特征向量的定義:由所有特征值組成的詞向量
根據(jù)上述定義,我們用詞匯表作為翻譯標(biāo)準(zhǔn)旭咽,將詞條列表翻譯為下列詞向量
至此贞奋,我們用這個(gè)14維的詞向量來描述一個(gè)句子的所有特征—單詞的分布和出現(xiàn)情況,即完成了句子到向量的量化過程
PS:文本處理的特征值一般有兩個(gè)模型
(1)詞集模型:?jiǎn)卧~在句子中是否出現(xiàn)
(2)詞袋模型:?jiǎn)卧~在句子中出現(xiàn)的總次數(shù)
案例里我們使用了詞集模型來定義特征值轻专,接下來只要使用詞向量來訓(xùn)練分類器即可
十一忆矛、python編程實(shí)戰(zhàn)實(shí)現(xiàn)樸素貝葉斯分類器
十二、分類器結(jié)果展示和總結(jié)
最后用訓(xùn)練好的分類器來測(cè)試新留言句子的分類結(jié)果為
至此请垛,我們可以總結(jié)出使用樸素貝葉斯作為分類器的幾個(gè)特點(diǎn)
(1)樸素貝葉斯是一個(gè)通用的分類器催训,通過監(jiān)督學(xué)習(xí)可以處理文本分類、公司上市質(zhì)量宗收、股票質(zhì)量等多分類問題
(2)利用條件獨(dú)立性假設(shè)漫拭,降低了對(duì)數(shù)據(jù)量組合的需求,雖然這個(gè)假設(shè)過于簡(jiǎn)單混稽,甚至有時(shí)不正確采驻,可是樸素貝葉斯仍然是一種有效的分類器
(3)對(duì)于文本分類問題的樸素貝葉斯分類器的優(yōu)化空間主要有:
? ? ? ? a:特征值的定義,如詞袋模型的效果高于詞集模型匈勋,停用詞表的優(yōu)化等
????????b:切詞的規(guī)則
案例代碼見:英文評(píng)論留言分類