python gmm em算法 2维数据_详解生成模型与判别模型——GMM(高斯混合模型) vs SVM(支持向量机)...

v2-0daf9c22a58aa218325f8359a43075ab_1440w.jpg?source=172ae18b

在对机器学习方法进行分类时,根据样本有无训练标签我们会认为有监督学习(Supervised Learning)和非监督学习(Unsupervised Learning),以至半监督学习(Semi-supervised Learning)甚至自监督学习(Self-supervised Learning);同样的,根据模型的目标,我们定义了生成模型(Generative Model)与判别模型(Discriminative Model)。以二分类样本

为例,其标签为
,大多数的机器学习与统计学模型,试图解决如下两个问题:
  1. 样本是如何生成的?也即是求解
  2. 样本的标签是什么?也即是求解

生成模型可以同时解决以上两类问题,判别模型仅仅回答第二类问题。用一句话说明,生成模型需要我们对于数据分布作假设,而判别模型不在乎原始数据的分布,只在乎其与标签之间的映射关系。很多同学在面对一个模型时往往无法判断这到底是一个生成模型还是判别模型,实际上利用我们这里简单的原则就可以判断。比如GMM(高斯混合模型)与SVM(支持向量机):

v2-3cca54564bcc0287ae3ef954cee2dacc_b.jpg
SVM试图找到最大化分割两类数据的边界,GMM试图找到最佳拟合两类数据的高斯分布

我们以分类问题为例,

  • 针对上述的二分类样本,GMM拟合如下的混合分布:

其中

为高斯分布而
为二项分布。由于对数操作内存在求和操作,我们无法直接进行求导优化,也即是所谓的"Intractable Problem"。为了优化上式,我们往往使用EM算法,感兴趣的同学可以阅读相关的资料。

当我们利用EM算法求得相关参数之后,利用贝叶斯公式:

针对任意样本,其估计类别为:

  • 不同于GMM中的高斯分布假设,SVM不在乎数据的分布形状,其宗旨是寻找到一个最佳分类面使得它到两类样本的距离最远。这句话挺起来很拗口,但是符合我们对于分类问题的直观认识。有关SVM模型的推导已经有很多可供参考的资料,这里为了与GMM类的生成模型作对比,我们从概率模型的角度分析SVM模型。
    有空再补上。。。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值