我们可以使用最大后验概率(Maximum A Posteriori, MAP) 来估计
和 ; 前者是训练集中类别 y 的相对频率。各种各样的的朴素贝叶斯分类器的差异大部分来自于处理 分布时的所做的假设不同。尽管其假设过于简单,在很多实际情况下,朴素贝叶斯工作得很好,特别是文档分类和垃圾邮件过滤。相比于其他更复杂的方法,朴素贝叶斯学习器和分类器非常快。 朴素贝叶斯算法思想假设有一个数据集,它由两类数据组成,数据分布如下图所示:
我们现在用
表示数据点 (x,y) 属于类别 1(图中用圆点表示的类别)的概率,用 表示数据点 (x,y) 属于类别 2(图中三角形表示的类别)的概率,那么对于一个新数据点 (x,y),可以用下面的规则来判断它的类别:如果
,那么类别为1如果
,那么类别为2也就是说,我们会选择高概率对应的类别。这就是贝叶斯决策理论的核心思想,即选择具有最高概率的决策。
朴素贝叶斯工作原理 提取所有文档中的词条并进行去重 获取文档的所有类别 计算每个类别中的文档数目 对每篇训练文档: 对每个类别: 如果词条出现在文档中-->增加该词条的计数值(for循环或者矩阵相加) 增加所有词条的计数值(此类别下词条总数) 对每个类别: 对每个词条: 将该词条的数目除以总词条数目得到的条件概率(P(词条|类别)) 返回该文档属于每个类别的条件概率(P(类别|文档的所有词条)) 朴素贝叶斯算法流程 收集数据: 可以使用任何方法。 准备数据: 需要数值型或者布尔型数据。 分析数据: 有大量特征时,绘制特征作用不大,此时使用直方图效果更好。 训练算法: 计算不同的独立特征的条件概率。 测试算法: 计算错误率。 使用算法: 一个常见的朴素贝叶斯应用是文档分类。可以在任意的分类场景中使用朴素贝叶斯分类器,不一定非要是文本。 朴素贝叶斯优缺点 优点: 在数据较少的情况下仍然有效,可以处理多类别问题。 缺点: 对于输入数据的准备方式较为敏感。 适用数据类型: 标称型数据。 案例描述:形式化理解朴素贝叶斯性别分类 问题描述通过一些测量的特征,包括身高、体重、脚的尺寸,判定一个人是男性还是女性。
训练数据 性别 身高(英尺) 体重(磅) 脚的尺寸(英寸)男 6 180 12
男 5.92 190 11
男 5.58 170 12
男 5.92 165 10
女 5 100 6
女 5.5 150 8
女 5.42 130 7
女 5.75 150 9
假设训练集样本的特征满足高斯分布,得到下表:
性别 均值(身高) 方差(身高) 均值(体重) 方差(体重) 均值(脚的尺寸) 方差(脚的尺寸)男性 5.855 3.5033e-02 176.25 1.2292e+02 11.25 9.1667e-01
女性 5.4175 9.7225e-02 132.5 5.5833e+02 7.5 1.6667e+00