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的更多相关文章

  1. The Brain vs Deep Learning Part I: Computational Complexity — Or Why the Singularity Is Nowhere Near

    The Brain vs Deep Learning Part I: Computational Complexity — Or Why the Singularity Is Nowhere Near ...

  2. learning to rank

    Learning to Rank入门小结 + 漫谈 Learning to Rank入门小结 Table of Contents 1 前言 2 LTR流程 3 训练数据的获取4 特征抽取 3.1 人工 ...

  3. Deep Learning in a Nutshell: Core Concepts

    Deep Learning in a Nutshell: Core Concepts This post is the first in a series I’ll be writing for Pa ...

  4. (转) Deep Learning in a Nutshell: Core Concepts

    Deep Learning in a Nutshell: Core Concepts Share:   Posted on November 3, 2015by Tim Dettmers 7 Comm ...

  5. 图像分类之特征学习ECCV-2010 Tutorial: Feature Learning for Image Classification

    ECCV-2010 Tutorial: Feature Learning for Image Classification Organizers Kai Yu (NEC Laboratories Am ...

  6. Reinforcement Learning Solutions Ed2 Chapter 1 - 2 问题解答

    RL到了第三章题目多的不可思议 前两章比较简单,就在博客随便写写了.之后的用pdf更新. 1.1: Self-play will result different move even from the ...

  7. Learning to Rank(转)

    https://blog.csdn.net/kunlong0909/article/details/16805889 Table of Contents 1 前言 2 LTR流程 3 训练数据的获取4 ...

  8. (转)Awesome Object Detection

    Awesome Object Detection 2018-08-10 09:30:40 This blog is copied from: https://github.com/amusi/awes ...

  9. YOLO object detection with OpenCV

    Click here to download the source code to this post. In this tutorial, you’ll learn how to use the Y ...

随机推荐

  1. 雅礼集训 Day5 T3 题 解题报告

    题 题目背景 由于出题人赶时间所以没办法编故事来作为背景. 题目描述 一开始有\(n\)个苹果,\(m\)个人依次来吃苹果,第\(i\)个人会尝试吃\(u_i\)或\(v_i\)号苹果,具体来说分三种 ...

  2. python的pip安装

    http://blog.csdn.net/liuchunming033/article/details/39578019

  3. C++/C---字符串

    其他类型转字符串 itoa 功 能:把一整数转换为字符串用 法:char *itoa(int value, char *string, int radix);详细解释:itoa是英文integer t ...

  4. YYH的营救计划(NOIP模拟赛Round 6)

    题目描述 “咚咚咚……”“查水表!”原来是查水表来了,现在哪里找这么热心上门的查表员啊!YYH感动的热泪盈眶,开起了门…… YYH的父亲下班回家,街坊邻居说YYH被一群陌生人强行押上了警车!YYH的父 ...

  5. rootkit 内核函数hook

    转自:https://0x90syntax.wordpress.com/2016/02/21/suterusu-rootkitx86%e4%b8%8earm%e7%9a%84%e5%86%85%e8% ...

  6. eclipse easy shell plugin

    svn checkout svn://svn.code.sf.net/p/pluginbox/code/trunk pluginbox-code   Eclipse中Easy Shell插件配置Pow ...

  7. 华为上机测试题(Excel表格纵列字母数字转换-java)

    PS:这是我刚做的一道题,题目不难,满分60,得分40,大家看看哪里有问题,欢迎提意见,感谢! /* * 题目:Excel表格纵列字母数字转换 * 描述: 在Excel中列的编号为A-Z,AA-AZ, ...

  8. 3.安装OpenStack-keystone

    安装keystone(控制器上安装) 使用root用户访问数据库 mysql -uroot -ptoyo123 CREATE DATABASE keystone; GRANT ALL PRIVILEG ...

  9. 解决svn 异常:svn: E155027: Tree conflict can only be resolved to working state; {0} not resolved

    以前很少使用svn进行代码管理,时间长了之后也忘得差不多了,但现在公司使用的是svn进行版本管理,使用过程中出现了问题,顺带记一下. 异常情况:切换svn地址之后,发现项目代码无法合并代码,也无法提交 ...

  10. 顺序栈操作--数据结构(C++)版

    最近学习数据结构,一开始接触感觉好难,颓废了一段时间,后来又重新翻开学习,突然感觉到很大的兴趣.对这些代码的运用都有了 一些新的认识.下面简单的讲述下最新学到的顺序栈,不知道大家学习的时候会不会有感觉 ...