私の目標は、パラメーター空間でさまざまな VW モデルに対してグリッド検索を行うことです (さまざまな損失関数や正則化などを試します)。モデルは複数のパスを使用できるため、クロス検証を使用したいと考えています。独自の相互検証コードを (おそらく bash スクリプトとして) 実装する必要があるのか、それとも車輪を再発明するのか疑問に思っています。これが以前に行われたかどうか、または続行するための最良の方法についての指針は役に立ちます。私は、bash スクリプトでクロス検証を実装し、GNU 並列を使用してグリッド検索を並列化することを検討していました。
質問する
2096 次
2 に答える
6
VW の utl ディレクトリにもあるvw-hypersearch perl スクリプト ( https://github.com/JohnLangford/vowpal_wabbit/blob/HEAD/utl/vw-hypersearch ) を試す必要があります。VW パラメーターを調整するのに役立ちますが、クロス検証に関しては、検証する予定のデータ フォールドをアルゴリズムに入力して、独自のコードを実装する必要があります。
于 2013-10-12T22:07:24.993 に答える
1
この質問に 2 つに分けて答えさせてください。
- 相互検証: vw には同じフラグはありません。その理由は、交差検証の後であっても、将来の分割でテストし、混同行列から導出された何らかのメトリックに基づいてモデルの学習を評価するためです。
ハイパーパラメーター検索: vw-hypersearch は、範囲が指定されている場合に、黄金比検索を使用して特定のパラメーターの最適値を検索します。黄金比検索は、単調に増加または減少する関数に対して機能します。一連のパラメーターを検索すると、関数は単調に増加または減少する関数ではなくなります。これは、あなたが指摘したように使用して処理できます
-- グリッド検索: 非常に CPU を集中的に使用し、時間がかかります (常に時間との戦いです)。
-- ランダム検索: 非常に効率的 参照: [ http://dl.acm.org/citation.cfm?id=2188395][1]
于 2015-08-27T15:18:28.907 に答える