zoukankan      html  css  js  c++  java
  • 201119西瓜书系列博客---13、半监督学习

    201119西瓜书系列博客---13、半监督学习

    一、总结

    一句话总结:

    【主动学习仍需交互】:显然,主动学习需要与外界进行交互/查询/打标,其本质上仍然属于一种监督学习。
    【无标记数据其实大有裨益】:事实上,无标记样本虽未包含标记信息,但它们与有标记样本一样都是【从总体中独立同分布采样得到】,因此它们所包含的数据分布信息对学习器的训练大有裨益。
    【自动利用未标记样本便是半监督学习】:让学习过程不依赖外界交互,自动利用未标记样本所包含的分布信息的方法便是半监督学习(semi-supervised learning),即训练集同时包含有标记样本数据和未标记样本数据。

    1、【13.1、未标记样本】 为什么要有半监督学习?

    训练样本集D由有标记样本集D_l和未标记样本集D_u组成,若使用传统监督学习算法,则只能使用D_l,【D_u的信息被浪费】,学得模型的泛化能力往往不佳。
    如何【将D_u也利用起来】是半监督学习的目标。
    一种简单的做法是通过【专家知识】对D_u的样本全部标记后用于学习,但需要【耗费巨大的人力】。

    2、【13.1、未标记样本】 主动学习(active learning)?

    【先训练后对未标记数据预测】:若我们先使用有标记的样本数据集训练出一个学习器,再基于该学习器对未标记的样本进行预测,
    【不确定的预测咨询专家】:从中挑选出不确定性高或分类置信度低的样本来咨询专家并进行打标,
    【扩充后的训练集重新训练学习器】:最后使用扩充后的训练集重新训练学习器,这样便能大幅度降低标记成本,这便是主动学习(active learning),
    其目标是【使用尽量少的/有价值的咨询】来获得【更好的性能】。

    3、【13.1、未标记样本】 半监督学习可进一步划分为纯半监督学习和直推学习?

    【纯半监督学习】假定训练数据集中的未标记数据【并非待预测数据】
    【直推学习】假定学习过程中的未标记数据【就是待预测数据】,学习的目的是在这些未标记样本上获得【最优泛化性能】

    4、【13.2、生成式方式】 半监督学习 生成式方式?

    【生成式方法】是直接基于生成式模型的方法。此类方法假设所有数据(无论是否有标记)都是【由一个潜在的模型“生成的”】。
    这个假设使得可以通过潜在模型的未知参数将【样本的未知标记】与【学习目标】联系起来,通常【可基于EM算法进行极大似然估计求解】。
    生成式方法的区别主要在于【生成式模型的假设】,不同的模型假设将产生不同的方法。

    5、【13.2、生成式方式】 高斯混合生成式模型?

    假设样本由【高斯混合模型】生成,且每个类别对应一个高斯混合成分。
    数据样本是基于如下概率密度生成:$$p ( x ) = sum _ { i = 1 } ^ { N } alpha _ { i } cdot p ( x | mu _ { i } , Sigma _ { i } )$$
    直观上来看,基于半监督的高斯混合模型有机地【整合了贝叶斯分类器与高斯混合聚类的核心思想】,有效地利用了未标记样本数据隐含的分布信息,从而使得参数的估计更加准确。
    可使用【EM算法】求解高斯混合模型参数估计

    6、【13.2、生成式方式】 其他生成式模型?

    【将高斯混合模型换成混合专家模型、朴素贝叶斯模型等】即可推导出其他的生成式半监督学习方法。
    此类方法【简单,易于实现】,在有标记数据极少的情形下往往比其他方法【性能更好】。
    然而,此类方法有一个关键:【模型假设必须准确】,即假设的生成式模型必须与真实数据分布吻合;否则利用未标记数据【反倒会降低泛化性能】。
    蛋疼的是,现实任务中往往很难事先做出准确的模型假设,【除非拥有充分可靠的领域知识】。

    7、【13.3、半监督SVM】 半监督SVM?

    监督学习中的SVM试图找到一个划分超平面,使得两侧支持向量之间的间隔最大,即【“最大划分间隔”思想】。

    8、【13.3、半监督SVM】 TSVM半监督支持向量机?

    TSVM是半监督支持向量机中的最著名代表,与标准SVM一样都是针对【二分类】的算法,
    其核心思想是:尝试【为未标记样本找到合适的标记指派】,使得超平面划分后的间隔最大化。
    TSVM采用【局部搜索】的策略来进行【迭代求解】,
    即首先使用有标记样本集训练出一个【初始SVM】,接着【使用该学习器对未标记样本进行打标】,这样所有样本都有了标记,并【基于这些有标记的样本重新训练SVM】,之后再寻找易出错样本不断调整。

    9、【13.4、基于分歧的方法】 基于分歧的方法?

    与生成式方法和半监督SVM等基于单学习器利用未标记数据不同,基于分歧的方法使用【多学习器】,而学习器之间的“分歧”对未标记数据的利用至关重要。
    基于分歧的方法通过【多个学习器之间的分歧(disagreement)/多样性(diversity)】来利用未标记样本数据,【协同训练】就是其中的一种经典方法。
    协同训练最初是针对于【多视图(multi-view)数据】而设计的,多视图数据指的是【样本对象具有多个属性集】,每个属性集则对应一个视图。
    例如:电影数据中就包含画面类属性和声音类属性,这样画面类属性的集合就对应着一个视图。

    10、【13.4、基于分歧的方法】 两个关于视图的重要性质 以及与协同训练的关系?

    【相容性】:即使用【单个视图数据】训练出的学习器的【输出空间是一致】的。例如都是{好,坏}、{+1,-1}等。
    【互补性】:即【不同视图】所提供的信息是【互补/相辅相成】的,实质上这里体现的就是【集成学习】的思想。
    协同训练正是很好地利用了多视图数据的【“相容互补性”】,其基本的思想是:首先基于有标记样本数据在每个视图上都训练一个【初始分类器】,然后让每个分类器去【挑选分类置信度最高的样本并赋予标记】,并将【带有伪标记的样本数据传给另一个分类器去学习】,从而相互学习相互进步。

    11、【13.4、基于分歧的方法】 协同训练和基于分歧的方法总结?

    协同训练算法本身是为【多视图数据】而设计的,但此后出现了一些能在单视图数据上使用的变体算法,也能有效地利用未标记数据提升性能。
    后续理论研究发现,此类算法事实上【无需数据拥有多视图】,【仅需弱学习器之间有显著的分歧】,即可通过【互相提供伪标记】样本的方式来【提升泛化性能】。
    基于分歧的方法【只需要采用合适的基学习器】,就能较少受到模型假设,损失函数非凸性和数据规模问题的影响,学习方法简单有效、理论基础相对坚实、使用范围较为广泛。

    12、【13.5、半监督聚类】 聚类?

    聚类是【典型的无监督学习任务】,但是在现实聚类任务中我们往往能获得一些【额外的监督信息】:
    【必连和勿连约束】,于是可通过半监督聚类来利用监督信息来获得更好的聚类效果。
    【必连】:样本【必定属于同一个簇】
    【勿连】:样本【必定不属于同一个簇】,监督信息是少量的有标记样本

    13、【13.5、半监督聚类】 约束k均值算法(必连勿连)?

    【约束k均值算法】是利用第一类监督信息【“必连”“勿连”】的代表。
    与K-means的区别在于【给定必连关系集合和勿连关系集合】,在聚类过程中确保必连关系集合和勿连关系集合的【约束】得到满足,否则将返回错误提示。

    14、【13.5、半监督聚类】 约束种子k均值算法(少量有标记样本)?

    给定样本集D,其中包含属于【各个聚类簇的有标记样本】,这样的监督信息利用起来很容易:
    直接将它们作为【“种子”】,用它们初始化k均值算法的【k个聚类中心】,并且在聚类簇迭代更新过程中不改变种子样本的【簇隶属关系】。

    二、半监督学习

    转自或参考:西瓜书学习笔记——第十三章:半监督学习_Andrewings-CSDN博客
    https://blog.csdn.net/shichensuyu/article/details/98028818

    我的旨在学过的东西不再忘记(主要使用艾宾浩斯遗忘曲线算法及其它智能学习复习算法)的偏公益性质的完全免费的编程视频学习网站: fanrenyi.com;有各种前端、后端、算法、大数据、人工智能等课程。
    博主25岁,前端后端算法大数据人工智能都有兴趣。
    大家有啥都可以加博主联系方式(qq404006308,微信fan404006308)互相交流。工作、生活、心境,可以互相启迪。
    聊技术,交朋友,修心境,qq404006308,微信fan404006308
    26岁,真心找女朋友,非诚勿扰,微信fan404006308,qq404006308
    人工智能群:939687837

    作者相关推荐

  • 相关阅读:
    ASP.NET MVC 重点教程一周年版 第二回 UrlRouting
    ASP.NET MVC 重点教程一周年版 第三回 Controller与View
    DynamicData for Asp.net Mvc留言本实例 下篇 更新
    Asp.net MVC视频教程 18 单选与复选框
    使用ASP.NET MVC Futures 中的异步Action
    ASP.NET MVC RC 升级要注意的几点
    ATL、MFC、WTL CString 的今生前世
    msvcprt.lib(MSVCP90.dll) : error LNK2005:已经在libcpmtd.lib(xmutex.obj) 中定义
    关于Windows内存的一些参考文章
    Windows访问令牌相关使用方法
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/14003337.html
Copyright © 2011-2022 走看看