Preference Learning——Introduction

Introduction

preference learning refers to the problem of learning from observations which reveal, either explicitly or implicitly information about the preferences of an individual (e.g., a user of a computer system) or a class of individuals;the acquisition of this kind of information can be supported by methods for preference mining.

Preference learning is about inducing predictive preference models from empirical data.

Special emphasis will be put on learning to rank, which is by now one of the most extensively studied problem tasks in preference learning

  • AI通过处理偏好为知识表示与推理领域的研究提供了定性和象征性的方法以此来弥补传统的方法。这在 economic decision

    theory领域已经研究了好久了。

  • 偏好学习的训练数据通常不会是完整的信息而是一些更一般形式的信息,比如相对偏好信息或者不同种类的间接反馈和隐式偏好信息。

Preference Learning Tasks

  • 偏好学习任务(Preference Learning Tasks):

    • 包括一个偏好已知的一组数据
    • 学到一个函数能预测新数据的偏好

terminology

A data object consists of an instance (the input, also called predictive or independent variable in statistics)and an associated class label (the output, also called target or dependent variable in statistics). The former is normally denoted by x, and the corresponding instance space by X , while the output space is denoted by Y.

  • 注意此处的实例instance是一个向量,同时其对应的类标签class label 也是一个向量。区别于在分类问题中我们遇到的类标签是一个变量。

学习排名(learning to rank)是偏好学习(Preference Learning)中最受瞩目的一个主题。简单介绍下几种排名问题:

Label Ranking

  • Input:

    • Given an instance space X
    • Given a finite set of labels Y = {y1,y2…yk}.
  • output:
    • Learn a “label ranker” in the form of an X ->SY mapping,
    • where the output space SY is given by the set of all total orders (permutations) of the set of labels Y.
  • πx(i)函数:将实例x的第i个标签映射到排名中的某个位置
  • πx:表示了实例x的标签排名
  • 下面这个式子表示了x的标签按排名顺序依次排开

一个训练集T包含了一组实例x以及每个x的成对的标签的排名。(yi,yj)表示标签i排在标签j的前面。

  • The label ranking problem is summarized in Fig. 1.

  • application scenario:
    • the preferential order of a fixed set of products based on demographic properties of a person.
    • the ordering of a set of genes according to their expression level based on features of their phylogenetic profile.
  • Another application scenario is meta-learning
    • the task is to rank learning algorithms according to their suitability for a new dataset,based on the characteristics of this dataset.

一些传统的分类问题和多标签分类问题都可以从标签偏好的角度来分析:

分类问题中,比如说一篇文章x的标签可取体育,娱乐,健康中的一个,那么如果真实标签是体育,那么可以刻画为一个标签偏好模型:x的标签偏好关系——体育>娱乐,体育>健康。在多标签分类问题类似,只是x可能取的是体育和健康,那么关系是:体育>娱乐,健康>娱乐。

  • 最后需要度量label ranker的预测性能,有两种方法:

    • ranking loss:排错的实例对的个数,比如预测的i大于j,但实际是j大于i.
    • position error:真实排名的第一名在预测排名中的位置-1,比如真实排名中A是第一名,但是预测的A是第四名,那么误差是3.

Instance Ranking

  • 实例排名可以理解为实例的有序分类
  • input:
    • An instance x ∈X belongs to one among a finite set of classes Y={y1,y2…yk}.
    • The classes have a natural order: y1 < y2 < … < yk.
  • output:
    • A ranking function f (),the function produces a ranking of these instances as an output (typically by assigning a score to each instance and then sorting by scores).
  • 这里虽然类标签有多个,但是它表示的是类标签可取的范围,此处,每个实例,只取一个值。

举个例子:对提交的paper进行归类{reject, weak reject, weak accept, and accept}.

这里的标签的个数k=4,被称为多(k>2)分裂排名,常见的k=2是二分裂排名。

  • 实例排名问题就转化为多分裂排名或者二分裂排名。

    see Fig. 2 for a formalization of this task

  • 对于这类问题,度量模型的性能时通常计算的是ranking loss,二分裂排名是一个特例,它的ranking loss就等于AUC。

Object Ranking

  • 对象排名对应了机器学习中无监督学习,此时,样本只有特征,没有类标签。也叫“learning to order things” 。
  • input :
    • Given objects Z
  • output :
    • Producing a ranking of these objects(this is

      typically done by assigning a score to each instance and then sorting by scores.)

Preference Learning Techniques

Learning Utility Functions

Such a function assigns an abstract degree of utility to each alternative under consideration.Depending on the underlying utility scale, which is typically either numerical or ordinal, the problem becomes one of regression learning or ordered classification.

  • In the instance and object preferences scenario:

    • Utility function is a mapping f :X->R that assigns a utility degree f(x) to each instance (object) x and, hence,induces a complete order on X .
  • In the label preferences scenario:
    • Utility function is a mapping fi :X->R is needed for each of the labels yi (i =1 … k ), fi(x) is the utility assigned to alternative yi by instance x.
  • instance ranking情形下,训练数据的实例的效用值已经给出了。因此这个问题在原则上可以用分类或者回归算法来解决,但是与传统分类不同的是,这个分类的目标是最大化排名性能,因此传统的算法需要做适当的调整。
  • object/label ranking情形下,训练数据通常来源于一种间接的监督(indirect supervision),给定的是效用函数的某些限制(一些比较信息,比如某个object(label)应该比另一个object(label)的效用值高)。因此它的目的是找到一个效用函数,使得它满足这些限制。

Learning Preference Relations

The key idea of this approach is to learn a binary preference relation that compares pairs of alternatives (e.g., objects or labels).

  • 优点:

    • 不用将偏好关系(谁比谁大)转化为限制(效用函数需要转化为限制条件),直接将comparative training information用于模型的构建。
  • 缺点:
    • 预测会变得困难,因为二元偏好关系的传递不一定是一致的(A比B大,B比C大,C比A大,此时无法得到正确的排名关系)。
  • 解决方法:
    • 通过找到一个ranking使得这种不一致尽可能的小。
  • 度量标准:
    • the number of object pairs whose ranks are in conflict with their pairwise preference(这个问题是NP难问题,但是simple voting可以近似求解)

Model-Based Preference Learning

Learning ranking functions is to proceed from specific model assumptions, that is, assumptions about the structure of the preference relations.

Assumption Example :the target ranking of a set of objects described in terms of multiple attributes can be represented as a lexicographic order.

  • 这个方法没有前两种方法通用,因为它强烈依赖于具体的设想。

这种设想(Assumption )对假设空间(hypothesis space)是一种归纳偏置限制,可以压缩假设空间的数目,比如说特征数目k=2,特征可取值 m=4,则总的样本数据为2^4=16个,因此,排名假设空间是16!个,但是如果按字典顺序排名的话,只有2^4*4!=384个假设,大大简化了模型的求解。但是这种字典顺序的设想在实际应用中是很少使用的,因为个体的特征值彼此之间是有依赖的,比如说如果主食是肉,那么红酒排在饮料前面,如果主食是鱼,那么白酒将会排在红酒前面。

时间: 2024-10-14 04:08:54

Preference Learning——Introduction的相关文章

Preference Learning——Object Ranking:Learning to Order Things

这篇论文是Cohen1999年发表在Artificial Intelligence(A类)上的一篇文章,针对的是object ranking问题. Abstract 在归纳学习(inductive learning)中最受关注的是分类学习问题,而其实还有一类排名学习问题也很重要.可以基于概率分类器模型或者回归模型进行排名模型的构建.排名任务较分类任务更容易,因为偏好信息比标签更容易获取.举几个例子,根据用户特征对邮件中未读邮件进行个性化排名,等待用户阅读.根据用户对电影的评分信息,将电影进行排名

【CS-4476-project 6】Deep Learning

AlexNet / VGG-F network visualized by mNeuron. Project 6: Deep LearningIntroduction to Computer Vision Brief Due date: Tuesday, December 6th, 11:55pm Project materials including starter code, training and testing data, and html writeup template: proj

Machine Learning第八周笔记

刚刚完成了Machine Learning第八周的课程,这一周主要介绍了K-means和降维,现将笔记整理在下面. Unsupervised Learning Clustering Unsupervised Learning: Introduction 今天我们开始介绍无监督式学习(unsupervised learning).下面两张图分别代表典型的有监督式学习和无监督式学习.一个典型的有监督式学习是从一个有标记的训练数据集出发(图中的两类数据点分别用圈圈和叉叉表示,圈圈一类,叉叉一类),目标

STP 494/STP 598: Machine Learning

Predicting the Price of Round Cut DiamondsSTP 494/STP 598: Machine LearningIntroduction 1Data 1Data Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Data Preparation . . . . . . . . . . . . . .

推荐系统资料汇总

大数据/数据挖掘/推荐系统/机器学习相关资源Share my personal resources 视频大数据视频以及讲义http://pan.baidu.com/share/link?shareid=3860301827&uk=3978262348浙大数据挖掘系列http://v.youku.com/v_show/id_XNTgzNDYzMjg=.html?f=2740765用Python做科学计算http://www.tudou.com/listplay/fLDkg5e1pYM.htmlR语

机器学习大数据数据挖掘推荐系统相关资源

原文:http://www.kuqin.com/shuoit/20151130/349205.html 书籍 各种书~各种ppt~更新中~ http://pan.baidu.com/s/1EaLnZ 机器学习经典书籍小结 http://www.cnblogs.com/snake-hand/archive/2013/06/10/3131145.html 机器学习&深度学习经典资料汇总 http://www.thebigdata.cn/JiShuBoKe/13299.html 视频 浙大数据挖掘系列

【转载】STA 4273H Winter 2015 - Lectures

STA4273H Home   Lecture Schedule/Notes Assignments/Project Computing   Ruslan Salakhutdinov Homepage http://www.cs.toronto.edu/~rsalakhu/   STA 4273H Winter 2015 - Lectures Video Archive here. Lecture Schedule Lecture 1 -- Machine Learning:Introducti

51 Free Data Science Books

51 Free Data Science Books A great collection of free data science books covering a wide range of topics from Data Science, Business Analytics, Data Mining and Big Data to Machine Learning, Algorithms and Data Science Tools. Data Science Overviews An

(转)Introduction to Gradient Descent Algorithm (along with variants) in Machine Learning

Introduction Optimization is always the ultimate goal whether you are dealing with a real life problem or building a software product. I, as a computer science student, always fiddled with optimizing my code to the extent that I could brag about its