朴素贝叶斯分类器的应用

目录

朴素贝叶斯分类器是一种简单有效的常用分类算法。本文整理了阮一峰原文中关于朴素贝叶斯在分类任务中应用的要点。

病人分类的例子

通过医院门诊病人的症状和职业数据,利用贝叶斯定理计算新病人患上各种疾病的概率。例如:

P(感冒|打喷嚏x建筑工人) = 0.66

这意味着一个打喷嚏的建筑工人患感冒的概率为66%。

朴素贝叶斯分类器的公式

假设某个体有n项特征F1、F2、…、Fn,现有m个类别C1、C2、…、Cm。朴素贝叶斯分类器计算:

P(C|F1F2…Fn) = P(F1|C)P(F2|C)…P(Fn|C)P(C)

朴素贝叶斯的核心假设是所有特征彼此独立,虽然现实中通常不成立,但大大简化了计算且对准确性影响不大。

账号分类的例子

根据日志数量、好友数量、是否使用真实头像等特征,判断社区账号的真伪。某社区网站抽样统计中,10000 个账号里 89% 为真实账号(C0),11% 为虚假账号(C1)。已知某账号的三个特征 F1(日志数量/注册天数)= 0.1,F2(好友数量/注册天数)= 0.2,F3(是否使用真实头像)= 0;根据统计资料 P(F1|C0)=0.5、P(F1|C1)=0.1、P(F2|C0)=0.7、P(F2|C1)=0.2、P(F3|C0)=0.2、P(F3|C1)=0.9,计算得 P(F1|C0)P(F2|C0)P(F3|C0)P(C0) = 0.5×0.7×0.2×0.89 = 0.0623,P(F1|C1)P(F2|C1)P(F3|C1)P(C1) = 0.1×0.2×0.9×0.11 = 0.00198。虽然该用户没有使用真实头像,但其真实账号的概率仍比虚假账号高出 30 多倍,因此判断这个账号为真。

性别分类的例子

处理连续变量的方法:假设男性和女性的身高、体重、脚掌都是正态分布,通过样本计算出均值和方差,代入正态分布密度函数计算概率。例如男性身高是均值 5.855、方差 0.035 的正态分布,男性身高为 6 英尺的概率相对值为 1.5789。

以身高 6 英尺、体重 130 磅、脚掌 8 英寸的人为例:P(身高=6|男)×P(体重=130|男)×P(脚掌=8|男)×P(男) = 6.1984×e⁻⁹;P(身高=6|女)×P(体重=130|女)×P(脚掌=8|女)×P(女) = 5.3778×e⁻⁴。通过贝叶斯计算可得出该人为女性的概率比为男性高出近 10000 倍。

#machine-learning