本内容主要参考Andrew Ng的机器学习公开课第五讲。
本课内容:
- 生成学习算法的介绍;
- 第一个典型的生成学习算法——高斯判别分析;
- 生成学习算法与之前的判别学习算法的对比;
- 朴素贝叶斯算法,
- Laplace平滑。
1.生成学习算法
学习算法分为两种:一种是判别学习算法(Discriminative Learning Algorithm),简称DLA,另一种是生成学习算法(Generative Learning Algorithm),简称GLA。
DLA 通过建立输入空间X与输出标注{1, 0}间的映射关系学习得到 p(y|x) 。而 GLA 首先确定 p(x|y) 和 p(y) ,由贝叶斯准则得到后验分布 p(y|x)=p(x|y)p(y)p(x) 。通过最大后验准则进行预测,即
if p(y) is uniform: <=> arg maxy p(x|y) .
2.GDA高斯判别分析
当我们有一个分类问题,它的输入特征 x 是一个连续的随机变量,这时我们就使用高斯判别分析模型来建模,模型如下
是一个二类问题,所以假设y服从的是伯努利分布,进一步描述模型
根据模型经过训练得到它的似然函数模型:
然后,通过极大似然估计得到变量的估计值如下:
3.GDA和logistic回归模型的关系
如果我们把
该式子就是logistic回归模型的一个sigmoid函数。
GDA的优势: 由于有高斯分布的先验信息,如果确实符合实际数据,则只需要少量的样本就可以得到较好的模型。对比之下,logistic回归模型有更好的鲁棒性。
4.朴素贝叶斯Naive Bayes
朴素贝叶斯是通过后验概率来分类的,首先介绍一下贝叶斯公式:
朴素贝叶斯模型对于输入特征 x和输出结果y ,是假设 x 条件独立于
我们根据条件可以得到一个似然函数
训练模型(联合概率分布):给定训练样本
{(x(i),y(i));i=1..m}
给出极大似然估计值
其中: , ,
预测:输入一个n维特征值
x
(如一个词表),由贝叶斯准则得到后验概率
由最大后验准则得到分类结果。
关于贝叶斯的一个实例,可以参考我的另外一篇博文:
机器学习算法-朴素贝叶斯Python实现.
5.Laplace平滑
在实际应用中,有时候我们的数据正负样本的比例不均衡,比如正样本的个数为50,负样本为0,这是计算
将它归纳之后的到的公式如下:
Reference
Stanford机器学习公开课:http://open.163.com/movie/2008/1/A/R/M6SGF6VB4_M6SGHMFAR.html