这篇文章,有几个关于模型的理解角度以及指出的listwist of L2R 的优缺点等可以借鉴和学习,具体如下:

(1) 对于数据的定性(quantitative)学习和定量(qualitative)学习。 定性:分类(离散变量预测);定量:回归(连续变量预测)。
回归和分类的本质是一样的,区别在于输出变量的类型。分类模型可以将回归模型的输出离散化;回归模型可以将分类模型的输出连续化。
从定性和定量的角度来看:推荐系统的评分预测是一种定量的回归;而L2R更加关注于定性学习(用户对某些物品的偏好应该高于另外一些物品)
在推荐系统中: 定量更精确;定性更本质

(2)点级排序(pointwise)对象是单独项目(分类或者回归)
没有考虑到物品之间的偏序;没有直接考虑物品在list中的位置

(3)对级排序(pairwise)将观测值(ground-truth)从单个物品的角度进行了对总体的估计,通过构造,变成了从物品对的角度进行对总体的估计。同样根据ground-truth的类型,运用分类或者回归等机器学习算法。
而它只关注了两个物品之间的偏序关系,没有直接考虑到物品在整个list中的位置;
数据的不均匀会导致在学习过程中对不同用户sample的学习权重不一致。更加偏向活跃用户。

(4) 列表级排序(listwise)有两种方式:直接针对排序评价指标进行优化;构造损失函数进行优化。观测值是基于单个用户的:单个用户的排序列表(ground-truth)

重点: 从统计的角度考虑模型的构造和学习

(1)首先我们要假想一个关于整个数据的整体,我们建模的目的就是希望能够更好的拟合和反应整体

(2)整体不是随意假想的,是要通过观测数据来大致确定类型的,如:随机采样的结果是pointwise的;或者是pairwise构造而成的(如何构造的);还是listwise构造的(如NDCG,MAP)

(3)通过(2)中的观测值的形式,再进一步确定学习策略(分类还是回归等)

(4)最后构造一个用来估计观测值的模型,并确定他与ground-truth的误差函数;进行模型参数的学习

(5)L2R常见的观测值形式: pointwise,pairwise下的各种变形【-1,0,1】,listwise下各种变形(MAP,NDCG,MRR)

(6)常见排序相关系数:Lendall相关系数; Plackeet-Luce

(7)几个可以关注的技术或算法:Ranking SVM; RankBoost; RankNet; LRHR(更多的是特征工程); OrdRec(动态划分等级);LambdaRank; MART

 


P(y|Θ)=fy(y^Θ)P(y|\Theta) = f_y(\hat{y}_\Theta), L2R的研究点,就是在于yy的表达形式:pointwise, listwise
如果是概率模型,f的取值应该在【0,1】之间,如果只是loss function,一般没有具体约束

(1) yy为观测值(观察到的现象;被预测值;一般为分类label,回归value,或者物品之间的偏序,全序等)若为偏序或者全序,则一般也要转行成value或者分类label,方便进一步建模

(2) Θ\Theta为模型参数,如线性回归里的权重;矩阵分解里的隐因子矩阵;区别于模型里头的超参数(超参数一般是认为设定的,如线性回归概率模型中高斯分布的σ\sigma,超参数一般最后都会变成模型的正则项或者平滑项)

(3)fy(x)f_y(x) 是关于数据总体分布的假设,如高斯分布; 当然可以单纯从概率角度出发估计此模型关于当前观测值发生的概率;如果是前者,一般会把yy显性纳入到f的表达式中,且为因变量,然后通过对yy的观测,反过来求yy的分布,即求模型参数;如果是后者,yy一般不显式出现在f的表达式中,而是直接构造模型,计算当前事件发生的概率,概率越大越好。(模型的目的:让观测到的事件的联合概率越大越好,极大似然,或极大后验)

(4) y^\hat{y} 融入了特征XX和模型参数Θ\Theta的关于观测值的估计,其中特征有可能是content-based,对于基于隐特征模型来讲,其特征就是id,当f中不显性出现yy时,也就不会显性出现y^\hat{y}



留言

登录 请先登陆, 再留言!