《统计学习方法》之 朴素贝叶斯 读书笔记

介绍

朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法。朴素贝叶斯法与贝叶斯估计是两个不同的概念。在学习朴素贝叶斯之前,你需要先知道条件概率、联合概率、先验概率、后验概率、贝叶斯公式,如果你不是很清楚,可以打开概率论书本或者百度一下,当然其中一些概念在下面我也会提到。(本篇文章主要基于《统计学习方法》进行讲解)


先前知识

我们先举出一个训练集,便于接下来举例讲解,如下图1,该例子来源于《统计学习方法》,例子中共有15个样本,X1、X2为两个特征,其中X1的取值有“1”、“列出”、“3”三种,X2的取值为“S”、“M”、“L”三种,Y为每个样本的标签。

图1 训练数据

基本假设


训练集表示为:T=\left\{ (x1,y1),(x2,y2),...,(xn,yn)\right\}

朴素贝叶斯法的基本假设是条件概率的独立性,

 P(X=x\vert Y=y)=P(X1=x1,...Xn=xn\vert Y=c_{k} )=\prod\nolimits_{j=1}^nP(Xj=xj\vert Y=c_{k} )      (1)

这一假设使得朴素贝叶斯法的计算变得简单,但是会牺牲一定的精确度。这个假设也是对“朴素”一词的解释。

先验概率

下面我们先来计算先验概率,先验概率分布公式为:

 P(Y=c_{k} ),k=1,2,3...K         (2)

这个例子中Y只有1,-1两类,因此K=2。先验概率P(Y=c_{k} )的极大似然估计为:  

  P(Y=c_{k} ) = \frac{ \sum_{i=1}^N I(y_{i} =c_{k} )}{N}        (3)

其中N为总样本个数,I为指示函数从公式可以看出P(Y=c_{k} )的值即为Y=c_{k}的样本数除以总样本数,则训练数据集的先验概率为:

P(Y=1)=\frac {9}{15} P(Y=-1)=\frac{6}{15}

条件概率

条件概率为事件A在事件B发生的条件下发生的概率,一般写为P(A\vert B ),条件概率的公式有:

 P(A\vert B)=\frac{P(AB)}{P(B)}                 (4)

其中P(AB)为联合概率,表示A、B同时发生的概率。

以训练样本为例,特征X1=2在Y=1下的概率可是表示为:

 P(X1=2\vert Y=1)=\frac{P(X1=2, Y=1)}{P(Y=1)} =\frac{3}{9}

考虑到公式的一般性,P(AB)也可以写为:

P(AB)=P(A)P(B\vert A)              (5)

和上一个公式相比,就是事件A、B调换了下位置。此时,我们把两个公式合并,消去其中的P(AB),则可以得到:

 P(A\vert B)=\frac{P(A)P(B\vert A)}{P(B)}                    (6)

贝叶斯公式

贝叶斯公式的形式与上述公式(6)有点相似。

假设H[1],H[2]....H[n]互斥且构成一个完全事件,已知它们的概率P(H[i]),i=1,2,...,n,现观察到某事件A与H[1],H[2]....H[n]相伴随机出现,且已知条件概率P(A\vert H[i]),那么P(H[i]\vert A)为:

P(H[i]\vert A)=\frac{P(H[i])P(A\vert H[i])}{\sum_{n}^{j=1} P(H[j])P(A\vert H[j])  }          (7)       

上面的公式可能看起来有点复杂,我们将其改写成,符合我们训练集的形式:

P(Y=c_{k} \vert X=x)= \frac {P(X=x\vert Y=c_{k} )P(Y=c_{k} )}{\sum_{k}P(X=x\vert Y=c_{k})P(Y=c_{k} ) }        (8)                

其中P(Y=c_{k} \vert X=x)就是后验概率,也是我们需要去求的,可以解释为在给定条件下,Y=c_{k} 分类的概率,贝叶斯计算的最后,会取概率最大的分类作为预测分类。


朴素贝叶斯法

有了之前的铺垫,咱们现在就可以正式进入朴素贝叶斯了,将公式(1)代入公式(7),可得:

P(Y=c_{k} \vert X=x)= \frac {P(Y=c_{k} ) \prod\nolimits_{j=1}^nP(Xj=xj\vert Y=c_{k} ) }{\sum_{k}P(Y=c_{k} ) \prod\nolimits_{j=1}^nP(Xj=xj\vert Y=c_{k} ) }  ,k=1,2,...,K      (9)

我们要得到的是概率最大的c_{k} 分类,因此可以表示为:

arg max_{c_{k} } P(Y=c_{k} \vert X=x)= \frac {P(Y=c_{k} ) \prod\nolimits_{j=1}^nP(Xj=xj\vert Y=c_{k} ) }{\sum_{k}P(Y=c_{k} ) \prod\nolimits_{j=1}^nP(Xj=xj\vert Y=c_{k} ) }      (10)

我们可以发现上公式分母为一个常数,不影响最后输出的类别,因此我们可以将公式简化为:

y=arg max_{c_{k} } ={ P(Y=c_{k} ) \prod\nolimits_{j=1}^nP(Xj=xj\vert Y=c_{k} ) }           (11)

好了,下面让我们一起进入快乐的实践环节吧,当然还是根据之前的例子来,

训练集数据

现在我们假设有一个未知类别的数据x=(2,S),我们需要通过朴素贝叶斯分类来计算求得其最可能属于的分类。我们分别其属于计算Y=1,Y=-1的概率,然后取最大值作为x的分类。

         P(Y=-1)P(X1=2\vert Y=-1)P(X2=S\vert Y=-1)=\frac{6}{15}  \cdot \frac{2}{6}   \cdot  \frac{3}{6}   = \frac{1}{15}

          P(Y=1)P(X1=2\vert Y=1)P(X2=S\vert Y=1)=\frac{9}{15}  \cdot \frac{3}{9}   \cdot  \frac{1}{9}   = \frac{1}{45}

可以明显看出属于-1的概率要大于1,因此判断x=(2,S)属于y=-1类别。

贝叶斯估计

使用上述公式进行计算类别的时候,有时候会遇到一个很尴尬的情况。以特征X2为例,(此处是假设哦,不要对着上面的训练集数据一直看0.0)假设所有有S的样本,其分类都为1,没有-1的分类,因此计算条件概率P(X2=S\vert Y=-1) = 0,带入到朴素贝叶斯法y=-1分类中进行计算时,其概率直接为0,因为0乘任何数都为0,这会导致结果出现偏差。

因此引入贝叶斯估计,贝叶斯估计的实质是在每个特征的所有取值类别的数量上加一个\lambda \lambda >0),例如刚刚假设的X2特征的类别S,在y=-1分类上没有样本,因此S在y=-1上的数量为0,此时,我们加入一个\lambda ,则条件概率变为:

 P(X2=S\vert Y=-1) = \frac{0+\lambda }{9+3 \lambda }

通常\lambda =1,此时称为拉普拉斯平滑。我们将其推成一般式:

 P_{\lambda } (X_{j}= a_{jl} \vert Y=c_{k})= \frac{\sum_{i=1}^N I(x_{ij} = a_{jl} ,y_{i} = c_{k} )}{\sum_{i=1}^N I(y_{j }=c_{k})+S_{j} \lambda }                                          (12)

其中x_{ij}是第i个样本第j个特征,a_{jl}为第j个特征可能取得的第l个值,S_{j}为特征x_{j}可能有S_{j}个取值。

接下来我们利用贝叶斯估计再来计算下x=(2,S)的分类,

 P(Y=1)=\frac{9+1}{15+2} , P(Y=-1)=\frac{6+1}{15+2}

P(Y=-1)P(X1=2\vert Y=-1)P(X2=S\vert Y=-1)=\frac{6+1}{15+2}  \cdot \frac{2+1}{6+3}   \cdot  \frac{3+1}{ 6+3}   = \frac{28}{459}=0.0610

P(Y=1)P(X1=2\vert Y=1)P(X2=S\vert Y=1)=\frac{9+1}{15+2}  \cdot \frac{3+1 }{9+3 }   \cdot  \frac{1+1 }{9+3 }   = \frac{5}{153} =0.0327

可以看出还是将x=(2,S)归于y=-1

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342