5

以下は、VW モデルのトレーニングからのログの一部です。

これらの行のいくつかの後に h が続くのはなぜですか? 最後の要約の「平均損失」の行がそうであることに気付くでしょう。これが何を意味するのか、または気にする必要があるかどうかはわかりません。

...  
average    since         example     example  current  current  current    
loss       last          counter      weight    label  predict features    
1.000000   1.000000            1         1.0  -1.0000   0.0000       15    
0.500000   0.000000            2         2.0   1.0000   1.0000       15    
1.250000   2.000000            4         4.0  -1.0000   1.0000        9    
1.167489   1.084979            8         8.0  -1.0000   1.0000       29    
1.291439   1.415389           16        16.0   1.0000   1.0000       45    
1.096302   0.901166           32        32.0  -1.0000  -1.0000       21    
1.299807   1.503312           64        64.0  -1.0000   1.0000        7    
1.413753   1.527699          128       128.0  -1.0000   1.0000       11    
1.459430   1.505107          256       256.0  -1.0000   1.0000       47    
1.322658   1.185886          512       512.0  -1.0000  -1.0000       59    
1.193357   1.064056         1024      1024.0  -1.0000   1.0000       69    
1.145822   1.098288         2048      2048.0  -1.0000  -1.0000        5    
1.187072   1.228322         4096      4096.0  -1.0000  -1.0000        9    
1.093551   1.000031         8192      8192.0  -1.0000  -1.0000       67    
1.041445   0.989338        16384     16384.0  -1.0000  -0.6838       29    
1.107593   1.173741        32768     32768.0   1.0000  -1.0000        5    
1.147313   1.187034        65536     65536.0  -1.0000   1.0000        7    
1.078471   1.009628       131072    131072.0  -1.0000  -1.0000       73    
1.004700   1.004700       262144    262144.0  -1.0000   1.0000       41 h  
0.918594   0.832488       524288    524288.0  -1.0000  -1.0000        7 h  
0.868978   0.819363      1048576   1048576.0  -1.0000  -1.0000       21 h  

finished run  
number of examples per pass = 152064  
passes used = 10  
weighted example sum = 1.52064e+06  
weighted label sum = -854360  
average loss = 0.809741 h  
...

ありがとう

4

2 に答える 2

7

これhは次の場合に印刷されます。

(!all.holdout_set_off && all.current_pass >= 1)

は true です (出力を参照grep -nH -e '\<h\\n' vowpalwabbit/*.ccしてコードを確認してください)。

コマンド ライン引数--holdout_offで次を検索します。

--holdout_off は、マルチパス学習のホールドアウト検証を無効にします。デフォルトでは、VW は (制御可能なデフォルト = 1/10) --passes > 1 の場合は常にサンプルのサブセットを保持し、印刷物にテストの損失を報告します。これは、マルチパス学習でオーバーフィッティングを防ぐために使用されます。追加の h が行末に出力され、報告された損失が進行性の検証損失ではなくホールドアウト検証損失であることを指定します。

于 2014-10-30T19:27:36.837 に答える
6

VW は、ファイルからのサンプルを使用してモデルをトレーニングし、その間に平均列車損失値 (「h」サフィックスなし) を出力します。モデルをトレーニングするために複数のパス ( で指定--passes n) がファイルに必要な場合、k 番目ごとの例 ( で変更可能--holdout_period k) をテスト用に保持し、トレーニングには使用しません。2 回目以降のパスでは、トレーニング例ではなく、これらのテスト例で損失を推定し、損失値を「h」で出力します。'h' なしで非常に小さな値を取得し、後で 'h' を使用して非常に大きな値を取得する場合は、モデルがオーバーフィットしていることを意味している可能性があります。モデルがオーバーフィットしないことを既に確認しており、トレーニングのためにデータセット全体で複数のパスを使用したい場合は、 を指定する必要があります--holdout_off。そうしないと、データの 10% が失われます (--holdout_periodデフォルトでは 10 です)。

于 2014-11-06T21:03:31.777 に答える