在XGBoost XGBRanker中,成对比较培训是如何工作的?

2024-06-28 20:30:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我对学习两两比较排名很感兴趣。在进行这项工作时,我发现XGBoost有一个名为XGBRanker的模型,它工作得非常好。 我想了解XGBRanker是如何管理训练数据以获得如此低的内存使用率和良好的结果的?(我相信它使用LambdaMART)
我想它一定是某种功能的查找表,可能是以迭代方式进行配对,也可能不是在一个组中使用具有不同标签的所有可能排列。
我尝试查看source code,但所有内容都在引用其他XGBoost方法,到目前为止我还无法理解它

我想创建一种类似的方法来训练NNs进行两两比较,但到目前为止,处理训练数据一直是一个巨大的障碍。
因此,更一般地说,我的问题是:如何在成对排序算法中创建成对?(RankNet、LambdaNet等)是否都使用成对?只有一个百分比?还有别的方法吗?如果您正在使用>;10万件物品,你很容易就能得到数亿件

我希望有人知道这方面的信息,或者知道谁会知道


Tags: 数据方法内存模型功能source内容方式