机器学习(二十二)——推荐算法中的常用排序算法, Tri-training

来源:互联网 发布:泼墨门事件知乎 编辑:程序博客网 时间:2024/06/05 04:01

推荐算法中的常用排序算法

Pointwise方法

Pranking (NIPS 2002), OAP-BPM (EMCL 2003), Ranking with Large Margin Principles (NIPS 2002), Constraint Ordinal Regression (ICML 2005)。

Pairwise方法

Learning to Retrieve Information (SCC 1995), Learning to Order Things (NIPS 1998), Ranking SVM (ICANN 1999), RankBoost (JMLR 2003), LDM (SIGIR 2005), RankNet (ICML 2005), Frank (SIGIR 2007), MHR(SIGIR 2007), Round Robin Ranking (ECML 2003), GBRank (SIGIR 2007), QBRank (NIPS 2007), MPRank (ICML 2007), IRSVM (SIGIR 2006)。

Listwise方法

LambdaRank (NIPS 2006), AdaRank (SIGIR 2007), SVM-MAP (SIGIR 2007), SoftRank (LR4IR 2007), GPRank (LR4IR 2007), CCA (SIGIR 2007), RankCosine (IP&M 2007), ListNet (ICML 2007), ListMLE (ICML 2008) 。

Tri-training

半监督学习

之前提到的算法,多数都属于监督学习算法。其特点在于,构建一个包含标记数据的训练集,用来训练算法模型。

然而,获得标记数据是一个费时费力的高成本过程,实际工作中,更有可能的情况是:少量标记数据+大量未标记数据。

未标记数据的处理方式,一般有如下三种:

这里写图片描述

主动学习

1.根据标记数据生成一个简单的模型A。

2.挑出对改善模型性能帮助最大的样本数据B。

3.通过查询行业专家获得B的真实标记。

4.根据B的真实标记,更新模型A。

以SVM为例,对于改善模型性能帮助最大的样本往往是位于分类边界的样本,可将这些样本挑出来,查询它的标记。

纯半监督学习和推断学习

纯半监督学习和推断学习,都属于广义上的半监督学习。和主动学习不同,半监督学习无需专家提供的外部信息。

但标记数据总归不能无中生有,半监督学习的实现有赖于若干假设,其中主要有聚类假设和流形假设两种。其本质都是“相似的样本拥有相似的输出”。

纯半监督学习假定未标记数据为训练样本集,而推断学习则认为未标记数据为测试样本集。

虽然多数情况下,半监督学习能有效提升模型的泛化性能,然而这并不是绝对的。当半监督学习之后,模型的泛化性能反而下降时,我们首先需要检查数据是否满足算法所依赖的假设。

参考:

http://www.cnblogs.com/chaosimple/p/3147974.html

半监督学习

协同训练算法

协同训练(co-training)算法是一种多学习器的半监督学习算法。它是多视图(multi-view)学习的代表。

以电影为例,它拥有多个属性集:图像、声音、字幕等。每个属性集就构成了一个视图。

协同训练假设不同的视图具有“相容性”。所谓相容性是指,如果一个电影从图像判断,像是动作片,那么从声音判断,也有很大可能是动作片。

协同训练的算法流程:

1.在每个视图上,基于有标记数据,分别训练出一个分类器。

2.每个分类器挑选自己最有把握的未标记数据,赋予伪标记。

3.其他分类器利用伪标记,进一步训练模型,最终达到相互促进的目的。

理论上,如果不同视图之间具有完全相容性,则模型准确度可达到任意上限。而实际中,虽然很难满足完全相容性假设,但该算法仍能有效提升模型的准确度。

原始的协同训练算法的主要局限在于,构造视图在工程上是件很有难度的事情。后续的一些改进算法针对这点,在应用范围上做了不少改进。如基于不同学习算法、不同的数据采样、不同的参数设置的协同训练算法。

理论研究表明,只要弱学习器之间具有显著分歧(或差异),即可通过相互提供伪标记的方式提升泛化性能。因此,协同训练算法又被称为基于分歧的算法

Tri-training

2005年,周志华提出了Tri-training算法。该算法的流程如下:

1.首先对有标记示例集进行可重复取样(bootstrap sampling)以获得三个有标记训练集,然后从每个训练集产生一个分类器。

2.在协同训练过程中,各分类器所获得的新标记示例都由其余两个分类器协作提供,具体来说,如果两个分类器对同一个未标记示例的预测相同,则该示例就被认为具有较高的标记置信度,并在标记后被加入第三个分类器的有标记训练集。

参考:

http://www.cnblogs.com/liqizhou/archive/2012/05/11/2496162.html

Tri-training, 协同训练算法

Co-Forest & Co-Trade

Co-Forest & Co-Trade是周志华在Tri-training基础上的改进算法。

参考:

http://lamda.nju.edu.cn/huangsj/dm11/files/gaoy.pdf

半监督学习中的几种协同训练算法

原创粉丝点击