今天看了斯坦福机器学习课程的第五讲,有提到生成学习,看了下,之前所讲的是各种回归分类问题属于判别模型,这两者一定要熟悉。
对于样本的学习主要有两种方式,就是生成学习和判别学习。简单来说,根绝学习过程中的focus点来划分。
对于判别学习,主要是focus在 p(y|x)上,也就是根据给定一个观察值,给出这个值属于某个域的概率,这其实和我们正常的思维差不多,
比如观察到一只狮子,要判断是美洲狮还是非洲狮?按照判别学习的思路,我们首先需要有一定的资料,机器学习上称为训练集,比如过去观察的
一些狮子的特征什么的,这样可以提取这两种狮子的不同特征,也就是得到了预测函数,之后把我们当前观察的狮子的一些特征提取出来,输入到
预测函数中,来看最终的概率(其实这相当于logistics回归)。
而对于生成学习,则是有点和我们正常的思维不大一样,在生成学习中,我们先从美洲狮的特征中学习得到美洲狮的模型,同样得到非洲狮的模型,然后
提取当前观察的狮子的模型,放到两者之中,看哪个概率更大。这就是生成学习。
形式化来描述一下,x是观察值,y是预测值,则判别模型是要求 p(y|x),而生成模型focus在 p(x|y)上,其实这两者是统一的,根据贝叶斯公式有:
可以看出,两者是关联的。
从另一个角度来说,判别模型需要求的是条件概率,生成模型需要求的是联合概率。
常见的判别模型有线性回归,对数回归,支持向量机,boosting,神经网络等。
常见的生成模型有隐马尔可夫模型,朴素贝叶斯模型,高斯混合模型,LDA等。
参考资料:http://www.cnblogs.com/jerrylead/archive/2011/03/05/1971903.html