machine-learning - SVM 排名仅适用于小型数据集

标签 machine-learning classification svm ranking svmlight

我正在使用svm-rank .

在小型数据集上运行 svm_rank_learn 时:

Training set properties: 3 features, 12 rankings, 596 examples

运行在几秒钟内完成,我得到了一个有效的模型。但是当我使用一点 larger dataset :

Training set properties: 3 features, 30 rankings, 1580 examples

在第 29 次迭代中,运行卡住了几个小时。 这很奇怪,因为文档指出 svm-rank“在排名(即查询)数量中线性缩放”。

我的数据集或格式有什么问题?

最佳答案

However, since I did not want to spend more than an afternoon on coding SVMrank, I only implemented a simple separation oracle that is quadratic in the number of items in each ranking (not the O[k*log k] separation oracle described in [Joachims, 2006]). http://www.cs.cornell.edu/people/tj/svm_light/svm_rank.html

您或多或少将示例数量增加了 3 倍。因此,您预计时间会增加 9 倍。

[S]ince the documentation states that svm-rank "scales linearly in the number of rankings (i.e. queries)"

您还将排名数量扩大了 2 倍多一点。因此,将这两者结合起来,您预计训练时间将延长大约 20 倍。

这并不能解释为什么它会从几秒钟变成几个小时。

关于machine-learning - SVM 排名仅适用于小型数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26258965/

相关文章:

python - 了解 SVR scikit-learn 收敛所需的迭代次数

python : How to find Accuracy Result in SVM Text Classifier Algorithm for Multilabel Class

python - 使用 sklearn 的多元线性回归与成本函数的正态方程不匹配

matlab - Matlab 中的梯度下降

algorithm - 奖励驱动图遍历的合理有效算法

machine-learning - 如何在 Torch 的 GPU 上将张量的元素限制/舍入到小数点后 4 位?

r - r-使用h2o.deeplearning时出现错误消息

python - 使用 sklearn 进行逻辑回归

python - 如何使用两个特征向量训练 svm?

python - Pipeline 和 GridSearchCV,以及 XGBoost 和 RandomForest 的多类挑战