1. 简介
机器学习分为监督学习和无监督学习,监督学习又可分为
生成模型
和判别模型
。
当给定训练数据D,确定假设空间H种的最佳假设。通常我们的做法是寻找一个最佳分类面
,当来了一个数据X时,判断其在各个分类上的概率,输出概率最大的分类,此种方法为判别模型
,常见的生成模型有SVM,逻辑回归,K近邻等。
朴素贝叶斯则属于生成模型
,即先学习各分类下的特点,当来了一个数据X时,判断X在各个分类下的概率,概率最大的即为X的分类。
2. 推导公式
根据贝叶斯定理有:
其中P(A)被称为先验概率,其公式为:
p(B|A)为条件概率,其公式为:
将式子2和3带入贝叶斯定理可知,当我们求给定数据的分类时,就是求给定的数据在属于哪一类的情况下概率最大:
3. 计算
有如下的西瓜测试数据
编号 | 色泽 | 根蒂 | 敲声 | 纹理 | 脐部 | 触感 | 密度 | 含糖率 | 好瓜 |
---|---|---|---|---|---|---|---|---|---|
1 | 青绿 | 蜷缩 | 浊响 | 清晰 | 凹陷 | 硬滑 | 0.697 | 0.460 | 是 |
2 | 乌黑 | 蜷缩 | 沉闷 | 清晰 | 凹陷 | 硬滑 | 0.774 | 0.376 | 是 |
3 | 乌黑 | 蜷缩 | 浊响 | 清晰 | 凹陷 | 硬滑 | 0.634 | 0.264 | 是 |
4 | 青绿 | 蜷缩 | 沉闷 | 清晰 | 凹陷 | 硬滑 | 0.608 | 0.318 | 是 |
5 | 浅白 | 蜷缩 | 浊响 | 清晰 | 凹陷 | 硬滑 | 0.556 | 0.215 | 是 |
6 | 青绿 | 稍蜷 | 浊响 | 清晰 | 稍凹 | 软粘 | 0.403 | 0.237 | 是 |
7 | 乌黑 | 稍蜷 | 浊响 | 稍糊 | 稍凹 | 软粘 | 0.481 | 0.149 | 是 |
8 | 乌黑 | 稍蜷 | 浊响 | 清晰 | 稍凹 | 硬滑 | 0.437 | 0.211 | 是 |
9 | 乌黑 | 稍蜷 | 沉闷 | 稍糊 | 稍凹 | 硬滑 | 0.666 | 0.091 | 否 |
10 | 青绿 | 硬挺 | 清脆 | 清晰 | 平坦 | 软粘 | 0.243 | 0.267 | 否 |
11 | 浅白 | 硬挺 | 清脆 | 模糊 | 平坦 | 硬滑 | 0.245 | 0.057 | 否 |
12 | 浅白 | 蜷缩 | 浊响 | 模糊 | 平坦 | 软粘 | 0.343 | 0.099 | 否 |
13 | 青绿 | 稍蜷 | 浊响 | 稍糊 | 凹陷 | 硬滑 | 0.693 | 0.161 | 否 |
14 | 浅白 | 稍蜷 | 沉闷 | 稍糊 | 凹陷 | 硬滑 | 0.657 | 0.198 | 否 |
15 | 乌黑 | 稍蜷 | 浊响 | 清晰 | 稍凹 | 软粘 | 0.360 | 0.370 | 否 |
16 | 浅白 | 蜷缩 | 浊响 | 模糊 | 平坦 | 硬滑 | 0.593 | 0.042 | 否 |
17 | 青绿 | 蜷缩 | 沉闷 | 稍糊 | 稍凹 | 硬滑 | 0.719 | 0.103 | 否 |
试判断如下测试样例是好瓜还是坏瓜:
编号 | 色泽 | 根蒂 | 敲声 | 纹理 | 脐部 | 触感 | 密度 | 含糖率 | 好瓜 |
---|---|---|---|---|---|---|---|---|---|
测 1 | 青绿 | 蜷缩 | 浊响 | 清晰 | 凹陷 | 硬滑 | 0.697 | 0.460 | ? |
P(好瓜=是)=8/17=0.471
P(好瓜=否)=9/17=0.529
P(色泽=青绿|好瓜=是)=3/8=0.375
P(色泽=青绿|好瓜=否)=3/9=0.333
P(根蒂=蜷缩|好瓜=是)=5/8=0.625
P(根蒂=蜷缩|好瓜=否)=3/9=0.333
P(敲声=浊响|好瓜=是)=6/8=0.750
P(敲声=浊响|好瓜=否)=4/9=0.444
P(纹理=清晰|好瓜=是)=7/8=0.875
P(纹理=清晰|好瓜=否)=2/9=0.222
P(脐部=凹陷|好瓜=是)=6/8=0.750
P(脐部=凹陷|好瓜=否)=2/9=0.222
P(触感=硬滑|好瓜=是)=6/8=0.750
P(触感=硬滑|好瓜=否)=6/9=0.667
计算连续数值时,把其看成符合
高斯分布
,带入概率密度公式进行求解,其中 和 分别为平均值和方差
P(密度=0.697|好瓜=是)=
=1.956
P(密度=0.697|好瓜=否)=1.203
P(含糖率=0.460|好瓜=是)=0.788
P(含糖率=0.460|好瓜=否)=0.066
于是:
P(好瓜=是)=0.063
P(好瓜=否)=6.80*
所以此为一个好瓜
4.引入平滑概念
当属性种出现一个测试集种从来没有出现过的元素,例如,色泽=浅绿,代入公式种则会出现分子全为0的情况,使得其他的属性值也被抹去,为了避免这种情况,我们引入了平滑的概念。
公式中
>=0,当
=1时,我们称之为拉普拉斯平滑
。
例如,本题中则为: