Preference Learning——Object Ranking
来源:互联网 发布:苹果手机编程软件 编辑:程序博客网 时间:2024/06/04 18:00
Basics About Orders
- Object Ranking应用:
- 量化的受访者的感觉或印象(quantification of respondents’ sensations or impressions)
- 信息检索(information retrieval)
- 理性决策(decision making)
- 定义基本符号
- X:object集合
- xj:索引号为j的object
- xj = [xj1,xj2,…xjk]:xj由一个长度为k的特征向量表示,其中k是特征个数
- O = xa>xb>…xc:O是一个排名
- X(Oi)= Xi:X中Oi的object
- Li = |X(Oi)| = |Xi|:Xi的长度
- 如果某个Oi的个数等于X,那么这个Oi排名就是一个全排名。
- r(Oi , xj)= rij:Oi排名中的第j名是哪个object
- 举例:Oi = x1>x3>x2, r(Oi,x2) = ri2表示Oi的第二名:3
- 对于两个排名O1,O2,存在两个不等的xa,xb,如果(r1a-r1b)(r2a-r2b)>= 0说明这两个object(xa,xb)在两个排名(O1,O2)的排名前后是一致的。
- 如果O1,O2中所有的object的排名前后都一致,则说明O1,O2这两个排名是一致的。
斯皮尔曼距离(Spearman distance)
- 当两个排名中的元素相同时(只有元素相同才有可比性)可以计算这两个排名的距离,计算公式如下:
将其规范化到[-1,1]得到 Spearman’s rank correlation p,(其中L =|X|)
- 这得到的是两个全排名的相关性系数。
- 当两个排名中的元素相同时(只有元素相同才有可比性)可以计算这两个排名的距离,计算公式如下:
肯德尔距离(Kendall distance)是另一个被广泛应用的距离
- 当x>0时,sgn(x)=0,当x<0时, sgn(x)= -1.
- M= (L-1)L/2等于所有的object pairs.
- 将其规范化到[-1,1]得到Kendall’s rank correlation τ:
计算p和τ的代价分别是O(LlogL)和O(L^2),这这两个值本身也有很高的相关性,他们之间的差距可以通过Daniels’ inequality来界定:
- 另一个描述ds和dk之间的关系的不等式是Durbin–Stuart’s inequality:
An Object Ranking Task
- 输入:若干个object pair之间的相对关系{O1,O2,…On}
- 给定:模型的误差函数ε()
目的:找到一个排名函数(ranking function)ord(),使得ε(ord(Xi)).sum()最小。ord(Xi)表示了预测排名和输入排名Oi之间的差。
看一个例子:
其中O1,O2,O3是可以观测到的object排名,通过一个回归函数,进行排名得到的是O,其中对于每个Oi都会产生一个误差ε,通过最小化这个误差和来求得最优的回归模型。*这个概念在机器学习中叫aggregated ranking,在统计学中叫center of orders。
其中的x4在输入模型中并没有观测数据,那么处理这类数据的原则是:若两个object在特征空间上是邻居,那么其排名上也会很接近。
- 绝对排名(absolute):描述的是回归函数对x1,x2的排名不论是否存在x3,都是一致的
- 相对排名(relative):当存在其他object时,x1,x2的排名可能不一致,可能会出现x1 >x2 > x3 and x2 >x4 > x1
绝对排名在过滤或者推荐系统中更受欢迎,在总结多文档时,当提取了重要句子后又出现新的句子时,那么原有的排序将会受到影响,采用相对排名比较合适。
Object Ranking Methods
Cohen’s method (Cohen)
Cohen的目标是找到一个Ou使得下面这个式子最大化:
当X很大时,这个问题是NP难的。因此Cohen提出了一个贪心的算法(Xu表示所有的objects):
- 第一个for循环是计算每个节点的排名在前面的个数(遍历每对object,对在前面的object的score加1)
- 第二个while循环里面,首先将score的分最大的那个object排在Ou的后面,然后在Xu中删除该元素。
- 内循环for的任务是修改score,此处掉了求和符号,应该与第一个一样,只是这里的Xu修改了
- P[xa>xb|xa,xb]是通过Cohen的Hedge algorithm计算出来的,该算法是一个在线算法(online algorithm),是Winnow算法的变体。
- Hedge algorithm是一种专家建议预测算法,它只考虑了顺序信息而忽略了数值信息,因此,对于属性值是数值型数据的问题不适合用这个算法。
RankBoost (RB)
Freund提出了RankBoost。
- Input:
- feedback function ∅(xa,xb),如果∅(xa,xb) >0那么xb>xa。
- a set of ranking features fl(xi),包含了目标排名(target ording)的部分信息。
Output:
- final ranking H(xi),是一个计分函数(score function)
算法描述
- 首先:计算初始分布D1(xa,xb)=max(∅(xa,xb),0)/Z1(Z1是规范化系数)
然后:迭代T次,重复选择权值αt以及弱化学习器ht(x)。更新公式如下:
h(x)是弱学习器(Weak learners),从特征值中捕捉了真实排名的若干信息,比如说h(xb)>h(xa)表示xb>xa. 一旦αt和ht被确定了,那么排名从大到下的顺序也就确定了,通过下面这个公式可以获取排名信息:
SVM-Based Methods: Order SVM (OSVM) and Herbrich’s Method (SVOR)
OSVM是用来判别给定的对象排名是否高于第j名。 SVOR是用来判别给定的两个object哪个排在前面。
- Order SVM:通过不同的阈值来构建多个SVM分类器,然后对于新的object,利用所有SVM的平均来给予一个固定的名次。SVM算法可以描述为这样一个优化问题:
- Preference Learning——Object Ranking
- Preference Learning——Object Ranking:Learning to Order Things
- Preference Learning——Introduction
- Preference Learning
- Learning to ranking简介
- [learning to rank]SVMrank——Support Vector Machine for Ranking(SVMrank——使用svm的排序)
- preference deep learning(三)
- Android进阶——Preference详解之初识Preference及Preference系(一)
- Learning to Rank之Ranking SVM 简介
- Learning to Rank之Ranking SVM 简介
- [learning to rank]Learning to Rank之Ranking SVM 简介
- Ranking
- Android自定义控件——自定义Preference
- Programming Language Preference—Selenium WebDriver
- How Did Watson Answer —— Final Merging and Ranking
- GBPR: Group Preference Based Bayesian Personalized Ranking for One-Class Collaborative Filtering
- Android进阶——Preference详解之Preference系的基本应用和管理(二)
- Android进阶——Preference详解之Preference系的基本应用(三)
- 比较排序算法
- 使用Vitamio打造自己的Android万能播放器(12)—— 播放网络视频缓冲处理
- tomcat和ant中使用jikes
- PHP获取时间戳
- 实战分享:地域性站点如何精准的选择关键词
- Preference Learning——Object Ranking
- 一个按钮点击两次触发不同事件
- USB设备驱动总结
- VMware Tools for linux安装
- A Bayesian Hierarchical Model for Learning Natural Scene Categories
- iOS证书(.p12)和描述文件(.mobileprovision)申请
- JSP自定义标签
- Unity导入素材解析不了的解决方法
- MySQL 入门(六)—— 索引