私が得ている結果にはいくらかがっかりしています。と' またはを使用して 2 つのモデル ( sklearn.linear_models.LogisticRegression
)を作成し、 と を使用してそれらをテストします。私にとっては、実質的に正則化は行われず、AUC は同じであるはずです。代わりに、ペナルティのあるモデルは AUC が悪く、複数回実行しても同じ結果が得られます。これはどのように起こりますか?C=1e80
penalty = 'l1
'l2'
sklearn.cross_validation.cross_val_score
cv=3
scoring='roc_auc'
C=1e80
'l2'
1 に答える
0
もう少しわかりやすくするために。ほとんどの損失関数の一般的な形式は次のとおりです。
C SUM_i=1^N loss(h(x_i), y_i|theta) + regularizer(theta)
したがって、全体の問題C
は、トレーニング サンプルに対する損失の合計と正規化値のバランスを見つけることです。
ここで、損失が制限されている場合 (ロジスティック回帰の場合のように)、適切な正規化を行わないと、L2 正則化 (||theta||^2) が無限に大きくなる可能性があるため、無関係にして等しくするには非常に高い C が必要になります。 L1 の解 (max_j |theta_j|)。同様に、p>=2 の Lp 損失など、非常に急速に大きくなる損失がある場合、レギュラライザーは非常に小さい可能性があるC
ため、何かを行うには非常に小さい必要があります。
于 2016-02-08T22:20:15.150 に答える