【问题标题】:SVM-rank query-level featuresSVM-rank 查询级特征
【发布时间】:2015-12-07 16:32:23
【问题描述】:

我想知道查询级别的功能(例如查询中的术语计数)有什么用处?因为,在生成模型文件时会忽略查询级特征。

训练文件;

3 qid:1 1:2 2:1 3:0 4:0.2 5:0
2 qid:1 1:2 2:0 3:1 4:0.1 5:1
1 qid:1 1:2 2:1 3:0 4:0.4 5:0
1 qid:1 1:2 2:0 3:1 4:0.3 5:0 
1 qid:2 1:3 2:0 3:1 4:0.2 5:0 
2 qid:2 1:3 2:0 3:1 4:0.4 5:0
1 qid:2 1:3 2:0 3:1 4:0.1 5:0 
1 qid:2 1:3 2:0 3:1 4:0.2 5:0

在这个文件中,第一个特征是查询级别的特征,它在相同的查询中是相同的——不同的项目对。

它已通过 SVM-rank 训练。然后,生成的模型文件忽略第一个特征,从第二个特征开始。

生成的模型文件;

1 2:0.50956941 3:-0.50956941 4:0.1913875 5:1.0382775 #

【问题讨论】:

    标签: machine-learning svm ranking svmlight


    【解决方案1】:

    查询级别的功能在不同的排名范式中可能会有所帮助,但Joachims states that

    请注意,排名仅在具有相同 qid 的示例之间具有可比性。另请注意,目标值(数据文件每行中的第一个值)仅用于定义示例的顺序。它的绝对值无关紧要,只要相对于具有相同 qid 的其他示例的排序保持不变。

    这意味着模型永远不会使用每个查询中不变的特征。为了使此类功能有用,您的模型必须在 qids 之间进行某种比较。

    【讨论】:

    • 感谢您的回答。你知道一种可以在不同 qid 之间进行比较的排名算法吗?
    • 我想我需要更好地了解您的用例。可能最好打开一个新问题,也许是在“交叉验证”的 Stack Exchange 上。
    猜你喜欢
    • 2012-08-27
    • 2015-04-03
    • 2018-07-23
    • 2018-03-16
    • 2012-09-20
    • 2016-06-29
    • 2016-06-16
    • 2013-07-04
    • 2013-12-28
    相关资源
    最近更新 更多