统计学习方法——第4章 朴素贝叶斯法(个人笔记)

统计学习方法——第4章 朴素贝叶斯法(个人笔记)

参考《统计学习方法》(第二版)李航

朴素贝叶斯法:基于贝叶斯定理与特征条件独立假设的分类方法。

4.1 朴素贝叶斯法的学习与分类

4.1.1 基本方法

训练数据集

T=\left \{ (x_1,y_1),\cdots ,(x_N,y_N) \right \}

先学习先验概率分布及条件概率分布

先验概率分布

P(Y=c_k),k=1,2,\cdots,K

条件概率分布

P(X=x|Y=c_k)=P(X^{(1)}=x^{(1)},\cdots,X^{(n)}=x^{(n)}|Y=c_k),k=1,\cdots,K

这样学习到联合概率分布P(X,Y)

扫描二维码关注公众号,回复: 17286993 查看本文章

朴素贝叶斯法的条件概率分布假设条件相互独立的即条件独立性

P(X=x|Y=c_k)=P(X^{(1)}=x^{(1)},\cdots,X^{(n)}=x^{(n)}|Y=c_k)

=\prod_{j=1}^{n} P(X^{(j)}=x^{(j)}|Y=c_k)

朴素贝叶斯法分类时,对给定的输入x,通过学习到的模型计算后验概率分布P(Y=c_k|X=x),将后验概率最大的类作为x的类输出。

后验概率计算公式:

P(Y=c_k|X=x)=\frac{P(X=x|Y=c_k)P(Y=c_k)}{\sum_{k}^{} P(X=x|Y=c_k)P(Y=c_k)}

将条件独立性公式代入,

P(Y=c_k|X=x)=\frac{P(Y=c_k)\prod_j P(X^{(j)}=x^{(j)}|Y=c_k)}{\sum_{k}^{} P(Y=c_k)\prod_j P(X^{(j)}=x^{(j)}|Y=c_k)}

于是,朴素贝叶斯分类器为

y=f(x)=\arg \max_{c_k}\frac{P(Y=c_k)\prod_j P(X^{(j)}=x^{(j)}|Y=c_k)}{\sum_{k}^{} P(Y=c_k)\prod_j P(X^{(j)}=x^{(j)}|Y=c_k)}

由于分母对所有c_k都是相同的,所以

y=\arg \max_{c_k}P(Y=c_k)\prod_j P(X^{(j)}=x^{(j)}|Y=c_k)

4.1.2 后验概率最大化的含义

朴素贝叶斯法将实例分到后验概率最大的类中。这等价于期望风险最小化。假设选择0-1损失函数:

L(Y,f(X))=\begin{cases} 1, & \text{ if } Y\neq f(X) \\ 0, & \text{ if } Y= f(X) \end{cases}

式中f(X)是分类决策函数。

这时,期望风险函数为

R_{exp}(f)=E[L(Y,f(x))]

期望是对联合分布P(X,Y)取的。由此取条件期望

R_{exp}(f)=E_X\sum_{k=1}^K[L(c_k,f(X))]P(c_k|X)

为了使期望风险最小化,只需对X=x逐个最小化,由此得到:

f(x)=\arg\min_{y}\sum_{k=1}^{K}L(c_k,y)P(c_k|X=x)

=\arg\min_{y}\sum_{k=1}^{K}P(y\neq c_k|X=x)

=\arg \min_y (1-P(y=c_k|X=x))

=\arg\max_{c_k}P(c_k|X=x)

这样期望风险就等价于后验概率最大化准则。

4.2 朴素贝叶斯法的参数估计

4.2.1 极大似然估计

在朴素贝叶斯法中,学习意味着估计P(Y=c_k)P(X^{(j)}=x^{(j)}|Y=c_k)

P(Y=c_k)的极大似然估计是

P(Y=c_k)=\frac{\sum_{i=1}^N I(y_i=c_k)}{N},k=1,\cdots,K

设第j个特征x^{(j)}可能取值为{a_{j1},\cdots,a_{jS_j}},则P(X^{(j)}=x^{(j)}|Y=c_k)

极大似然估计为

P(X^{(j)}=a_{jl}|Y=c_k)=\frac{\sum_{i=1}^{N}I(x_i^{(j)}=a_{jl},y_i=c_k)}{\sum_{i=1}^{N}I(y_i=c_k)}

j=1,\cdots,n;l=1,\cdots,S_j;k=1,\cdots,K

4.2.2 学习与分类算法

算法4.1 (朴素贝叶斯算法)

输入:训练数据T=\left \{ (x_1,y_1),\cdots,(x_N,y_N)\right \}

输出:实例x的分类

(1)计算先验概率及条件概率

P(Y=c_k)=\frac{\sum_{i=1}^N I(y_i=c_k)}{N},k=1,\cdots,K

P(X^{(j)}=a_{jl}|Y=c_k)=\frac{\sum_{i=1}^{N}I(x_i^{(j)}=a_{jl},y_i=c_k)}{\sum_{i=1}^{N}I(y_i=c_k)}

 j=1,\cdots,n;l=1,\cdots,S_j;k=1,\cdots,K

(2) 对于给定的实例x=(x^{(1)},\cdots,x^{(n)})^T,计算

P(Y=c_k)\prod_j^n P(X^{(j)}=x^{(j)}|Y=c_k)

(3)确定实例x的类

y=\arg \max_{c_k}P(Y=c_k)\prod_j^n P(X^{(j)}=x^{(j)}|Y=c_k)

例子,

 

 4.2.3 贝叶斯估计

由于极大似然估计可能会出现所要估计的概率值为0的情况。

解决这一问题,可以采用条件概率的贝叶斯估计是

P_\lambda (X^{(j)}=a_{jl}|Y=c_k)=\frac{\sum_{i=1}^{N}I(x_i^{(j)}=a_{jl},y_i=c_k)+\lambda }{\sum_{i=1}^{N}I(y_i=c_k)+S_j\lambda }

 其中\lambda \geq 0

\lambda =1时,称为拉普拉斯平滑。

 同样先验概率的贝叶斯估计为

P_\lambda (Y=c_k)=\frac{\sum_{i=1}^N I(y_i=c_k)+\lambda }{N+K\lambda },k=1,\cdots,K

例子,

猜你喜欢

转载自blog.csdn.net/pk296256948/article/details/123982813
今日推荐