高斯判别分析和逻辑回归算法的关系
最近一直在看Andrew Ng的cs229那门课的讲义,看到高斯判别分析模型和逻辑回归算法的关系那一部分,自己采用贝叶斯后验概率也证明了两者之间的关系,证明不难,本来打算记录一下的。在网上看到有个外国人写的更好,那我就把他写的直接翻译过来了。当然文章中也加入了在网上看到的其他资料和自己的一些思考。
原文
判别模型和生成模型
有很多方式可以对机器学习算法进行分类,比如:监督/非监督,回归/分类,等等。还有一种方式用判别模型(Discriminative model)和生成模型(Generative model)进行区分.本篇文章,我们将会讨论高斯判别分析(Gaussian Discriminant Analysis )模型和逻辑回归(Logistic Regression)之间的关系,这也体现了判别模型和生成模型之间的关系。
判别模型是求.在分类问题中,判别模型是直接寻找能够将不同类的数据分开的超平面或者称之为决策边界。有很多常用的机器学习算法属于判别模型,比如:逻辑回归,SVM,神经网络等等。另一方面,生成模型是求取
和
.这意味着,在分类问题中,生成模型给出了每个类的概率分布,给出了数据是如何生成的。也即生成(generative)这个词的意思.生成模型依赖贝叶斯公式计算后验概率
.像朴素贝叶斯,高斯判别分析等都属于生成模型。

在实际使用中,判别模型要比生成模型用的更多,原因很多。比如:判别模型更加灵活,更加鲁棒,当对模型做出错误的假设时,模型表现的也不是很敏感。而生成模型需要我们定义数据的先验概率,即数据分布,在很多时候这是非常有困难和挑战的。然后,生成模型也有它的优势,比如:相比于判别模型,生成模型对于数据有更多的先验信息。这导致如果我们对于数据的假设是正确的,那么生成模型在少量数据下也能够表现的更好。
GDA和逻辑回归
接下来我将要证明,GDA(Gaussian Discriminant Analysis)如何最终推导出逻辑回归,从这个推导中也可以看出采用逻辑回归的道理。
对于二分类问题,GDA假设类别服从伯努利分布,数据服从多元高斯分布,如下:
具体的数学公式如下:
而采用GDA就是求取后验概率,我们可以证明如下等式成立:
在公式的最后,我们令

也就是说,当使用GDA模型时,p(x|y)属于高斯分布,计算p(y|x)时,几乎能得到和logistic回归中使用的sigmiod函数一样的函数,但实际上还是存在本质区别。
在Andrew Ng的cs229采用两种方法可以推导出逻辑回归
- 通过指数分布族来推导。
- 通过生成学习假设先验概率分布的方式进行推导。
如何选择两种模型
由上面的分析可以知道,GDA比逻辑回归有更多的前置假设。当数据服从或大致服从正态分布时,GDA会具有更高的拟合度,因为GDA利用了更多的信息构建模型。但是当数据不服从正态分布时,那么逻辑回归更有效,因为它做出更少的假设,构建的模型更加强壮,更加具有鲁棒性。生成学习还有另外的一个好处,就是可以使用比判别学习模型使用更少的数据构建出强壮的模型。
总结
通过推导,我们可以看到很多算法内在都是存在某种联系的,理解算法之间的关系对于我们理解算法以及选择什么算法都是有很多的帮助的。
网友评论