【机器学习具体解释】概率生成模型与朴素贝叶斯分类器
转载请注明出处http://blog.csdn.net/luoshixian099/article/details/51028244
1.概率生成模型
首先介绍生成模型的概念,然后逐步介绍採用生成模型的步骤。
1.1概念
即对每一种类别
Ck 分别建立一种数据模型p(x|Ck) 。把待分类数据x分别带入每种模型中,计算后验概率p(Ck|x) ,选择最大的后验概率相应的类别。
如果原始数据样本有K类,生成学习算法是通过对原始数据类
二分类的情况:(K=2)
当中p(C1|x)=p(x,C1)p(x)=p(x|C1)p(C1)p(x|C1)p(C1)+p(x|C2)p(C2)=11+exp(−α)=σ(α) α=lnp(x|C1)p(C1)p(x|C2)p(C2) ;函数σ(α)=11+exp(−α) 称为sigmoid函数。多类的情况:(K>2)
多分类的情况,是二分类的扩展,称为softmax函数。同样採用贝叶斯定理:p(Ck|x)=p(x|Ck)p(Ck)∑jp(x|Cj)p(Cj)=exp(αk)∑jexp(αj)
当中αk=lnp(x|Ck)p(Ck) 。
1.2高斯分布如果
对于连续变量x,我们首先如果给定详细类条件下数据密度函数
二维高斯分布。同样方差,不同期望的三个图形。
- 二分类情况K=2
把多维高斯分布公式带入上述相应的贝叶斯公式得:
注意到sigmoid函数參数是关于数据x的线性函数
下图是2维数据的高斯分布图形:
- 多分类的情况K>2
多维高斯分布函数带入softmax函数得:
注意:αk(x) 也是关于样本数据x的线性函数
实际上,不管是连续型数据还是以下将要介绍的离散型数据(朴素贝叶斯分类),仅仅要如果的分布属于指数簇函数,都有广义线性模型的结论。
K=2时为sigmoid函数:參数
λ 为模型的固有參数
K>2时为softmax函数:
1.3模型參数的求解
在如果了数据类密度函数
比如,上述如果了数据为高斯分布,须要计算先验概率
考虑二分类的情况:样本数据为
释然函数:
分别求偏导数并令为0,得:
2.朴素贝叶斯分类器(NBC)
2.1概念
朴素贝叶斯分类器是生成学习算法的一种。考虑一个样本
条件类概率
- 当样本数据x取实数值为时,採用高斯分布:
p(x|y=c,θ)=∏Dj=1N(xj|μjc,σ2jc) - 当每种特征
xj∈{0,1} 时,採用伯努利分布p(x|y=c,θ)=∏Dj=1Ber(xj|μjc) - 当每种特征取值
xj∈{1,2,3,...,K} ,能够採用multinoulli distribution:p(x|y=c,θ)=∏Dj=1Cat(xj|μjc)
2.2文本分类
朴素贝叶斯尽管做了非常强的特征独立性如果,却对在文本分类的情况效果非常好。
首先收集全部样本数据中出现过的词,建立一个有序字典,长度为D。对待分类文本x依据字典建立一个长度为D词向量,
定义:
释然函数:
最大释然预计得:
训练出模型后,对待分类样本依据贝叶斯定理。计算每种类别的后验概率,选择最大的后验概率类别:
2.3拉普拉斯平滑
在对文本分类的情况下,假如我们训练分类器採用的训练文本全部
为了解决这样的情况。能够模型參数的分子加上1,同一时候保持和为1。,称为拉普拉斯平滑。
參考:PRML&&MLAPP