最近在看机器学习方面的看法,写写博客增加一下自己的印象。
- 朴素贝叶斯原理介绍
- 后验概率最大化的含义
- 极大似然估计
- 贝叶斯估计
1、朴素贝叶斯原理介绍
条件独立性假设等于是说用于分类的特征在类确定的条件下都是条件独立的。这一假设使朴素贝叶斯计算起来更加的简单。但有时会牺牲一定的分类准确率。
在介绍贝叶斯之前有几个概念需要弄清楚。
- XXX:训练数据
- YYY:假设空间
- yiy_iyi:假设
- 先验概率P(yi)P(y_i)P(yi) :假设yiy_iyi的先验概率(Prior Probability)(即在没有训练数据前假设yiy_iyi拥有的初始概率)
- 条件概率P(X=xi∣yi)P(X=x_i|y_i)P(X=xi∣yi) :似然度,在假设yiy_iyi成立的情况下观察到xix_ixi的概率
- 后验概率P(yi∣X)P(y_i|X)P(yi∣X):后验概率,给定训练数据X是yiy_iyi成立的概率
贝叶斯定理P(yi∣X=xi)=P(X=xi∣yi)P(yi)P(X=xi)P(y_i|X=x_i)=\frac{P(X=x_i|y_i)P(y_i)}{P(X=x_i)}P(yi∣X=xi)=P(X=xi)P(X=xi∣yi)P(yi)
- 贝叶斯公式比较重要的一点是,它提供了根据P(X=xi∣yi),P(yi),P(X)P(X=x_i|y_i),P(y_i),P(X)P(X=xi∣yi),P(yi),P(X)计算后验概率的方法。
朴素贝叶斯分类器:
y=argmaxckP(Y=ck)∏jP(X(j)=x(j)∣Y=ck)∑kP(Y=ck)∏jP(X(j)=x(j)∣Y=ck)y=\mathop {argmax}_{c_k}\frac{P(Y=c_k)\prod_j{P(X^{(j)}=x^{(j)}|Y=c_k)}}{\sum_kP(Y=c_k)\prod_j{P(X^{(j)}=x^{(j)}|Y=c_k)}}y=argmaxck∑kP(Y=ck)∏jP(X(j)=x(j)∣Y=ck)P(Y=ck)∏jP(X(j)=x(j)∣Y=ck)
(其中因为对于所有的ckc_kck分母都相同,为了计算简单上式中省略了分母)
y=argmaxckP(Y=ck)∏P(X(j)=x(j)∣Y=ck)y=\mathop {argmax}_{c_k}P(Y=c_k)\prod{P(X^{(j)}=x^{(j)}|Y=c_k)}y=argmaxckP(Y=ck)∏P(X(j)=x(j)∣Y=ck)
2、最大后验概率的意义
在朴素贝叶斯分类算法中,将实例分到后验概率最大的类中。这等价于将期望风险最小化。
3、极大似然估计
在朴素贝叶斯的学习方法中,学习其实就是估计P(Y=ck)P(Y=c_k)P(Y=ck)和P(X(j)=x(j)∣Y=ck)P(X^{(j)}=x^{(j)}|Y=c_k)P(X(j)=x(j)∣Y=ck)。用极大似然估计法可以估计相应的概率。先验概率P(Y=ck)=∑i=1NI(yi=ck)N,k=1,2,...,KP(Y=c_k)=\frac{\sum_{i=1}^NI(y_i=c_k)}{N},k=1,2,...,KP(Y=ck)=N∑i=1NI(yi=ck),k=1,2,...,K
假设朴素贝叶斯一条训练数据的第jjj个特征可能的取值集合为{aj1,aj2,...,ajsj}\{a_{j1},a_{j2},...,a_{js_j}\}{aj1,aj2,...,ajsj}则:
P(X(j)=ajl)∣Y=ck)=∑i=1NI(xi(j)=ajl,yi=ck)∑i=1NI(yi=ck)P(X^{(j)}=a_{jl})|Y=c_k)=\frac{\sum_{i=1}^NI(x_i^{(j)}=a_{jl},y_i=c_k)}{\sum_{i=1}^NI(y_i=c_k)}P(X(j)=ajl)∣Y=ck)=∑i=1NI(yi=ck)∑i=1NI(xi(j)=ajl,yi=ck)
- j=1,2,...,n(x特征数);j=1,2,...,n(x特征数);j=1,2,...,n(x特征数);
- l=1,2,...sj(特征可能取的值数);l=1,2,...s_j(特征可能取的值数);l=1,2,...sj(特征可能取的值数);
- k=1,2,...,K(分类种类数);k=1,2,...,K(分类种类数);k=1,2,...,K(分类种类数);
4、贝叶斯估计
上面介绍了极大似然估计,但极大似然估计可能会出现所要估计的概率值为0的情况。这是会影响后验概率的计算结果,使分类产生误差。避免这一情况的做法是采用贝叶斯估计,具体计算公式如下。
Pλ(X(j)=ajl)∣Y=ck)=∑i=1NI(xi(j)=ajl,yi=ck)+λ∑i=1NI(yi=ck)+sjλP_\lambda(X^{(j)}=a_{jl})|Y=c_k)=\frac{\sum_{i=1}^NI(x_i^{(j)}=a_{jl},y_i=c_k)+\lambda}{\sum_{i=1}^NI(y_i=c_k)+s_j\lambda}Pλ(X(j)=ajl)∣Y=ck)=∑i=1NI(yi=ck)+sjλ∑i=1NI(xi(j)=ajl,yi=ck)+λ
- xi(j):x^{(j)}_i:xi(j):第iii个实例xix_ixi的第jjj个特征。
- ajl:a_{jl}:ajl:第jjj个特征的第lll个取值。
其中λ≥0\lambda\geq0λ≥0当λ=0\lambda=0λ=0就是极大似然估计,当取值为1时就是拉普拉斯平滑(Laplace smoothing)
先验概率的贝叶斯估计:
Pλ(Y=ck)=∑i=1NI(yi=ck)+λN+KλP_\lambda(Y=c_k)=\frac{\sum_{i=1}^NI(y_i=c_k)+\lambda}{N+K\lambda}Pλ(Y=ck)=N+Kλ∑i=1NI(yi=ck)+λ