web-dev-qa-db-ja.com

ロジスティック回帰の正則化強度の逆は何ですか?コードにどのような影響がありますか?

私は使っている - sklearn.linear_model.LogisticRegression in scikit learnロジスティック回帰を実行します。

C : float, optional (default=1.0) Inverse of regularization strength;
    must be a positive float. Like in support vector machines, smaller
    values specify stronger regularization.

ここでCはどういう意味ですか?正則化強度とは何ですか?

36
user3427495

正規化 は、 オーバーフィッティング を減らすために、パラメーター値の大きさを増やすことにペナルティを適用します。ロジスティック回帰モデルなどのモデルをトレーニングする場合、データに最適なパラメーターを選択しています。これは、データが与えられた従属変数についてモデルが予測するものと、実際に従属変数が何であるかとの間の誤差を最小化することを意味します。

問題は、多くのパラメーター(多くの独立変数)があり、データが多すぎない場合に発生します。この場合、モデルは多くの場合、パラメーター値をデータの特異性に合わせて調整します。つまり、データにほぼ完全に適合します。ただし、これらの特異性は今後表示されるデータには表示されないため、モデルの予測は不十分です。

これを解決し、すでに説明したようにエラーを最小化するには、最小化するものに追加し、パラメーターの大きな値にペナルティを課す関数も最小化します。ほとんどの場合、関数はλΣθj2、これは定数λに2乗されたパラメータ値θの合計を掛けたものですj2。 λが大きいほど、データ内の小さな摂動を調整するためだけにパラメーターの大きさが増加する可能性は低くなります。ただし、λを指定するのではなく、C = 1 /λを指定します。

59
TooTone