<统计学习方法>3 朴素贝叶斯法(Naive Bayes)
- 朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法
- 对于给定的训练数据集,首先基于特征条件独立假设学习输入输出的联合概率分布
- 然后基于此模型,对给定的输入 x,利用贝叶斯定理求出后验概率最大的输出y
- 朴素贝叶斯法与贝叶斯估计是不同的概念
朴素贝叶斯法的学习与分类
基本方法
- 通过训练数据集学习联合概率分布 P(X, Y),具体地是通过学习以下先验概率分布及条件概率分布来学习到该联合概率分布:
- 先验概率分布:
P(Y=ck),k=1,2,…K - 条件概率分布:
P(X=x|Y=ck)=P(X(1)=x(1),…,X(n)=x(n)|Y=ck),k=1,2,…,K - 其中,X 是定义在输入空间
X 上的随机向量, Y 是定义在输出空间Y 上的随机变量。输出空间表示为类标记集合Y={c1,c2,…,ck} . - 输入为特征向量
x∈X , 输出为类标记(class label)y∈Y
- 先验概率分布:
- 条件概率分布
P(X=x|Y=ck) 有指数级数量的参数,其估计实际是不可行的。而朴素贝叶斯对这个条件概率分布作了条件独立性的假设,这显然是个很强的假设,而naive也是这样得来的。条件独立性假设如下:P(X=x|Y=ck)=P(X(1)=x(1),…,X(n)=x(n)|Y=ck)=∏j=1nP(X(j)=x(j)|Y=ck) - 朴素贝叶斯法实际上学习到生成数据的机制,所以属于生成模型
- 在其分类时,对给定的输入 x, 通过学习到的模型计算后验概率分布
P(Y=ck|X=x) ,将后验概率最大的类作为 x 的类输出。后验概率计算根据贝叶斯定理得到:P(Y=ck|X=x)=P(X=x|Y=ck)P(Y=ck)∑kP(X=x|Y=ck)P(Y=ck) - 将以上两个公式结合可得出朴素贝叶斯法分类的基本公式:
P(Y=ck|X=x)=P(Y=ck)∏nj=1P(X=x(j)|Y=ck)∑kP(Y=ck)∏nj=1P(X(j)=x(j)|Y=ck),c=1,2,…,K - 朴素贝叶斯分类器可表示为:
y=f(x)=arg maxck P(Y=ck)∏nj=1P(X=x(j)|Y=ck)∑kP(Y=ck)∏nj=1P(X(j)=x(j)|Y=ck) - 因为上式分母对所有
ck 都是相同的,所以只用最大化上面的分子就行了
- 将以上两个公式结合可得出朴素贝叶斯法分类的基本公式:
后验概率最大化的含义
- 朴素贝叶斯法将实例分到后验概率最大的类中,等价于期望风险最小化。假设选择0-1损失函数:
L(Y,f(X))={1,Y≠f(X)0,Y=f(X) - 其中
f(X) 是分类决策函数 - 此时,期望风险函数为
Rexp(f)=E[L(Y,f(X))] - 期望是对联合分布P(X,Y)取的,得
Rexp(f)=EX∑k=1K[L(ck,f(X))]P(ck|X)
- 其中
- 为了使期望风险最小化,只需对X=x逐个极小化:
f(x)=arg miny∈Y∑k=1KL(ck,y)P(ck|X=x)=arg miny∈Y∑k=1KP(y≠ck|X=x)=arg miny∈Y(1−P(y=ck|X=x))=arg maxy∈YP(y=ck|X=x) - 根据上式,最后得出的就是后验概率,所以期望风险最小化变成了后验概率最大化。
朴素贝叶斯法的参数估计
极大似然估计
- 在朴素贝叶斯法中,学习意味这估计
P(Y=ck) 和P(X(j)=x(j)|Y=ck) , 可以应用极大似然估计法估计相应的概率。 - 先验概率
P(Y=ck) 的极大似然估计是:P(Y=ck)=∑Ni=1I(yi=ck)N,k=1,2,...,K - 设第 j 个特征
x(j) 可能取值的集合为{aj1,aj2,⋯,ajSj,} ,则条件概率的极大似然估计为P(X(j)=ajl|Y=ck)=∑Ni=1I(x(j)i=ajl,yi=ck)∑Ni=1I(yi=ck) -
j=1,2...,n ,x(j)i 是第 i 个样本的第 j 个特征值 -
l=1,2...,Sj ,x(j)i 是第 j 个特征可能取的第l 个值 -
I 为指示函数
-
学习与分类算法
- 步骤就是: 先计算先验概率和条件概率,然后计算可能的后验概率,选最大的后验概率作为最终的分类
- 算法符号太多,直接上实例:
贝叶斯估计
- 用极大似然估计可能会出现所要估计的概率值为0的情况,这会影响到后验概率的计算结果,使分类产生偏差。解决这个问题的方法就是采用 贝叶斯估计
- 条件概率的贝叶斯估计为:
Pλ(X(j)=ajl|Y=ck)=∑Ni=1I(x(j)i=ajl,yi=ck)+λ∑Ni=1I(yi=ck)+Sjλ - 其中,
λ≥0 ,等价于在随机变量各个取值的频数上赋予一个整数λ>0 - 当
λ=0 时就是极大似然估计,常常取λ=1 ,这时称为拉普拉斯平滑(Laplace smoothing)
- 其中,
- 先验概率的贝叶斯估计为:
Pλ(Y=ck)=∑Ni=1I(yi=ck)+λN+Kλ - 实例如下:
- 实例如下:
To to list
- 极大似然估计法?如何推出上面的式子
- 贝叶斯估计?如何推出上面的式子