目录
二:为什么是MART?LambdaMART和MART的区别和关系是啥?
这里记录的,是针对LambdaMART的一些关键疑惑点的思考。偏基础的介绍可以看一看:
1.Learning To Rank之LambdaMART的前世今生
2.Learning to Rank算法介绍:RankNet,LambdaRank,LambdaMart
3.From RankNet to LambdaRank to LambdaMART: An Overview
4.Deep Learning for Information Retrieval
5.LambdaMART简介——基于Ranklib源码(一 lambda计算)
6.LambdaMART简介——基于Ranklib源码(二 Regression Tree训练)
特别声明:不敢保证结论正确性!可能会持续修正、更新,欢迎留言讨论。
一:分类和排序有啥区别?
刚进入排序领域的人可能会有这样的疑问。
分类学习的对象是类别,排序学习的对象是顺序;二者都不关心模型打分,分类关心的是测试样本被分到了哪一类,排序关心的是目标doc被排在什么位置。
假设眼前有这样一批数据:有800个人,有男有女,有老有少,有高有低,有胖有瘦。有两个任务:1.按性别分成两拨 2.按身高从低到高排成一列。任务1是分类,任务2是排序。你有一个朋友叫钢蛋,现在要加入其中,这就有两个问题:1.钢蛋应该被分在哪一拨,也即判断钢蛋是男的还是女的?2.跟钢蛋身高最接近的10个人是谁?按接近程度从高到底顺序是什么?
对于这两个问题,计算机会怎么做呢?它会观察、学习眼前的800个人的特点。这个过程需要你帮它一把,也就是说你要教一教它。具体的,对于任务1:你让800个人依次走到机器面前给它看一眼,然后告诉它每个人的性别;机器呢,就会观察男人和女人分别由啥特点,比如:女人一般头发长,没有胡子,个子低,胸部凸起,声音偏细,等等。男人则相反。800个人都看了一遍,机器已经基本掌握男人和女人的区别了。这时候钢蛋走过来了,机器一看钢蛋是光头,胡子拉碴,直接就让他左拐归于男性那一堆了,连他胸大不大都不用看了(实际还是看了)。你还有个朋友孟佳觉得好玩也过来看看,机器看着犹豫了一下(实际没有犹豫)把他归于女性了,因为他名字中性,胸肌发达,还留了一头长发。为啥?因为对于机器来说,800个人还不够多,这还没有考虑歪果仁。
对于任务2:你先把这800个人每8个人分一小队,共100个小队;在每一小队里面,找到身高最接近的两个人,让其中一个出来做领队,同时给另外一个人带一个袖章,其它6个人什么都不做;然后,你让每一个小队依次走到机器面前,告诉它那个带袖章的人跟ta的领队身高最接近,同时告诉机器它需要根据与领队身高的接近程度,对这7个人(领队除外)进行降序排序,当然带袖章的人(一开始可能排在一个随机的位置)要排在首位。机器呢,首先看到当前的排队顺序,从前到后高低不平很乱;然后它会认真观察带袖章人和没带袖章的6个人的相似点以及不同的点,想办法把带袖章的人弄到最前面,然后再找从剩下的6个人中找到与带袖章的人身高最接近的,排到前面,队伍就慢慢变整齐了。机器怎么做到的呢?它认为,与带袖章的人性别、胖瘦、籍贯等相近的人高低也相近,这些人排在前面的机会应该大一些。100个小队依次走过,机器终于找到了一定的排队规律,当然只是在学习这100个小队的基础上。现在你的朋友钢蛋来了,机器看了看他的长相,回忆了一下刚看过的800个人,很快挑出了10个人,并且给出了他们从高到低的顺序。你满意的点了点头,说不错。
所以分类和排序有什么区别?只总结一下共同点:你用眼前的800个人教育机器时,机器会学习不同人之间的相似点和不同点,找到一个规律;你在测试机器的时候,机器会观察被测试人的长相,然后放到刚刚学会的规律(分类或者排序)中去给这个人打分,这个分是多少不重要,重要的是是否超过了设定值(分类),或者800人中大家的分值大小关系(排序)。
对应到算法上:800个人是数据集;男、女是标签,带袖章的人也是标签;头发、胡子、声音、胖瘦是特征;规律是学习到的参数;800个人不够多,是数据集太小,模型欠拟合;机器观察、调整,是模型训练;从前到后高低不平,是损失函数在计算损失值。
二:为什么是MART?LambdaMART和MART的区别和关系是啥?
MART是Multiple Additive Regression Tree的简称,更多时候它被叫做GBDT(Gradient Boosting Decision Tree),所以MART是一种经典、强大的机器学习算法,可以用来做分类、回归、排序、推荐任务。LambdaMART之所以闻名,效果好,整体看有两个原因:
首先,是MART本身的优点。作为基于回归树的集成学习方法,MART兼有树模型的强大特征处理能力和集成学习方法的变三个臭皮匠为一个诸葛亮的模型强化能力。回看上面钢蛋的例子,回归树特别擅长观察、学习、总结不同人的身高、体重、头发长短、胖瘦、性别