【机器学习】高斯判别分析

跟着博主的脚步,每天进步一点点

本文介绍了高斯判别分析,首先介绍生成模型,狭义的给出了生成模型与判别模型的一般区别;然后介绍高斯判别分析模型的三个基本假设:1)先验概率服从伯努利分布,2)条件概率服从高斯分布,3)特征的条件概率相互独立(同线性模型中的特征不相关)通过最大似然估计导出模型的参数;最后对比了判别模型中的逻辑回归,一般而言,高斯判别模型的假设条件强于逻辑回归,在模型选择时需考虑数据的分布和模型的适用场景。

作者 | 文杰

编辑 | yuquanle

高斯判别分析

A、生成模型

机器学习模型有一种分类方式:判别模型和生成模型。它们之间的区别在于判别模型是直接从数据特征到标签,而生成模型是从标签到数据特征。形式化的表示就是是否使用了贝叶斯公式:

机器学习模型从概率的角度来看就是最大的条件概率,判别模型的思想是直接最大化这个概率(Fisher线性判别,线性感知机),生成模型则是通过贝叶斯模型最大后验概率,其中可以看作是从标签生成数据,则是标签的先验概率。

基本上从标签到数据的模型都是基于对样本的统计,以下的模型都是基于数据的统计(但不全是生成模型),所以笔者将这部分归类到统计概率模型。

B、高斯判别分析

高斯判别分析是一个典型的生成模型,其假设服从一个高斯分布,服从一个伯努利分布通过统计样本来确定高斯分布和伯努利分布的参数,进而通过最大后验概率来进行分类。

假设数据在标签为下,特征为的条件概率为服从多元高斯分布 ,其中为均值,为协方差矩阵。则有:

而先验分布服从伯努利分布,当时,是一元伯努利分布,当时,同样可以像Logistic推广到SoftMax一样处理多元伯努利分布。下面以一元伯努利分布为例计算完整的高斯判别模型的概率:


最大化后验概率即为:


极大似然函数有:


最大似然估计得到参数如下:


其中为指示函数,同时假设反映一类数据分布的方差,可以看出最大似然估计的参数值就是基于对样本的一个统计。

下图为一个简单的高斯判别模型示意图:

从上图可以看出,高斯判别模型通过建立两类样本的特征模型,对于二分类问题,然后通过比较后验概率的大小来得到一个分类边界。

回过头来再看最小错误贝叶斯决策(Logistic回归)与一维高斯判别模型,有趣的是最后得到的决策函数也类似于sigmoid函数。

C、高斯判别模型与Logistic回归比较

高斯判别模型的假设是服从一个高斯分布,服从一个伯努利分布。

Logistic回归的概率解释中可以看出它的假设是服从伯努利分布。

由高斯判别分析模型可以得到,加上一些推导可以得到,反之不然:

其中,是参数的某种函数。也就是说高斯判别模型是Logistic回归模型中的一种特例。

这里我们可以发现高斯判别模型的假设强于Logistic模型,也就是说Logistic回归模型的鲁棒性更强。这就表示在数据量足够大时,跟倾向于选择Logistic回归模型。而在数据量较小,且服从一个高斯分布非常合理时,选择高斯判别分析模型更适合。

The End

来和小伙伴们一起向上生长呀!

扫描下方二维码,添加小詹微信,可领取千元大礼包并申请加入 Python 学习交流群,群内仅供学术交流,日常互动,如果是想发推文、广告、砍价小程序的敬请绕道!一定记得备注「交流学习」,我会尽快通过好友申请哦!

????长按识别,添加微信

(添加人数较多,请耐心等待)

????长按识别,关注小詹

(扫码回复 1024 领取程序员大礼包)

发布了26 篇原创文章 · 获赞 57 · 访问量 11万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 技术黑板 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览