java - 我可以使用哪些指标来验证和测试 Lemur 项目 RankLib 库中的 RankNet?

标签 java ranking metrics ranking-functions lemur

我目前正在使用 RankNet 算法 (-ranker 4) 的 RankLib 实现和保留集。我正在终端中使用 jar 文件来运行它。

documentation规定:

metric2t (e.g. NDCG, ERR, etc) only applies to list-wise algorithms (AdaRank, Coordinate Ascent and LambdaMART). Point-wise and pair-wise techniques (MART, RankNet, RankBoost), due to their nature, always use their internal RMSE / pair-wise loss as the optimisation criteria.

但是,当我将“metrics2t”设置为 ERR@10 或 NDCG@10 时,它开始根据我选择的指标而不是“RMSE”进行训练和验证。

This is part of the table outputted when I run RankNet with ERR@10.

我是否遗漏了一些东西,因为这对我来说似乎是矛盾的。

谢谢。

最佳答案

我不确定,但是,我认为即使它打印了这些指标的结果,它也没有针对它们进行优化。

该库的开发人员只是将其留在那里,至于其他方法,通常使用这些指标之一进行验证。并且无法在训练期间简单地关闭计算来关闭指标。

现在我正在训练 RankNet 模型,看来训练和验证数据的 ERR@10 实际上正在增加,而“错误排序对的百分比”正在减少。

关于java - 我可以使用哪些指标来验证和测试 Lemur 项目 RankLib 库中的 RankNet?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43089917/

相关文章:

java - 对数组进行排名(不排序或创建对象)并保留原始索引

mysql - 选择特定玩家的排名sql查询

java - 如何为 Strimzi-Kafka 桥启用 JMX 指标

apache-spark - Spark Streaming 处理时间 vs 总延迟 vs 处理延迟

java - GUI 上的控制台输出

java - 带有字符串列表的 spring boot 规范的 IN 子句

Java 11 : convert List<String> to TreeMap<String, List<String>> 使用收集器

SQL - 选择一个字段中具有来自另一字段的最高记录的不同记录

azure - 为什么 "FileSystemUsage"的 "Microsoft.Web/sites"指标始终返回零?

java - 仅在 out 文件夹和 gradle 运行中无法识别资源