0

私はsvm-rankを使用しています。

svm_rank_learn小さなデータセットで実行する場合:

トレーニング セットのプロパティ: 3 つの機能、12 のランキング、596 の例

実行は数秒で終了し、有効なモデルが得られます。しかし、少し大きなデータセットを使用すると:

トレーニング セットのプロパティ: 3 つの機能、30 のランキング、1580 の例

実行はイテレーション 29 で何時間もスタックします。これは非常に奇妙です。なぜなら、ドキュメントには svm-rank が「ランキング (クエリ) の数に比例してスケーリングする」と記載されているからです。

データセットまたは形式の何が問題になっていますか?

4

2 に答える 2

1

しかし、私は SVMrank のコーディングに午後以上を費やしたくなかったので、各ランキングの項目数が二次である単純な分離オラクルのみを実装しました([ で説明されている O[k*log k] 分離オラクルではありません)ヨアヒム、2006])。 http://www.cs.cornell.edu/people/tj/svm_light/svm_rank.html

多かれ少なかれ例の数を 3 増やしています。したがって、時間は 9 倍になると予想されます。

[S] ドキュメントには、svm-rank は「ランキング (クエリ) の数に比例してスケーリングする」と記載されているため、

ランキングの数も 2 倍より少し大きくします。したがって、この両方を組み合わせると、トレーニングに約 20 倍の時間がかかることが予想されます。

これは、数秒から数時間になる理由を説明していません。

于 2014-10-08T14:13:27.640 に答える