Generative Learning algorithm 斯坦福 机器学习 学习笔记
Generative Learning algorithm是与Discriminative Learning algorithm相对应的,这两类算法都属于有监督的学习(Supervised Learning algorithm),下面首先介绍一下Discriminative Learning algorithm:
我们规定{xi,yi}为训练样本,通过直接学习p(y|x)或者学习从x到 label{0,1}的映射的算法称之为Discriminative Learning algorithm。
但是我们也可以通过给p(x|y)建模型的方法来得到p(y|x)。这是因为根据贝叶斯公式,p(y|x)=p(x|y)*p(y)/p(x)。所以给p(y|x)建模来最大化p(y|x)也就相当于对后者建模使得其最大化。同时由于x是给定的,故p(x)是固定的,所以p(x)对建模没影响,故而arg max p(y|x)=arg max p(x|y)*p(y)。
首先我们介绍高斯判定分析(Gaussian discriminant analysis),这是一种用于分类的算法,对应于x取连续值的情况。
模型为:y服从参数为ø的伯努利分布,x|y=0 服从平均值为μ0,协方差矩阵为Σ的多元高斯分布,x|y=1 服从平均值为μ1,协方差矩阵为Σ的多元高斯分布(关于多元高斯分布以后会专门讨论一下)。
最大似然估计的log函数记为l(ø,μ0,μ1,Σ)=log∏mi=1p(x(i)|y(i);μ0,μ1,Σ)p(y(i);ø),我们的目标就是求得参数ø,μ0,μ1,Σ来使得l(ø,μ0,μ1,Σ)取得最大值。
使得l(ø,μ0,μ1,Σ)最大化的四个参数ø,μ0,μ1,Σ的取值已经有公式可以计算,在此不再赘述,详细内容参见斯坦福大学CS229机器学习课程的课堂笔记。
有了这四个参数之后,便可以计算并且比较p(y=1|x)和p(y=0|x)的大小,然后就可以进行分类。
先写到这,公式太难写了!