机器学习——朴素贝叶斯、后验概率最大和极大似然

朴素贝叶斯没有参数估计,给堆数据直接求,属于生成模型,不用优化模型求最佳参数,这区别于判别模型。

我遇到的困惑

(1)“后验概率最大”和“极大似然”这二者有什么区别和联系吗?

(2)朴素贝叶斯和EM这二者有什么区别和联系吗?

答案:

(1) 朴素贝叶斯是根据后验概率最大来分类的,在LR和最大熵模型的时候你肯定记得“极大似然估计”,“后验概率最大”和“极大似然”这二者有什么区别和联系吗?

二者都是概率模型,求的是p(Y|X=x),极大似然认为哪个ck的联合概率分布p(Y=ck|X=x)最大,那输出类别就是它ck(这个是基于最大熵原理推导)。而最大后验概率则是哪个ck的后验概率p(Y=ck|X=x)*p(Y=ck)最大,那输出类别就是它ck(基于期望风险最小化推导)!

(2)EM和朴素贝叶斯我觉得区别很大,联系的话,就是都是概率模型,EM构建模型,根据极大似然或极大后验概率求解模型参数。EM的特定就是,含有隐变量。

1 朴素贝叶斯

定义:朴素贝叶斯是基于贝叶斯定理特征条件独立假设独立的分类方法。具体地,对于给定的训练数据,首先基于特征条件独立假设(naive,天真,因为把模型想的这么简单)学习输入/输出的联合概率分布;然后基于此模型,对给定的输入x,利用贝叶斯定理求出后验概率最大的输出y。

基于概率分布模型的分类问题说白了就是求P(y|X),比如LR,我们是知道它的分布是伯努利(这个是LR的前提假设),求P(y=1|X=x)大还是P(y=0|X=x),然后伯努利属于广义线性,根据推导能得到P(y=0|X=x)的公式表达。但对于一堆数据,我不想假设他是什么分布,但我还是要求P(Y=ck|X=x),根据贝叶斯定理知道,条件概率:

p(Y=ck|X=x)=\frac{p(Y=ck)p(X=x|Y=ck)}{p(X=x)}

p(X=x|Y=ck)}很难算出来,输入特征有的是独立的有的是不独立的,不独立的还需要知道他们的关系,参数非常大。

但有一点,如果这些特征属性都独立,之间没有关系,那么这个联合条件概率就很好求了。假设数据集个数为n,则

p(X=x|Y=ck)=\prod_{i=1}^{n}p(X=xi|Y=ck)

朴素贝叶斯分类准则:后验概率最大化p(Y=ck|X=x),那个ck的后验概率最大,则将ck作为x的输出。因为P(X=x)对所有的类ck都是一样的,所以可以不计算分母,只比较分子p(Y=ck)p(X=x|Y=ck)

条件独立又可表示为p(Y=ck)\prod_{i=1}^{n}p(X=xi|Y=ck)

为什么后验概率最大化可以采用呢?这是通过期望风险最小化推导出来的(过程略)

(朴素贝叶斯重点在于会通过这个分类器对给定的数据集分类)

如何求p(Y=ck),p(X=xi|Y=ck) ,这里用频数去估计近似

但这会有个问题,如果在训练集中,某个特征没有出现过,即p(X=xi|Y=ck)为0,那这导致这个类的概率就为0了。我们知道没有出现只是概率偏低,但不能是绝对不可能出现。为了解决这个情况,提出了“平滑”处理,即贝叶斯估计,分子分母个加上一个数:

p(X=xi|Y=ck) = \frac{\sum_{i=1}^{n}I(xij=aij,y=ck)+\lambda }{\sum_{i=1}^{n}I(y=ck)+Sj\lambda }

p(Y=ck) = \frac{\sum_{i=1}^{n}I(y=ck)+\lambda }{n+K\lambda }

 

猜你喜欢

转载自blog.csdn.net/woshicao11/article/details/81504315