20

xgboost では、 のパラメーターを設定することができweightますDMatrix。これは明らかに、各値が対応するサンプルの重みである重みのリストです。これらの重みが勾配ブースティング手順で実際にどのように使用されているかについての情報は見つかりません。それらは関連していetaますか?

たとえば、weightすべてのサンプルを 0.3 に設定して 1 に設定すると、0.3に 1etaに設定するのと同じことになりますか?etaweight

4

2 に答える 2

25

xgboostあなたが指摘したように、の構築中にインスタンスの重み付けを可能にしますDMatrix。この重みはインスタンスに直接結び付けられており、トレーニング全体を通じて一緒に移動します。したがって、勾配とヘシアンの計算に含まれ、モデルの分割ポイントとトレーニングに直接影響しxgboostます。

ここここを参照

インスタンスウェイトファイル

XGBoost は、インスタンスの重要性を区別するために各インスタンスに重みを提供することをサポートしています。たとえば、以下の例の「train.txt」ファイルにインスタンス ウェイト ファイルを提供するとします。

train.txt.weight

1

0.5

0.5

1

0.5

これは、XGBoost が 1 番目と 4 番目のインスタンス、つまりトレーニング中にポジティブなインスタンスをより強調することを意味します。構成は、グループ情報の構成に似ています。インスタンス ファイル名が「xxx」の場合、XGBoost は同じディレクトリに「xxx.weight」という名前のファイルがあるかどうかを確認し、存在する場合は、モデルのトレーニング中にその重みを使用します。

とは大きく異なります。 eta

eta単純xgboostに、最後のツリーがアンサンブルにどれだけブレンドされたかを示します。各反復でアンサンブルがどれだけ貪欲であるべきかの尺度。

たとえば、weightすべてのサンプルを 0.3 に設定して 1 に設定すると、0.3に 1eta に設定するのと同じことになりますか?etaweight

  • すべてのインスタンスの定数weight1 がデフォルトであるため、これをすべてのインスタンスの定数 .3 に変更しても、重み付けは同じであるため、あまり影響を受けません。ただし、eta0.3 から 1 に設定すると、トレーニングがより積極的になります。

于 2016-03-17T13:22:01.753 に答える