哪一个更适合 rank svm 的训练数据——更多的查询,更少的文档,还是更少的查询,每个查询更多的文档?
Which one is better for train data for rank svm - more queries with less documents or less queries with more documents per query?
我正在使用基于成对方法的 Rank SVM [https://en.wikipedia.org/wiki/Ranking_SVM , http://research.microsoft.com/en-us/people/hangli/l2r.pdf ],即模型通过比较同一查询中不同等级的样本来学习。那么,在准备火车数据集时,哪种方法更好呢? -- 200 个查询,每个查询有 10 个评分文档,或者 100 个查询,每个查询有 20 个评分文档?在这两种方法中,评分的数量是相同的。
这样的问题没有明确的答案,因为它是严重依赖数据的因素。换句话说,唯一的一般答案是 "you have to check both and select the best"。例如,您可以收集较小的样本并在那里检验您的假设。
唯一可以指导您的理论方面是排序 SVM 实际上是将您的问题转化为二元分类问题的二次(根据关系数)大小。因此,如果用“10”或“20 个分级文档”表示每个查询得到 10 或 20 个有序结果,那么 100 个查询和 20 个文档中有更多信息,因为它为您提供了 100 * (20^2) = 40,000
个训练样本,而第二种方法只有 200 * (10^2) = 20,000
。然而,在实践中,这 40,000 个样本的信息量可能少于 20,000 个(因为它们只涵盖了一半的文档 space,此外,订购 20 个文档可能根本没用,因为其中大部分都是 "equally bad") .
我正在使用基于成对方法的 Rank SVM [https://en.wikipedia.org/wiki/Ranking_SVM , http://research.microsoft.com/en-us/people/hangli/l2r.pdf ],即模型通过比较同一查询中不同等级的样本来学习。那么,在准备火车数据集时,哪种方法更好呢? -- 200 个查询,每个查询有 10 个评分文档,或者 100 个查询,每个查询有 20 个评分文档?在这两种方法中,评分的数量是相同的。
这样的问题没有明确的答案,因为它是严重依赖数据的因素。换句话说,唯一的一般答案是 "you have to check both and select the best"。例如,您可以收集较小的样本并在那里检验您的假设。
唯一可以指导您的理论方面是排序 SVM 实际上是将您的问题转化为二元分类问题的二次(根据关系数)大小。因此,如果用“10”或“20 个分级文档”表示每个查询得到 10 或 20 个有序结果,那么 100 个查询和 20 个文档中有更多信息,因为它为您提供了 100 * (20^2) = 40,000
个训练样本,而第二种方法只有 200 * (10^2) = 20,000
。然而,在实践中,这 40,000 个样本的信息量可能少于 20,000 个(因为它们只涵盖了一半的文档 space,此外,订购 20 个文档可能根本没用,因为其中大部分都是 "equally bad") .