转载请注明出处http://blog.csdn.net/luoshixian099/article/details/51028244
1.概率生成模型
首先介绍生成模型的概念,然后逐步介绍采用生成模型的步骤。
1.1概念
即对每一种类别Ck分别建立一种模型p(Ck|x),把待分类数据x分别带入每种模型中,计算后验概率p(Ck|x),选择最大的后验概率对应的类别。
假设原始数据样本有K类,生成学习算法是通过对原始数据类p(x|Ck)与p(Ck)建立数据类模型后,采用贝叶斯定理从而得出后验概率p(Ck|x)。对待分类样本x分别计算属于每个类别的后验概率p(Ck|x),取最大可能的类别。
arg max(k)=p(Ck|x)=p(x,Ck)p(x)=p(x|Ck)p(Ck)∑jp(x|Cj)p(Cj)
二分类的情况:(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,我们首先假设给定具体类条件下数据密度函数p(x|Ck)分布服从多维高斯分布,同时所有类别p(x|Ck)具有相同的协方差矩阵∑:
二维高斯分布,相同方差,不同期望的三个图形。
- 二分类情况K=2
把多维高斯分布公式带入上述对应的贝叶斯公式得:
注意到sigmoid函数参数是关于数据x的线性函数
下图是2维数据的高斯分布图形:
- 多分类的情况K>2
多维高斯分布函数带入softmax函数得:
注意:αk(x)也是关于样本数据x的线性函数
实际上,无论是连续型数据还是下面将要介绍的离散型数据(朴素贝叶斯分类),只要假设的分布属于指数簇函数,都有广义线性模型的结论。
K=2时为sigmoid函数:参数λ为模型的固有参数
K>2时为softmax函数:
1.3模型参数的求解
在假设了数据类密度函数p(x|Ck)的情况下,下面需要对模型的参数进行求解。例如,上述假设了数据为高斯分布,需要计算先验概率p(Ck)及参数μk,∑ .我们采用最大化释然函数的方法求解:
考虑二分类的情况:样本数据为(xn,tn),样本总量为N,tn=1属于C1类,总数为N1;tn=0属于C2类,总数为N2.假设先验概率p(C1)=π;则p(C2)=1?π
释然函数:
分别求偏导数并令为0,得:
参考:PRML