生成学习算法
目前为止,我们主要讨论的学习算法基于p(y|x;θ)进行建模,即给定x的情况下y的条件分布。比如在逻辑回归里我们基于p(y|x;θ)推导出hθ(x)=g(θTx),其中g(z)是sigmoid函数。这次我们来介绍另一种类型的学习算法。
考虑这样一个分类问题,根据动物的某些特征用来区分该动物究竟是大象(y=1)还是狗(y=0)。之前的回归算法可能通过梯度上升算法求出一条直线,也就是决策边界(decision boundary),来区分大象和狗。对于一个新的动物,看它落到直线的哪一边就能做出相应的预测。
另一种方法是,我们挑选出大象的数据,单独对大象进行建模;对狗也一样,单独对狗进行建模。对于一个新的动物,分别对大象的模型和狗的模型进行匹配,看哪个匹配得更像,进而做出相应的预测。
像逻辑回归这样对p(y|x)进行建模的算法称为判别学习算法(discriminative learning algorithms)。而这次我们介绍的对p(x|y)进行建模的算法称为生成学习算法(generative learning algorithms)。拿刚才的分类问题举例,如果y=1表示动物是大象,y=0表示动物是狗,那么p(x|y=0)就表示对狗的特征进行建模,p(x|y=1)就表示对大象的特征进行建模。
p(x|y)和p(y|x)的关系可以用贝叶斯规则(Bayes rule)描述:
由于p(x)是一个与y无关的值,所以为了让p(y|x)取最大值,可以忽略分母的值,即:
多元正态分布
在介绍下面的算法之前,我们先简单讨论一些多元正态分布(multivariate normal distribution)的知识。
多元正态分布,又称多元高斯分布,是一元高斯分布的在向量形式的推广。对一个均值(mean vector)为μ,协方差矩阵(covariance matrix)为Σ的n维多元正态分布,其概率密度函数为:
如果一个随机变量X服从多元正态分布N(μ,Σ),它的期望值由μ决定,即:
协方差矩阵Cov(X)=E[(X-E(X))(X-E(X))T]=Σ。下面我们用几张图说明参数μ和Σ对分布的影响。
上图最左面的图形表示一个μ=0,Σ=I(2*2的单位矩阵)的标准正态分布(standard normal distribution)。中间的图形表示的是μ=0,Σ=0.6I的正态分布。右边的图形表示的是μ=0,Σ=2I的正态分布。由此可见,Σ越大,图形更“扩散(spread-out)”,Σ越小,图形更“压缩(compressed)”。
上图的三个图形表示μ=0,Σ分别如下所示的正态分布:
由此可见,增加Σ非对角线(off-diagonal)上的值,图形向45度角方向上变得更“压缩(compressed)”了。
最后我们看下参数μ对图形的影响:
上图的分布参数Σ=I,μ的值分别如下:
综上,μ的值决定了中心的位置,Σ的值决定了分布的幅度。
高斯判别分析
假设在我们的分类问题中,x是连续的随机变量,p(y)服从伯努利分布,p(x|y)服从多元正态分布,这样的模型称为高斯判别分析(Gaussian Discriminant Analysis, GDA)模型。具体来说:
它们对应的概率分布为:
这里我们模型的参数有φ,Σ,μ0,μ1。注意,尽管两个多元正态分布有不同的均值μ0和μ1,但它们有相同的协方差矩阵Σ。这个模型的对数似然函数为:
通过最大化l,我们可以求得各参数如下:
下面我们用图形来更直观地理解一下:
上图给出了训练数据,以及两个高斯分布的等高线图。两个分布的形状相似(因为有相同的协方差矩阵Σ),但位置不同(因为均值μ不同)。图中也给出了一个直线,表示p(y=1|x) = 0.5时的决策边界。在边界的一边我们认为y=1是概率最大的,而另一边我们认为y=0是概率最大的。
高斯判别分析与逻辑回归的关系
GDA模型和逻辑回归之间的关系很有趣。如果我们把p(y=1|x;φ,Σ,μ0,μ1)看作是关于x的函数,我们可以将其表示成如下形式:
其中θ可以写成关于φ,Σ,μ0,μ1的函数。上式正好是逻辑回归的表达形式。
如果p(x|y)服从多元正态分布,那么p(y|x)可表达成逻辑回归的形式。相反地,如果p(y|x)可表达成逻辑回归的形式,那么不代表p(x|y)服从多元正态分布。这说明GDA比逻辑回归需要更加严格的模型假设。当GDA模型假设成立时,GDA的拟合效果比逻辑回归更好;而当假设不成立时,逻辑回归的拟合效果更好。
另外在补充一点,如果p(x|y)服从指数分布族,那么p(y|x)也可表达成逻辑回归的形式。但是用GDA去拟合非高斯分布的数据,它的预测效果是不可捉摸的,效果可能好也可能不好。
总结
- 对p(y|x)进行建模的算法称为判别学习算法,例如逻辑回归;对p(x|y)进行建模的算法称为生成学习算法,例如高斯判别分析(GDA)
- 对一个均值为μ,协方差矩阵为Σ的多元正态分布,μ值决定了中心的位置,Σ值决定了分布的幅度
- 如果p(x|y)服从多元正态分布,那么p(y|x)可表达成逻辑回归的形式;相反地,如果p(y|x)可表达成逻辑回归的形式,那么不代表p(x|y)服从多元正态分布
- GDA需要更加严格的模型假设,当假设成立时,GDA的拟合效果比逻辑回归好,否则逻辑回归的拟合效果更好;逻辑回归的模型假设相对弱一点,这使得它在实际应用中更普遍