1. 生成学习算法(Generative Learning Algorithm)与判别学习算法(Discriminative Learning Algorithm):
之前涉及到的回归类模型就是DLA的一类,是直接对建模的。更详细一点的说,没有使用正则化的模型是对
建模,是一个参数。而使用了正则化的模型则是对
建模。
而GLA则是对建模,以分类问题为例,生成学习通过对不同类的特征建模,得到
,
利用贝叶斯公式:进行分类。
现在我学到的生成学习分类算法有两类:GDA(高斯判别分析)和Naive Bayes(朴素贝叶斯)。
当类别标记不知道时,即未观测,分类问题就是一个聚类问题。将未被观测到的类标记当成隐随机变量(latent random variable),通过EM算法,就可以求解聚类问题。这篇博客记录了分类问题下GDA以及用于分类高斯混合模型。
2.GDA:二分类:
(1)
模型假设:,对应的分布为:
因为也是未知量,所以直接对联合分布
进行极大似然估计,得到对数似然函数为:
估计,时,和其他自变量无关,所以有些项是不用关心的。通过求导,
估计出来的结果是:
(2)与Logistic Regression的对比:
logistic regression有着更弱的假设,而高斯判别分析需要假设更强一些。
(3)多分类高斯判别分析:
令z表示类标记,有:
最终结果如下:
PS:这里有一个问题就是:为什么二分类时 用的是一个,但是多分类时,有多少个类就要算多少个
?
3.Mixture of Gaussians:
对于混合高斯用于聚类,需要知道EM算法的相关知识,见1.16
优化问题同1中(3)所记录的:
但是因为z是一个隐变量,所以直接计算比较困难,所以使用EM迭代计算。算法推导还没完全搞懂,这里不记录。
算法流程如下:
Repeat until convergence{
E-step: For each i,j,set
M-step: Set
}