统计学习方法笔记(第四章个人笔记)
标签: 统计学习方法
朴素贝叶斯法
描述:朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法,对于给定的训练数据集,首先基于特征条件独立假设学习输入与输出的联合概率分布;然后基于此模型,对给定的输入x,利用贝叶斯定理求出,后验概率最大的输出y。本章叙述朴素贝叶斯法,包括朴素贝叶斯法的学习分类,朴素贝叶斯法的参数估计算法。
1.1.1 基本方法
- 对于输入空间$x∈χ$ 且$x$为一个n维随机向量,输出为类标记$y∈γ$ ,其中$y$ 为随机变量,$P(X , Y)$是X和Y的联合概率分布,对于训练数据集:
$$T={(x_1,y_1),(x_2,y_2),\dots,(x_N,y_N)}$$
由$P(X,Y)$独立同分布产生
朴素贝叶斯法通过训练数据集学习联合概率分布$P(X,Y)$。具体是学习以先验概率分布以及条件概率分布。
其中先验概率分布为:
$$P(Y=c_k), k=1,2,\dots,K$$
条件概率分布:
$$P(X=x|Y=c_k)=P(X{(1)}=x{(1)},\dots,X{(n)}=x{(n)}|Y=c_k), k=1,2,\dots,K$$
于是可以学习到联合概率分布P(X,Y)
但是条件概率分布$P(X=x|Y=c_k)$有指数级数量的参数,其估计实际是不可行的,事实上,假设$x^{(i)}$可去值有$S_j$个,$j=1,2,\dots,n,Y$可取值有$K$个,那么参数个数为$K\prod_{j=1}^nS_j$
2.朴素贝叶斯对条件概率分布做了条件独立的假设。具体的,条件独立假设是:
$$P(X=x|Y=c_k)=P(X{(1)}=x{(1)},\dots,X{(n)}=x{(n)}|Y=c_k)=\prod_{j=1}nP(X{(j)}=x^{(j)}|Y=c_k)$$
所以朴素贝叶斯法实际上学习到生成数据的机制,所以数据生成模型。条件独立假设说明用于分类的特征在类确定的条件下都是条件独立的(这一假设会使得该方法更简单,不过有时候会牺牲一定的分类准确率)
3.下面来看看贝叶斯分类器的生成
对于给定的输入向量,通过学习到的模型计算后验概率分布$P(Y=c_k|X=x)$,后验分布中最大的类作为的输出结果,根据贝叶斯定理可知后验概率为:
由于下面的分布是想用的,于是有最大概率公式:
1.2朴素贝叶斯法的参数估计
上面已经给出了对于输入$x$输出为$y$,
对此可应用极大似然估计法来估计相应的概率。
先验概率:
$$P(Y=c_k)=\frac{\sum_{i-1}^NI(y_i=c_k)}N, k=1,2,\dots,K$$
设第j个特征$x{(i)}$集合为${a_{j1},a_{j2},\dots,a{jS_j}}$条件概率为$P(X{(j)}=a_{jl}|Y=c_k)$的极大似然估计为:
$$P(X{(j)}=a_{jl}|Y=c_k)=\frac{\sum{N}{i=1}I(x_i^{(j)}=a{jl},y_i=c_i)}{\sum_{i=1}^{N}I(y_i=c_k)}$$
感觉挺抽象的,还是直接上例子吧(书P50例4.1)
:试由下表的训练数据学习一个朴素贝叶斯分类器并确定$x=(2,S)T$的类标记$y$,表中$X{(1)},X^{(2)}$为特征,$Y$为类标记。
先验概率:
后验概率:
......此处略去另外用不到的,实际上还是要算(详情见书上)
对于给定的$x=(2,S)^T$计算到
![](http://img.e-com-net.com/image/info10/20661bb9b09d4a23b9cd9ec59dead1d7.jpg)
最大,所以$y=-1$
1.3贝叶斯估计
背景:由于用极大似然估计可能会出现所要素及的概率值为0的情况。这时会影响到后验概率的计算结果,是分类产生偏差,解决这个问题的方法是采用贝叶斯估计,具体的,条件概率的贝叶斯估计是:
$$P_{\lambda}(X{(j)}=a_{jl}|Y=c_k)=\frac{\sum{N}{i=1}I(x_i^{j}=a{jl},y_i=c_k)+\lambda}{\sum^{N}_{i=1}I(y_i=c_k)+S_j\lambda}$$
式子中,$\lambda≥0$等价于在随机变量各个取值的频数上赋予一个正数$\lambda>0$.特殊得当$\lambda=0$时时极大似然估计,取$\lambda=1$时,称为拉普拉斯平滑。
另外上式的先验概率的贝叶斯估计是:
$$P_\lambda(Y=c_k)=\frac{\sum^N_{i=1}I(y_i=c_k)+\lambda}{N+K\lambda}$$
同样,例题在P52页,和上面的类似,就是多加了这几个参数,此不赘述。
代码将稍后奉上,请稍等。