机器学习之排序学习

2020-12-25  本文已影响0人  谭英智

Learn to Rank

排序学习主要用于搜索引擎,推荐系统等领域。

对于传统的排序算法,一般只能根据少量特征,然后通过人为设定的规则,来进行文档的全量排序。

然而对于排序涉及大量的特征,而且这些特征难以人为的编辑规则来进行文档和文档之间的比较,这就出现了排序学习。

排序学习通过以特征和文档为输入,通过机器学习或者神经网络的方法,最终输出对于某个查询,每个文档的相关度分数,进而实现可以进行对文档的排序。

范式

l2r-model

类别

PointWise

l2r-pointwise
L2R-pointwise-rank

优点

缺点

PairWise

l2r-pairwise-model
输出的0/1代表doc1是否大于doc2

优点

可以直接应用以后的分类算法

缺点

RankNet

L2R-pairwise

ListWise

i2r-listwise

NDCG理解

模型输出的DCG值
i reli log2(i+1) reli /log2(i+1)
1 3 1 3
2 2 1.58 1.26
3 3 2 1.5
4 0 2.32 0
5 1 2.58 0.38
6 2 2.8 0.71
IDCG:(通过排名rel值得到)
i reli log2(i+1) reli /log2(i+1)
1 3 1 3
2 3 1.58 1.89
3 3 2 1.5
4 2 2.32 0.86
5 2 2.58 0.77
6 1 2.8 0.35
非连续性

可以看出,IDCG是固定的,对DCG的优化过程,DCG的值呈现跳跃性改变,因此DCG是非连续函数,这导致以NDCG为代表的损失函数,很难使用现代的优化算法来优化。

lambda梯度

由于NDCG的非连续性,这就引入了lambda为梯度的损失函数

lambda损失

lambda计算
上一篇 下一篇

猜你喜欢

热点阅读