[学习笔记]分类算法之朴树贝叶斯

from: http://www.hxxiaopei.com/?p=126

我理解朴树贝叶斯法是实现最简单的分类算法,也是非常有效的分类算,工程上容易被接受,很常用,属于生成模型。

朴树贝叶斯模型:

\{(x_{1},y_{1}),(x_{2},y_{2}).....(x_{N},y_{N})}训练数据,类别集合 ,输入特征向量为x, 表示第i个样本点特征向量的j分量,在后面的计算中, 会有不同的取值。

朴树贝叶斯首先基于训练集合学习联合概率分布p(X,Y),然后基于该模型,针对输入特征向量x,计算出后验概率最大的类别作为输出

,所以学习联合分布的的任务就是通过训练数据学习

其中 ,同时 又存在 个不同的取值,所以模型参数个数为 较大时,模型过多。

所以朴树贝叶斯法对条件概率做了很强的假设:特征条件独立,即

参数个数为 ,引入这个假设降低了算法的复杂度,但是牺牲了准确率。

训练过程也比较简单,基于训练集合,定义似然函数

同时满足约束条件:

其中 表示特征向量第j个分量的第l个取值,注意为了计算方便,这里假设每个分量有相同的取值个数,实际上是不一样的。

构建拉格朗日函数

接下来求解很简单,极大似然估计,分别对参数求导即可,注意里面有拉格朗日乘子.

求解 ,有

其中

则有 ,将其带入约束条件,

则有

最后有

同样方法可以求得:

贝叶斯估计:

存在一个问题,如果p(x=f|y=c)在训练中没有出现过,则有p(x=f|y=c)=0,导致整个结果等0,显然不是我们想要的。

引入

虽然引入 ,有 ,满足约束

如果 则是拉普拉斯估计。

同样

分母中 的系数,依赖于类别的个数,即不同参数的个数

思考:

1.朴树贝叶斯有强假设,特征条件独立这个假设对准确率牺牲成都多大,相对于其他分类方法,比如logistic 回归,准确率怎么样

2.特征值为离散值,实际使用时,将连续value离散化,使用朴树贝叶斯,与直接使用其他分类法,准确率是否有区别

你可能感兴趣的:(机器学习,算法,任务,c)