朴素贝叶斯法

简单记一下朴素贝叶斯法,主要记录一下细节的部分,估计主体也不会忘。


朴素贝叶斯法的根源在于贝叶斯公式,贝叶斯公式是条件概率公式和全概率公式的组合体,有以下主要形式:


在实际应用中,可能主要的公式方式如下所示:

其中X可能有多个输入值,表现形式如下:


其实,用以上公式就可以当作是一个分类器了,其中Y表示样本的类,即样本的标签,举个例子来说,例如诈骗邮件识别,输入即为分词后的各个词组,例如诈骗、团伙、信用卡等等,输出就是1或者0,即这份邮件是否为诈骗邮件,在训练集上统计得到诈骗邮件的概率,非诈骗邮件的概率,假设输入仅为两个词,(诈骗,团伙),再统计得到诈骗邮件下,(诈骗,团伙)同时出现的概率以及非诈骗邮件下(诈骗,团伙)同时出现的概率,套入到上述公式,就可以得到P(y|X)当y=0及y=1下的概率,当然此处略去了P(X)部分的计算,因为在求解两个类的条件概率时,P(X)部分是相同的,这样就构成了一个分类器了,并且从原理上来说,它的准确率其实是要高于朴素贝叶斯法的。


那么为什么要有朴素贝叶斯法呢?其实问题在这儿

在现实中,一篇邮件不可能仅有(诈骗,团伙)这么两个词构成,可能会有成千个词,那么你要训练的时候需要知道多少个概率参数呢,假设共有n个词,每个词可以出现或者不出现,那么每个类下共需统计2的N次方个参数,正经描述一下,假设有n个输入,每个输入共有Si种可取情况,则在确定类的情况下,统计条件概率,共需统计Si的连乘个参数,假设共有K个类,则共需K*Si的连乘个参数,当然,计算这个数量级的参数,是不可能的事情。


所以要祭出朴素贝叶斯法的第二个利器,特征条件独立假设。

简单描述一下条件独立,举个例子,假设大街上发生了抢劫,小红报警的概率为P(A|C),小明报警的概率是P(B|C),小红和小明只是两个互不相识的路人,那么在小红报警的条件下,小明报警的概率会发生变化吗?答案当然是不会,这个时候就会有P(B|A,C)=P(B|C),即小红报警和小明报警在抢劫这个事件上条件独立。


回到朴素贝叶斯法,朴素贝叶斯法有特征条件独立假设,即诈骗和团伙这两个词在诈骗邮件中,是条件独立的,即P((诈骗,团伙)|诈骗邮件) = P(诈骗|诈骗邮件) * P(团伙|诈骗邮件),这么做的巨大好处在于需统计参数的变化,假设有n个输入,每个输入共有Si种情形,则在确定类下,共需求解的参数个数为各个Si的相加,实现了参数的巨大变化!


这种假设大体来说是没错的,比如在诈骗邮件中(我们,发送)这两个词,可能就是条件独立的,但是(信用卡,套现)这两个词,个人感觉是有较大关联的,所以朴素贝叶斯法会损失部分精度。


以上就是朴素贝叶斯法的主要思想。

在上述中,将P(X)计算舍去,就叫做极大似然估计。

顺带提一句拉普拉斯平滑,在计算条件概率时,假设某一项为0,则相乘后全为0,这么做显然不好,拉普拉斯平滑的做法是,在统计条件概率时,假设P(X=xi|Y=y),X共有si种情形,则在条件概率的分母上加Si,然后每一项的分子上加1,这样,为0项即为1/Si,但仍然保证了概率和为1且每一项概率大于0.

如果说我们确定条件概率中存在依存关系,即没法用特征条件独立假设,这个时候,我们就要将模型变成贝叶斯网络了。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值