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

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

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离散化,使用朴树贝叶斯,与直接使用其他分类法,准确率是否有区别