半监督学习(三)——混合模型

Semi-Supervised Learning

半监督学习(三)

方法介绍

Mixture Models & EM

无标签数据告诉我们所有类的实例混和在一起是如何分布的,如果我们知道每个类中的样本是如何分布的,我们就能把混合模型分解成独立的类,这就是mixture models背后的机制。今天,小编就带你学习半监督学习的混合模型方法。

混合模型 监督学习

  首先,我们来学习概率模型的概念,先来看一个例子:

  • Example 1. Gaussian Mixture Model with Two Components

    训练数据来自两个一维的高斯分布,如下图展示了真实的分布以及一些训练样本,其中只有两个有标签数据,分别标记为正负。

    假如我们知道数据来自两个高斯分布,但是不知道参数(均值,方差,先验概率等),我们可以利用数据(有标签和无标签)对两个分布的参数进行估计。注意这个例子中,带标签的两个样本实际上带有误导性,因为它们都位于真实分布均值的右侧,而无标签数据可以帮助我们定义两个高斯分布的均值。参数估计就是选择能 最大限度提高模型生成此类训练数据概率 的参数。

    更规范化地解释:要预测样本x的标签y,我们希望预测值能最大化条件概率p(y|x),由条件概率的定义,可知对于所有可能的标签y,,且,如果我们想要最小化分类错误率,那么我们的目标函数就是,当然了,如果不同类型的误分类导致的损失不同(如,将良性肿瘤错误分类为恶性),那么上述的最小化期望误差可能不是最佳策略,我们将在下文中讨论最小化损失函数的内容。那么如何计算p(y|x)呢?一种方法就是使用生成模型(采用Bayes规则):其中,P(x|y):类条件概率;p(y):先验概率;P(x,y) = p(y)p(x|y) :联合分布。多元高斯分布常作为连续型随机变量的生成模型,它的类条件概率的形式如下:分别表示均值向量和协方差矩阵。以一个图像分类任务为例,x是一张图片的像素向量,每一种类别的图像都用高斯分布建模,那么整体的生成模型就叫做高斯混合模型(GMM)。

  • 多项式分布也常作为生成模型,他的形式如下:

    是一个概率向量。以一个文本分类的任务为例,x是一个文档的词向量,每一种类型的文档都用多项式分布来建模,那么整体的生成模型就叫做多项式混合模型。

    作为另一种生成模型的例子,隐马尔可夫模型(HMM)通常用来建模序列,序列中的每个实例都是从隐藏状态生成的,隐藏状态可以是高斯分布,也可以是多项式分布,而且HMMs 指定状态之间的转移概率来生成序列,学习HMMs模型包括估计条件概率分布的参数和转移概率。

      现在,我们知道如何根据p(x|y)和p(y)来做分类,问题仍然是如何从训练集中学习到这些分布。类条件概率p(x|y)由模型参数决定,比如高斯分布的均值和协方差矩阵,对于p(y),如果由C个类,那么需要估计C-1个参数:p(y=1),...,p(y=C-1),因为p(y=C)=1- (p(y=1)+...+p(y=C-1))。用θ表示我们要估计的参数集合,一个最常用的准则是最大似然估计

    (MLE),给定训练集D,

    (我们常常使用对数似然,因为log函数是单调的,它与使用原函数有相同的最优解,但是更容易处理)。

    在监督学习中,训练集为

    ,我们重写一些对数似然函数

    现在我们来定义在监督学习中如何使用MLE(参数估计)建模高斯混合模型(以2分类高斯混合模型为例):

    首先定义我们的约束优化问题:

    接着我们引入拉格朗日乘子:

    其中,分别是类先验,高斯分布的均值和协方差矩阵。我们计算所有参数的偏导,然后设每个偏导函数为0,得到MLE的闭式解:

    (显然,β拉格朗日乘数的作用是对类先验概率执行规范化约束) 以及

    从上面的式子中可以发现β=l,最后我们发现,类先验概率就是每个类样本占总样本的比例。我们接下来解决类均值的问题,我们仍对均值向量求偏导,通常让v代表一个向量,A是一个合适大小的方阵,有所以我们可以得到  我们发现每个类的均值就是类中样本的均值。最后,用MLE求协方差矩阵,也是一个类中样本的协方差。

  Mixture models for semi-supervised classification

  阅读完第一节,相信你们已经对混合模型及其参数估计有了理解,现在我们进入正题,如何将混合模型运用到半监督学习上去。

  因为训练集中包含有标签和无标签数据

    那么可以将似然函数定义为如下形式:

  P(x|θ)叫做边缘概率,

  它代表的是我们知道这些未标记样本的存在,但是不知道它们属于哪个类。半监督的需要同时适用标签数据和无标签数据。我们把未观察到的标签叫做隐变量,不  幸的是,这些隐变量会导致log似然函数非凸而难以优化。但是,很多优化方法可以找到局部最优的θ,最有名的就是EM(expectation maximization)算法。

  OPTIMIZATION WITH THE EM ALGORITHM

    是隐藏标签的分布,可以认为是根据当前的模型参数为无标签数据预测的“软标签”。可以证明的是,EM每一轮迭代提高了log似然函数,但是EM只能求局部最优解(θ可能不是全局最优)。EM收敛的局部最优解依赖于θ的初始值,常用的初始值是有标签样本的MLE。注意,EM算法需要针对特定的生成模型,以GMM为例。

  • EM for GMM

    其中,E-step相当于给每个样例计算一个标签概率向量,M-step更新模型参数,算法会在log似然函数收敛的时候停止,混合高斯模型的log似然函数是:

    有的同学会发现,EM算法和我们之前提到过的self-training相似,EM算法可以看作self-training的特殊形式,其中当前的分类器θ将利用所有有标签数据给无标签数据打上标签,但是每个分类器的权重是,然后这些增强的无标签数据被用来更新分类器。

  • The Assumptions of Mixture Models

    混合模型提供了半监督学习的框架,事实上,如果使用正确的生成模型,这种框架的效果是很好的,所以我们有必要在这里提以下模型假设:

    Mixture Model Assumption:数据来自混合模型且模型个数,先验概率p(y)和条件概率p(x|y)是正确的。

    然而,这一假设很难成立,因为有标签数据很少,很多时候我们都是根据领域知识去选择生成模型,但是模型一旦选错了,半监督学习会使模型表现变差,在这种场景下,最好只使用在有标签数据上进行监督学习。

  • Cluster-than-Label Method

    我们已经用EM算法来给无标签数据打标签,其实无监督聚类算法同样可以从无标签数据中定义出类:

    第一步,聚类算法A是无监督的,第二步,我们利用每个聚类中的有标签数据学习一个分类器,然后使用这个预测器对这个聚类中的无标签数据进行预测。

    举一个使用层次聚类的Cluster-than-Label实例:

    我们首先用层次聚类(距离方程用欧式距离,聚类之间的距离用single linkage决定)

    下图展示了数据的原始分布(两个类),以及最终的标签预测结果,在这个例子中,由于两个有标签实例恰好是正确的,我们正确分类了所有的数据。

    其实使用single linkage方法在这里非常重要(真实的聚类又细又长),如果使用complete linkage 聚类,聚类结果会偏向球形,结果会像这样:

上面的实验并不是想说明complete linkage 不如 single linkage,而是为了强调假设对半监督学习的重要性。

总结:

这篇文章混合模型和EM算法在半监督学习上的应用,随后也介绍了一种非概率的,先聚类后标记的方法,它们背后都隐含这相同的思想:无标签数据可以帮助定义输入空间的聚类,下一篇文章中,我们会介绍另一种半监督学习方法 co-training,敬请期待~

希望大家多多支持我的公众号,扫码关注,我们一起学习,一起进步~

原文地址:https://www.cnblogs.com/PJQOOO/p/11743409.html

时间: 2024-07-29 23:39:07

半监督学习(三)——混合模型的相关文章

监督学习、 非监督学习、 半监督学习

在机器学习(Machine learning)领域,主要有三类不同的学习方法: 监督学习(Supervised learning). 非监督学习(Unsupervised learning). 半监督学习(Semi-supervised learning), 监督学习:通过已有的一部分输入数据与输出数据之间的对应关系,生成一个函数,将输入映射到合适的输出,例如分类.非监督学习:直接对输入数据集进行建模,例如聚类. 半监督学习:综合利用有类标的数据和没有类标的数据,来生成合适的分类函数. 一.监督

机器学习中的有监督学习,无监督学习,半监督学习

在机器学习(Machine learning)领域.主要有三类不同的学习方法: 监督学习(Supervised learning). 非监督学习(Unsupervised learning). 半监督学习(Semi-supervised learning), 监督学习:通过已有的一部分输入数据与输出数据之间的相应关系.生成一个函数,将输入映射到合适的输出,比如分类. 非监督学习:直接对输入数据集进行建模,比如聚类. 半监督学习:综合利用有类标的数据和没有类标的数据,来生成合适的分类函数. 一.监

半监督学习[转]

0  引言 机器学习(machine learning)是人工智能的核心研究领域,是智能信息处理的重要途径.监督学习(supervised learning)是机器学习中研究最多.应用最广泛的一种学习途径.在传统的监督学习中,学习系统通过对大量的有标记训练样本 (labeled examples) 进行学习,建立模型用于预测未知样本的标记(label).在此,标记对应于示例的输出,用于表征待学习的目标概念. 随着数据收集和存储技术的发展,收集大量缺少标记的数据已相当容易,而为这些数据提供标记则相

半监督学习

概述 监督学习指的是训练样本包含标记信息的学习任务,例如:常见的分类与回归算法: 无监督学习则是训练样本不包含标记信息的学习任务,例如:聚类算法. 在实际生活中,常常会出现一部分样本有标记和较多样本无标记的情形,例如:做网页推荐时需要让用户标记出感兴趣的网页,但是少有用户愿意花时间来提供标记.若直接丢弃掉无标记样本集,使用传统的监督学习方法,常常会由于训练样本的不充足,使得其刻画总体分布的能力减弱,从而影响了学习器泛化性能.那如何利用未标记的样本数据呢?以下参考博客:https://blog.c

半监督学习有没有意义?

半监督学习的意义在于对比监督学习而言,半监督学习所利用的非标签样本是否能够提高我们的预测准确率. 平滑性假设:若两点x1和x2都位于高密度样本分布区域,且他们的‘距离’很久,那么理想的标签函数(label function)输出y1和y2也是相近的.反而言之, x1和x2位于低密度区域时,y1和y2应当不是很近. 聚类假设:若样本点是属于同一聚类,则他们很可能是属于同一种分类.聚类假设的另一种表述方式:决策面一般分布在低密度区域. 流型假设:高维数据分布在一个低维的流型上. 若满足如上几个假设,

半监督学习(五)——半监督支持向量机

半监督支持向量机(S3VMs) 今天我们主要介绍SVM分类器以及它的半监督形式S3VM,到这里我们关于半监督学习基础算法的介绍暂时告一段落了.之后小编还会以论文分享的形式介绍一些比较新的半监督学习算法.让我们开始今天的学习吧~ 引入 支持向量机(SVM)相信大家并不陌生吧?但是如果数据集中有大量无标签数据(如下图b),那么决策边界应该如何去确定呢?仅使用有标签数据学得的决策边界(如下图a)将穿过密集的无标签数据,如果我们假定两个类是完全分开的,那么该决策边界并不是我们想要的,我们希望的决策边界是

半监督学习和直推学习的区别

直推学习实际上是半监督学习的一部分. 如果用来学习的数据中未标记数据就是最终要预测的数据,那么就是直推学习: 如果不知道最后用来预测的数据是什么,就是单纯的半监督学习. 原文地址:https://www.cnblogs.com/shona/p/12040342.html

一文让你看懂人工智能、机器学习、深度学习和强化学习的关系

如果说信息技术是第三次工业革命的核心,那么人工智能所代表的智能则是下一次工业革命的核心力量. 2016年,谷歌阿尔法围棋以4:1战胜围棋世界冠军.职业九段棋手李世石,不仅让深度学习为人们所知,而且掀起了人工智能的"大众热".此后,人工智能越来越热,从机器人开发.语音识别.图像识别.自然语言处理到专家系统等不断推陈出新. 同时,人工智能技术越来越多地融入到我们的生活中,出现了智能音箱.智能助理.智能机器人等. 根据应用领域的不同,人工智能研究的技术也不尽相同,目前以机器学习.计算机视觉等

【ML入门系列】(三)监督学习和无监督学习

概述 在机器学习领域,主要有三类不同的学习方法: 监督学习(Supervised learning) 非监督学习(Unsupervised learning) 半监督学习(Semi-supervised learning) 定义 监督学习:通过已有的一部分输入数据与输出数据之间的对应关系,生成一个函数,将输入映射到合适的输出,例如分类. 非监督学习:直接对输入数据集进行建模,例如聚类. 半监督学习:综合利用有类标的数据和没有类标的数据,来生成合适的分类函数. 区别 是否有监督(supervise