贝叶斯分类器
从黑人兄弟谈起
某一天走到路上,和一个黑人擦肩而过,在惊叹他牙好白的时候,也想到了一个问题,这位黑人兄弟是打哪儿来的呢?
A. 非洲 B.美洲 C.欧洲 D.亚洲
我猜大多数人会和我一样,倾向于黑人兄弟来自于非洲。为啥?在没有提供其他有用信息,我们只能根据经验判断:非洲的黑人较其他洲的黑人多的多,因此我们认为这位黑人兄弟来自非洲的概率最大。
经验往往和概率息息相关,我们认为黑人兄弟来自非洲这个想法包含了两个信息:
(1)根据经验,选择了概率最大的非洲做为预测的结果
(2)根据经验,我们选择了非洲,也意味着我们出错的可能性相对于选择其他选项出错的可能性最小(设想一下,在非洲10个人有8个是黑人,在欧洲100个人可能只有1个是黑人,我们选择非洲只需要承担1/5的错误风险,选择欧洲却要承担99/100的风险)
贝叶斯定理
在前文的结果考虑中,我们相当于用到了以下几个概率
已知:P(黑人|亚洲),P(黑人|欧洲),P(黑人|非洲)
求:max(P(亚洲|黑人),P(欧洲|黑人),P(非洲|黑人))
涉及到了已知P(A|B)求P(B|A)问题
这里直接给出贝叶斯定理:
换一下字母:
其中P(c)是类“先验”概率,对应于黑人问题中的亚洲、美洲、非洲,p(x|c)是样本x相对于类标记c的类条件概率,或者称为似然(likelihood,我理解为似乎是其所以然),P(x)是用于归一化的证据因子,对于给定的样本x,其值不变。
朴素贝叶斯分类器
黑人问题中,我们观察到的样本特征只有一个,那就是,他好黑啊!(肤色),那么如果增加一些特征呢?比如一个女孩,她很白,高鼻梁,你能判断出她是哪个洲的人呢?如果再加上一些条件,比如金发,眼窝有点凹陷呢?
憋不下去了。
从美女的视角回到周老师切的西瓜身上。
从一个特征扩展到多个特征,贝叶斯定理的公式就变成了:
特征一旦变多,计算P(c|x)就有一个问题,那就是特征之间是否相互影响?比如特征A影响了特征B?,所谓朴素贝叶斯分类器,就是假设所有属性相互独立。
很粗暴地说:你是你,他是他,你两互不相关,从今天起,你就是我朴贝分的人了(什么鬼)。
公式就变成了这样:
判断方法也变成了:
(说白了谁大就归谁)
好的,那么,问题又来了,怎么计算P(c)和P(x_i|c) 又成了一个好头疼的问题。
回想一下当年学的概率论,怎么计算概率呢?概率和频率的关系,极大似然概率(自行移步概率书,等有了概率书来补一下),啊对对对,一拍脑门,我有之前的西瓜抽检报告啊,拿来,频率当频率,这就是离散属性的条件概率的极大似然估计值:
训练集D,第c类样本集合
对于离散属性而言,
对于连续属性,
也有一种方法,就是连续属性当成离散属性来做,就是按区域划分估算(相当于数学上的积分)
又来一个问题,如果有一个属性值在某个类上没有出现过,这样
术语叫”平滑”,具体而言就是避免概率为0现象的出现所以我们把极大似然估计做了一个拉皮处理,噢不,拉普拉斯修正。
其中N是类别数,
撒花~~朴素贝叶斯分类器讲完啦~
在实际应用中,如果对预测速度要求较高,对给定训练集,计算所有概率估值然后存储起来,用时查表;如果数据更替频繁,则采用“懒惰学习”方式,收到预测请求时候再根据当前训练集进行估值,如果数据不断增加,则可以采取增量学习的方式,在现有估值基础上,仅对新增样本的属性值所涉及的概率估值进行技术修正即可。