隆起回帰のL2正規化は切片を罰しますか?そうでない場合、その派生物をどのように解決しますか?


8

MLは初めてです。リッジ回帰のL2正規化は切片罰しないことが通知されました。コスト関数と同様: L2正規はからまでの合計のみで、からまでの合計ではありません。私もそれを読みました:θ0

θJ(θ)=12i=1m(hθ(x(i))y(i))2+λj=1nθj2
λj=1nθj2j=1nj=0n

ほとんどの場合(すべての場合?)、正則化しないほうがよいです。オーバーフィットを減らし、表現可能な関数のスペースを縮小する可能性が低いためです。θ0

これは、user48956の最後の回答から来ています。

ため、コスト関数の導関数を解く方法について混乱しています。 ここで、および。

θJ(θ)=12XθYTXθY+λ(θ)Tθ,
θ= [ θ 0 θ 1θ N ] X= [ 1θ=[θ1θ2...θn]θ=[θ0θ1...θn]X=[1X1(1)X2(1)...Xn(1)1X1(2)X2(2)...Xn(2)...1X1(m)X2(m)...Xn(m)]

θθθθとは異なります。したがって、私の見解では、それらを混在させることはできません。そして誘導体は、についてです含まれ、。このフォーラムで質問をグググルして表示した後でも、解決策を得る方法はまだありません: 誰かが私に手掛かりを与えることができますか?よろしくお願いします!θθ θ=XTX+λI1 XTYθ

θ=(XTX+λI)1XTY

ただし、この問題には2つの簡単な修正があると思います。

まず、all 1列を追加しません。つまり、。つまり、モデルに切片をまったく含めないということです: この方法は、私が現在読んでいるピーター・ハリントンによる古典的な機械学習の実践で採用されていると思います。リッジ回帰の実装(本がある場合はP166およびP177)では、リッジ回帰に渡されるすべてのにall 1列がありません。X = [ X 1 1 X 1 2X 1 n X 2 1 X 2 2X 2 nX m 1 X m 2X m nX Y= θ 1 X 1 + θ 2 X 2 ++ θ nは X のnバツX=[X1(1)X2(1)...Xn(1)X1(2)X2(2)...Xn(2)...X1(m)X2(m)...Xn(m)]

y=θ1X1+θ2X2+...+θnXn.
X

第二に、傍受も実際には処罰されています。

scikitのロジスティック回帰は、デフォルトで切片を正規化します。

もう一度、「なぜ切片がゼロの線形回帰モデルは切片があるモデルよりも予測が優れている」のuser48956の最後の回答から来たのですか?

2つのクイックフィックスの両方が、ソリューションつながり

θ=(XTX+λI)1XTY.

それでは、リッジ回帰のL2正規化の導関数は実際に解決されているのでしょうか、それともクイックフィックスによって解決されているのでしょうか。


2
stats.stackexchange.com/questions/86991も参照してください。Qの答えは、すべてを解決できるということです。最初の項をtheta_0とtheta_primeに分解するだけです。最適なtheta_0をすぐに解くことができます。これは全体の平均です。平均減算データのtheta_primeの適切なソリューションとしての「クイックフィックス#1」につながります。
アメーバ2018年

3
2番目のソリューションは、かなり一般的に正しくないと考えられています。インターセプトのペナルティは、sklearnのいくつかの設計エラーの1つです。
マシューDrury

1
@MatthewDrury私はこれを「修正」するためのハックに言及し、あなたを悲しませたと思います。しかし、私はハックが1e9のような巨大な傍受を作ることをOPに伝えたいです。その後、正則化はそれにほとんど影響を与えません。
Haitao Du

1
ええ、あなたは正しく覚えています。
Matthew Drury

@amoebaありがとうございます!私はあなたの指導の下で私の答えの解決策を考え出します。確認していただけますか?さらに、Machine Learning in Actionはから平均を減算し、すべての1列を追加しないことを発見しました。どちらも正しい方法です。ただし、フィーチャの標準化を行う場合、は標準偏差ではなく分散で除算されます。私はこれについて別の質問をしました:標準偏差でなく、この質問でもう一度私を助けてもらえますか?ありがとう!X X - μYXXμ
直美

回答:


3

ハスティらによる統計学習の要素 P63で次のように指摘しています。

切片がペナルティ用語から除外されましたθ0

さらに、それは言う:

リッジソリューションは、入力のスケーリングでは等変ではないため、通常、(3.41)を解く前に入力を標準化します(3.41はコスト関数です)。中央の入力を使用して再パラメーター化した後、(3.41)の解を2つの部分に分離できることを(演習3.5)で示すことができます:各は によって を推定し。残りの係数は、中央を使用した切片。以降、このセンタリングが行われたと想定し、入力行列が X I J - ¯ X Jθ 0 ¯ Y = 1Xj(i)Xj(i)xj¯.θ0y¯=1mi=1my(i)Xj(i)Xn(ではなく)列。n+1

The Elements of Statistical Learningが最初に機能の標準化を提案し、次に機能のセンタリングのみを行うのはなぜでしょうか。機能のセンタリングのみを使用する演習3.5に同意するかもしれません。

とにかく、Zスコアの標準化を機能に適用するのは正しいことだと思います。だから私は今、上記のコメンターのアメーバの提案に従って、リッジ回帰のコスト関数の導関数を解こうとしています。彼または彼女に感謝します!

まず、コスト関数: ここで、は属性平均であり、は標準偏差です。短くするには: 次に、最初に値を計算します

θJ(θ)=12i=1m(yiθ0X1(i)X1¯σ1θ1X2(i)X2¯σ2θ2...Xn(i)Xn¯σnθn)2+λj=1nθj2,
Xj¯XjσjXj θ0θ0λΣ N J = 1 θ 2 J
θJ(θ)=12i=1m(yiθ0j=1nXj(i)Xj¯σjθj)2+λj=1nθj2
θ0上記の式では、に関する導関数をゼロに設定します。のでありません、我々が得る: つまり、 As(は属性平均)なので、θ0λj=1nθj2θ0 m個Σ iが=1
θ0J(θ)=i=1m(yiθ0j=1nXj(i)Xj¯σjθj)=0
i=1m(yiθ0)i=1mj=1nXj(i)Xj¯σjθj=0
i=1mj=1nXj(i)Xj¯σjθj=0
Xj¯Xj
i=1m(yiθ0)=0,
明らかに:
θ0=y¯=1mi=1my(i)

したがって、機能標準化されたリッジ回帰の切片は常にです。したがって、最初に平均を減算してを集中化する場合データ例場合は(get )、にすべての1列を含めないで、次に(getためデータ例、コスト関数は、単純になり つまり y¯Y(yi)iXX(Xj(i))Xji

θJ(θ)=12i=1m((yi)j=1n(Xj(i))θj)2+λj=1nθj2
θJ(θ)=12XθYTXθY+λ(θ)Tθ,
ここで、はすべて1列ではなく、で標準化されていますはに関して中央揃えです。今(なしで解決することができる): 標準化された機能の場合、線形モデルは ここで θ=[θ1θ2...θn]XXYYθθ0
θ=((X)TX+λI)1(X)TY
y=y¯+θ1X1+θ2X2+...+θnXn(1),
Xi=XiXi¯σi(2)
Plasty Groveの 回答で提案されているように、(1)で(2)を使用する場合。したがって、原点入力データの場合、線形モデルは これは これが、標準化された特徴の係数を解決した後、元の入力データの係数(標準化されていない)を返す理由です機能)、返す必要があります
y=y¯+X1X1¯σ1θ1+X2X2¯σ2θ2+...+XnXn¯σnθn
θI/σI
y=θ1σ1X1+θ2σ2X2+...+θnσnXn+y¯X1¯σ1θ1X2¯σ2θ2...Xn¯σnθn
θi/σi

素晴らしい詳細な例。いくつかのコメント:中央揃えの効果についてコメントしますが、切片の項を省略して正しい推定値を得るには、すべての機能も中央揃えにする必要があります。ただし、この例は(一貫した推論を得るために)切片の項にペナルティを課さないという論理的根拠に同意します。第二に、直感はここで何かのために役立つはずです。我々は、すべて予測することを受け入れる程度の付加的な効果を得るために、その平均値では0パラメータモデルに似ている、我々は単にの存在下での平均-Yの効果をキャッチ用語罰してはいけない、モデルで。X Y X XYXYXX
AdamO 2018年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.