AI技术内参
洪亮劼
Etsy数据科学主管,前雅虎研究院资深科学家
立即订阅
8829 人已学习
课程目录
已完结 166 讲
0/6登录后,你可以任选6讲全文学习。
开篇词 (1讲)
开篇词 | 你的360度人工智能信息助理
免费
人工智能国际顶级会议 (31讲)
001 | 聊聊2017年KDD大会的时间检验奖
002 | 精读2017年KDD最佳研究论文
003 | 精读2017年KDD最佳应用数据科学论文
004 | 精读2017年EMNLP最佳长论文之一
005 | 精读2017年EMNLP最佳长论文之二
006 | 精读2017年EMNLP最佳短论文
007 | 精读2017年ICCV最佳研究论文
008 | 精读2017年ICCV最佳学生论文
009 | 如何将“深度强化学习”应用到视觉问答系统?
010 | 精读2017年NIPS最佳研究论文之一:如何解决非凸优化问题?
011 | 精读2017年NIPS最佳研究论文之二:KSD测试如何检验两个分布的异同?
012 | 精读2017年NIPS最佳研究论文之三:如何解决非完美信息博弈问题?
013 | WSDM 2018论文精读:看谷歌团队如何做位置偏差估计
014 | WSDM 2018论文精读:看京东团队如何挖掘商品的替代信息和互补信息
015 | WSDM 2018论文精读:深度学习模型中如何使用上下文信息?
016 | The Web 2018论文精读:如何对商品的图片美感进行建模?
017 | The Web 2018论文精读:如何改进经典的推荐算法BPR?
018 | The Web 2018论文精读:如何从文本中提取高元关系?
019 | SIGIR 2018论文精读:偏差和“流行度”之间的关系
020 | SIGIR 2018论文精读:如何利用对抗学习来增强排序模型的普适性?
021 | SIGIR 2018论文精读:如何对搜索页面上的点击行为进行序列建模?
022 | CVPR 2018论文精读:如何研究计算机视觉任务之间的关系?
023 | CVPR 2018论文精读:如何从整体上对人体进行三维建模?
024 | CVPR 2018论文精读:如何解决排序学习计算复杂度高这个问题?
025 | ICML 2018论文精读:模型经得起对抗样本的攻击?这或许只是个错觉
026 | ICML 2018论文精读:聊一聊机器学习算法的“公平性”问题
027 | ICML 2018论文精读:优化目标函数的时候,有可能放大了“不公平”?
028 | ACL 2018论文精读:问答系统场景下,如何提出好问题?
029 | ACL 2018论文精读:什么是对话中的前提触发?如何检测?
030 | ACL 2018论文精读:什么是“端到端”的语义哈希?
复盘 7 | 一起来读人工智能国际顶级会议论文
搜索核心技术 (28讲)
031 | 经典搜索核心算法:TF-IDF及其变种
032 | 经典搜索核心算法:BM25及其变种(内附全年目录)
033 | 经典搜索核心算法:语言模型及其变种
034 | 机器学习排序算法:单点法排序学习
035 | 机器学习排序算法:配对法排序学习
036 | 机器学习排序算法:列表法排序学习
037 | “查询关键字理解”三部曲之分类
038 | “查询关键字理解”三部曲之解析
039 | “查询关键字理解”三部曲之扩展
040 | 搜索系统评测,有哪些基础指标?
041 | 搜索系统评测,有哪些高级指标?
042 | 如何评测搜索系统的在线表现?
043 | 文档理解第一步:文档分类
044 | 文档理解的关键步骤:文档聚类
045 | 文档理解的重要特例:多模文档建模
046 | 大型搜索框架宏观视角:发展、特点及趋势
047 | 多轮打分系统概述
048 | 搜索索引及其相关技术概述
049 | PageRank算法的核心思想是什么?
050 | 经典图算法之HITS
051 | 社区检测算法之“模块最大化 ”
052 | 机器学习排序算法经典模型:RankSVM
053 | 机器学习排序算法经典模型:GBDT
054 | 机器学习排序算法经典模型:LambdaMART
055 | 基于深度学习的搜索算法:深度结构化语义模型
056 | 基于深度学习的搜索算法:卷积结构下的隐含语义模型
057 | 基于深度学习的搜索算法:局部和分布表征下的搜索模型
复盘 1 | 搜索核心技术模块
推荐系统核心技术 (22讲)
058 | 简单推荐模型之一:基于流行度的推荐模型
059 | 简单推荐模型之二:基于相似信息的推荐模型
060 | 简单推荐模型之三:基于内容信息的推荐模型
061 | 基于隐变量的模型之一:矩阵分解
062 | 基于隐变量的模型之二:基于回归的矩阵分解
063 | 基于隐变量的模型之三:分解机
064 | 高级推荐模型之一:张量分解模型
065 | 高级推荐模型之二:协同矩阵分解
066 | 高级推荐模型之三:优化复杂目标函数
067 | 推荐的Exploit和Explore算法之一:EE算法综述
068 | 推荐的Exploit和Explore算法之二:UCB算法
069 | 推荐的Exploit和Explore算法之三:汤普森采样算法
070 | 推荐系统评测之一:传统线下评测
071 | 推荐系统评测之二:线上评测
072 | 推荐系统评测之三:无偏差估计
073 | 现代推荐架构剖析之一:基于线下离线计算的推荐架构
074 | 现代推荐架构剖析之二:基于多层搜索架构的推荐系统
075 | 现代推荐架构剖析之三:复杂现代推荐架构漫谈
076 | 基于深度学习的推荐模型之一:受限波兹曼机
077 | 基于深度学习的推荐模型之二:基于RNN的推荐系统
078 | 基于深度学习的推荐模型之三:利用深度学习来扩展推荐系统
复盘 2 | 推荐系统核心技术模块
广告系统核心技术 (18讲)
079 | 广告系统概述
080 | 广告系统架构
081 | 广告回馈预估综述
082 | Google的点击率系统模型
083 | Facebook的广告点击率预估模型
084 | 雅虎的广告点击率预估模型
085 | LinkedIn的广告点击率预估模型
086 | Twitter的广告点击率预估模型
087 | 阿里巴巴的广告点击率预估模型
088 | 什么是“基于第二价位的广告竞拍”?
089 | 广告的竞价策略是怎样的?
090 | 如何优化广告的竞价策略?
091 | 如何控制广告预算?
092 | 如何设置广告竞价的底价?
093 | 聊一聊“程序化直接购买”和“广告期货”
094 | 归因模型:如何来衡量广告的有效性
095 | 广告投放如何选择受众?如何扩展受众群?
096 | 如何利用机器学习技术来检测广告欺诈?
自然语言处理及文本处理核心技术 (0讲)
该章节暂未更新内容,敬请期待
计算机视觉核心技术 (0讲)
该章节暂未更新内容,敬请期待
数据科学家与数据科学团队养成 (0讲)
该章节暂未更新内容,敬请期待
热点话题讨论 (0讲)
该章节暂未更新内容,敬请期待
结束语 (0讲)
该章节暂未更新内容,敬请期待
AI技术内参
登录|注册

035 | 机器学习排序算法:配对法排序学习

洪亮劼 2017-11-22
周一的文章里我分享了最基本的单点法排序学习(Pointwise Learning to Rank)。这个思路简单实用,是把经典的信息检索问题转化为机器学习问题的第一个关键步骤。简单回顾一下,我们介绍了在测试集里使用 NDCG(Normalized Discounted Cumulative Gain),在某个 K 的位置评价“精度”(Precision)和“召回”(Recall),以这些形式来评估排序算法。
你可以看到,单点法排序学习算法的模式和我们最终需要的结果中间还存在明显差距。这个差距并不是算法好坏能够决定的,而是算法所要优化的目标,也就是单个数据点是否相关,和我们的最终目的,一组结果的 NDCG 排序最优之间的结构化区别。这个结构化区别激发研究者们不断思考,是不是有其他的方法来优化排序算法。
今天我就来讲从单点法引申出来的“配对法”排序学习(Pairwise Learning to Rank) 。相对于尝试学习每一个样本是否相关,配对法的基本思路是对样本进行两两比较,从比较中学习排序,离真正目标又近了一步。

配对法排序学习的历史

当人们意识到用机器学习来对排序进行学习,从文档与文档之间的相对关系入手,也就是配对法,就成了一个非常火热的研究方向。机器学习排序这个领域持续活跃了 10 多年,在此期间很多配对法排序算法被提出,下面我就说几个非常热门的算法。
2000 年左右,研究人员开始利用支持向量机(SVM)来训练排序算法,来自康奈尔的索斯藤·乔基姆斯(Thorsten Joachims)就构建了基于特征差值的 RankSVM,一度成为配对法排序学习的经典算法。索斯藤我们前面讲过,他获得了今年的 KDD 时间检验奖。
2005 年,当时在雅虎任职的研究人员郑朝晖等人,开始尝试用 GBDT(Gradient Boosting Decision Tree,梯度提升决策树)这样的树模型来对文档之间的两两关系进行建模。郑朝晖后来成为一点资讯的联合创始人。
2005 年,微软的学者克里斯·博格斯(Chris Burges)等人,开始使用神经网络训练 RankNet 文档之间两两关系的排序模型。这是最早使用深度学习模型进行工业级应用的尝试。这篇论文在 2015 年获得了 ICML 2015(International Conference on Machine Learning,国际机器学习大会)的 10 年“经典论文奖”。

配对法排序学习详解

在介绍配对法排序学习的中心思路之前,我们先来重温一下测试集的测试原理。总体来说,测试的原理和单点法一样,都是要考察测试集上,对于某一个查询关键字来说,某一组文档所组成的排序是否是最优的。
比如,对于某一个查询关键字,我们针对排序产生的“顶部的 K”个文档进行评估,首先查看精度(Precision),即在所有算法已经判断是相关的文档中,究竟有多少是真正相关的;其次看召回(Recall),即所有真正相关的文档究竟有多少被提取了出来。当然,还有 F1 值,也就是精度和召回“和谐平均”(Harmonic Mean)的取值,一个平衡精度和召回的重要指标。需要再次说明的是, 精度、召回以及 F1 值都是在二元相关信息的标签基础上定义的。
如果需要利用五级相关信息定义,也就是通常所说的“最相关”、“相关”、“不能确定”到“不相关”、“最不相关”,那么就需要用类似于 NDCG 这样的评价指标。NDCG 的假设是,在一个排序结果里,相关信息要比不相关信息排得更高,最相关信息需要排在最上面,最不相关信息需要排在最下面。任何排序结果一旦偏离了这样的假设,就会受到“扣分”或者“惩罚”。
在清楚了测试集的情况后,再回过头来看一看训练集的设置问题。在今天文章一开篇的时候,我就提到了单点法对于排序学习的“目标不明确”的问题。其实从 NDCG 的角度来看也好,基于顶部 K 的精度或者召回的角度来看也好,都可以看出,对于一个查询关键字来说,最重要的其实不是针对某一个文档的相关性是否估计得准确,而是要能够正确估计一组文档之间的“相对关系”。只要相对关系估计正确了,那么从排序这个角度来说,最后的结果也就准确了。理解这一个观点,对于深入理解排序和普通的分类之间的区别至关重要。
那么,如何从单点建模再进一步呢?
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《AI技术内参》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(2)

  • yaolixu
    洪老师,以配对法为基础,把单点法的特征作为配对法输入的一部分。但是,感觉应该有更高大上的结合方法??
    2018-11-08
    1
  • 白杨
    可以把单点的输出,作为作为配对法的输入特征,两两之间作差。
    2018-05-16
    1
收起评论
2
返回
顶部