成学习的推荐算法获得了第一名。在多次KDD和ICDM的数据挖掘竞赛中,基于集成学习的算法都取得了最好的成绩。集成学习算法已成功应用于智能交通中的行人检测、车辆检测等,图像和视频处理中动作检测、人物追踪、物体识别等,生物信息学蛋白质磷酸化位点预测、基因组功能预测、癌症预测等,数据挖掘中的脑电数据挖掘、数据流挖掘等。例如,在生物信息学领域,Yu等人[75]成功地把集成学习模型应用于预测蛋白与酶绑定的磷酸化位点。在数据挖掘领域,Zhu等人[76]把集成学习模型与主动学习相结合,应用于数据流的模式挖掘。在多媒体领域,Xu等人[77]把集成学习模型用于检测交通视频中的行人。
2.5 主动学习
机器学习主要研究计算机如何利用经验数据提高自身性能。充分和高质量的数据是有效学习的基础和关键。在传统的有监督学习中,要求用于训练学习模型的数据均是已标记的。一般认为,已标记的数据越多,标记越精准,基于这些数据训练得到的模型也越高效。大数据时代为机器学习提供了丰富的原材料,使其发挥着越来越重要的作用,成为当前最热门的研究领域之一。然而,大数据提供机遇的同时也带来了严重的挑战,其中最典型的便是数据质量低下。在许多实际任务中,我们可以轻松获取大量数据,但这些数据大部分是未标注的。比如在图像分类任务中,绝大部分用户上传照片缺乏准确的语义标签。因此如何从仅有少量标记的大数据中学习出有效模型是一个极具挑战的重要问题。
一个最直接的解决方案是先人工标注好所有数据再进行模型训练。面对海量数据时这种方案将耗费大量人力物力,显然是不现实的。实际上,在某些现实任务中,即使标注少量数据也需要昂贵的代价。比如在语音识别任务中,一个熟练的语言学家对一段1分钟的语音数据进行语素级标注将耗费近7小时[78]。
18
一个更合理的方案是挑选一部分数据进行标注。实际上,不同数据样本对于学习模型的贡献度是不一样的,如果我们能够选取一部分最有价值的数据进行标注,有可能仅基于少量数据就能获得同样高效的模型。为了实现这一目标,关键在于如何选择出最有价值的数据样本并去获取它们的标记信息。主动学习就是研究这一问题的一种机器学习框架。其核心任务是制定选择样本的标准,从而选择尽可能少的样本进行标注来训练出一个好的学习模型[79]。
目前主要有三种主动学习场景:基于数据池的主动学习、基于数据流的主动学习以及基于合成样本查询的主动学习[79]。下面将分别对这三种主动学习场景进行介绍。
基于数据池的主动学习是最常见的一种场景,其假设所有未标记数据已经给定,形成一个数据池。主动学习算法迭代进行,每一次从未标记数据池中选择样本向专家查询标记,并将这些新标注的样本加入训练集,模型基于新的训练集进行更新,进而进入下一次迭代;基于数据流的主动学习假设样本以流的形式一个一个到达,因此在某时刻当一个样本到达的时候,算法必须决定是否查询该样本的标记。这种场景在一些实际应用中也比较常见,比如数据流源源不断产生,而又无法保存下来所有数据时,基于数据流的主动学习就更为适用;基于合成样本查询的主动学习并不是从已有样本中选择来查询标记信息,而是直接从特征空间里合成出新的样本进行查询。由于新合成的样本可能是特征空间里任意取值组合产生的,因此在某些应用问题中可能导致人类专家也无法标注这些合成样本。比如在图像分类任务中,任意像素取值合成的一幅图片可能并不能呈现出清晰的语义。
主动学习的关键任务在于设计出合理的查询策略,即按照一定的准则来选择被查询的样本。目前的方法可以大致的分为三种策略:基于信息量的查询策略、基于代表性的查询策略以及综合多种准则的查询策略。
19
基于信息量的查询策略是最为常见的,其基本思想是选择那些能最大限度减少当前模型不确定性的样本进行查询。具体而言,信息量又可以通过模型预测的置信度[80]、模型错误率下降期望[81]、委员会投票[82]等多种形式进行度量。这类方法选择样本时只基于现有的已标记样本,忽略了大量的未标记样本中蕴含的数据分布信息,可能导致采样偏差问题;基于代表性的查询策略倾向于选择那些更能刻画数据整体分布的未标记数据进行标记查询。这些方法往往通过聚类[83]或密度估计[84]等无监督技术来评估样本的代表性,由于忽略了已标记样本因此整体性能也可能会依赖于聚类结果的好坏;综合多种准则的查询策略能够同时考虑选择样本的信息量和代表性,能够有效避免采样偏差和依赖聚类结果的问题。近年来已有研究者从不同角度提出综合多种查询准则的主动学习方法,并展示出较好的实验性能[85][86]。
随着主动学习的广泛应用,一些实际任务中的新设置和新条件促进了主动学习技术的进一步延伸和发展。比如,在多标记学习任务中,一个样本可以同时具有多个标记,这时查询方式(即以何种方式查询所选样本的监督信息)对主动学习性能非常关键[87]。此外在一些任务中,提供标记信息的不再是一个专家,而是一群可能提供错误信息的用户,这时如何从带有噪音的数据中获取正确的标记信息变得非常重要[88]。还有一些任务中,可能标注每个样本的代价不一样,这使得主动学习算法在选择样本的时候不仅要考虑样本可能带来的价值,还要考虑标注它可能花费的代价[89]。这些新的主动学习设置和形式正引起越来越多的关注,使得其应用前景更为广阔。
随着大数据时代的来临,数据分析任务变得更加困难,同时也为主动学习的进一步发展和应用提供了巨大的机遇。首先,数据规模庞大但是质量低下,具有精确标记信息的数据尤其稀少。因此如何从海量数据中选择最有价值的部分数据进行人工标注成为了一个常见的重要步骤,这也恰是主动学习研究的内容。其次,数据分析任务的难
20
度越来越高,许多学习任务仅仅依靠机器已经难以达到实用的效果。因此,人与机器在学习过程中进行交互成为了一种更有效更现实的方案。在这样的背景下,主动学习可能会发展出更多新颖的设置,从传统查询样本标记衍生出更多的查询方式,从用户获取更丰富的监督信息。最后,随着数据来源的多样化趋势,主动学习在流数据、分布式学习、众包等场景下的研究和应用将会受到更多的关注。
在产业应用方面,CrowdFlower是一家专门通过网络用户收集和标注数据的公司,其创始人兼CEO、毕业于斯坦福大学的Lukas Biewald曾领导Yahoo日本的搜索团队,是一位对主动学习非常熟悉且推崇的业界人士。他在最近的一次报告中称,主动学习是现实应用中最好用的机器学习技术之一,能够非常简单地嵌入实际任务并带来显著效果。O'REILLY最近发表了一篇专门关于主动学习的报告,名字是“Real-World Active Learning”。该报告中列举了许多主动学习的真实应用案例。Stitch Fix是一家为女性提供时尚建议的在线购物网站,成立于2011年,在2014年估值为3亿美元。该公司通过机器学习算法将客户资料与结构化的服饰特征进行匹配,从而提供个性化的时尚建议和推荐。同时,该公司有近1000名时尚专家,在算法遇到困难时进行人工干预,一方面为客户提供更精准的推荐,一方面增加了标注数据使得算法性能不断提升。
Google地图能够提供准确的地图服务,其背后实际上也采用了主动学习技术。Google强大的算法会根据卫星图、航拍图以及街景车拍摄的图片提取出相关的特征并提供较为准确的服务,但是仍然会出现错误的地方,需要人工进行标注。特别是对于那些街景车无法到达的路外地点,人工标注提供了重要的帮助。GoDaddy公司有一个叫“Get Found”的服务产品,为商家提供管理和呈现他们信息的在线平台。该服务中一个关键技术问题是识别同一商家的不同别名。算法能够识别一些简单的别名,而对于那些机器难以识别的别名,则需要
21
寻求人工帮助。该产品中就是利用主动学习技术在最有价值的数据上获取人工标注从而提升算法匹配性能。此外,在垃圾邮件过滤、搜索引擎结果优化等常见产品背后,都用到了主动学习技术来选择性的获取人工标注,以此提高算法性能。
2.6 强化学习
机器学习任务可以划分为监督学习、无监督学习、和弱监督学习。监督学习面临的数据样本有完整的标记,即每一项观察都有与之对应的决策,机器从这样的样本中可以直接学习到从观察到决策的映射。无监督学习面临的数据样本完全没有标记,机器需要从数据中发现内部的结构信息。弱监督学习的目的,与监督学习一致,然而其获得的样本并没有完整的标记。从标记缺失的形式和处理方式的不同,又可以分为半监督学习、主动学习、多示例学习/多标记学习、和强化学习。半监督学习中,只有少量的样本具有标记;主动学习中,机器可以询问真实的标记,但需要考虑询问的代价;多示例学习中,一个对象表示为一组样本的包,而标记只在包的层面上,在样本的层面上却没有标记;多标记学习中,一个样本对应一组标记,因此需要处理巨大的标记组合空间问题;强化学习中,机器需要探索环境来获得样本,并且学习的目的是长期的奖赏,因此样本的标记是延迟的,下面我们详细介绍。
强化学习研究学习器在与环境的交互过程中,如何学习到一种行为策略,以最大化得到的累积奖赏[90]。与前面我们提到的其它学习问题的不同在于,强化学习处在一个对学习器的行为进行执行和评判的环境中:环境将执行学习器的输出,发生变化,并且反馈给学习器一个奖赏值;同时学习器的目标并不在于最大化立即获得的奖赏,而是最大化长期累积的奖赏。强化学习的设定可用图2.7来表示。例如在俄罗斯方块游戏中,学习器所处的环境为游戏规则,学习器根据当前游戏的状态输出动作,以游戏得分作为每一次动作的奖赏,学习器需
22