我目前正在使用RankLib实现的RankNet算法(-ranker 4)与一个暂停集.我正在使用终端中的jar文件来运行这个文件。
文档规定:
metric2t (例如NDCG、ERR等)仅适用于按列表划分的算法(AdaRank、坐标applies和LambdaMART)。点向技术和成对技术(MART,RankNet,RankBoost),由于它们的性质,总是使用它们的内部RMSE /成对损失作为优化标准。
然而,当我将'metrics2t‘设置为ERR@10或NDCG@10时,它开始对我选择的度量进行训练和验证,而不是'RMSE’。
这是当我使用ERR@10运行RankNet时输出的表的一部分。
是不是有什么我错过了,因为这似乎是一个矛盾的我。
谢谢。
发布于 2017-07-19 03:01:16
我不确定,但是,我认为即使它为这些指标打印结果,也不是对它们进行优化。
库的开发人员只是把它放在那里,至于其他方法,通常使用其中的一个指标进行验证。在培训期间,没有任何选择可以简单地将计算从度量中关闭。
现在我正在训练一个RankNet模型,看起来用于训练和验证数据的ERR@10实际上在增加,而"%错误排序对“却在减少。
https://stackoverflow.com/questions/43089917
复制相似问题