再帰的(オンライン)正則化最小二乗アルゴリズム


12

Tikhonov Regularization(正則化された最小二乗法)のオンライン(再帰)アルゴリズムの方向を教えていただけますか?

オフライン設定では、元のデータセットを使用してを計算し、n倍交差検証を使用してλを見つけます。y = x ^ T \ hat \ betaを使用して、指定されたxの新しいy値を予測できます。β^=(XTX+λI)−1XTYλyxy=xTβ^

オンライン環境では、新しいデータポイントを継続的に描画します。データセット全体(元の+新しい)で完全な再計算を行わずに新しい追加のデータサンプルを描画するときに、を更新するにはどうすればよいですか?β^


1
あなたのTikhonov正規化最小二乗法は、純粋な線形問題(ここにある)に適用された場合でも、統計円ではおそらくより一般的にLevenberg-Marquardtと呼ばれます。オンラインのLevenberg Marquardtに関する論文がここにあります。それが助けかどうかはわかりません。
— Glen_b-モニカの復職14

回答:


11

β^n=(XXT+λI)−1∑i=0n−1xiyi

LET Mn−1=(XXT+λI)−1、次いで

、及びβ^n+1=Mn+1−1(∑i=0n−1xiyi+xnyn)

、次を得ることができますMn+1−Mn=xnxnT

β^n+1=β^n+Mn+1−1xn(yn−xnTβ^n)

による ウッドベリーの公式に、

Mn+1−1=Mn−1−Mn−1xnxnTMn−1(1+xnTMn−1xn)

結果として、

β^n+1=β^n+Mn−11+xnTMn−1xnxn(yn−xnTβ^n)

Polyak平均は、あなたが使用できることを示し おおよそのM - 1つのnηn=n−α、αの範囲は0.5から1です。あなたの場合、再帰に最適なαを選択してみてください。Mn−11+xnTMn−1xnα0.51α


バッチ勾配アルゴリズムを適用する場合にも機能すると思います:

β^n+1=β^n+ηnn∑i=0n−1xi(yi−xiTβ^n)


新しいデータのバッチサンプルで毎回リグレッサを更新し、連続する各バッチがわずかに異なる分布から取得される場合はどうなりますか?すなわち、非IID。この場合、リグレッサに新しいデータを考慮させたいが、古いデータ(以前のバッチ)の局所性の予測に影響を与えないようにしますか?役に立つと思われる文献を教えてください。
— rnoodle

良い質問ですが、答えにバッチ勾配式を使用している場合、またはマトリックス形式を直接適用して近似している場合、モデルにどの程度影響するかわかりません:eta ^(-alpha)* X(Y-X 'beta_n)X、Yは新しいバッチサンプル
— lennon310 14年

こんにちは、それは正則化係数が再帰的な更新式に関与していないようです?または、M行列の逆行列の初期化でのみ問題になりますか?
— 鵬趙

4

これまで誰も取り組んできなかった点は、データポイントが追加される正則化パラメーターλを一定に保つことは一般に意味をなさないということです。この理由は、ある‖ X β - Y ‖ 2は、正則化項ながら、典型的には、データポイントの数と共に直線的に成長する‖ λ β ‖ 2ではないであろう。 λ‖Xβ−y‖2‖λβ‖2


それは興味深い点です。しかし、正確に「意味をなさない」のはなぜですか?維持確実に一定のことは数学的に正しいので、「意味を成さない」統計的文脈のいくつかの種類に理解されなければなりません。しかし、どのようなコンテキストですか?何が悪いの?平方和を平均平方に置き換えるなど、何らかの簡単な修正がありますか?λ
— whuber

二乗和をスケーリングされたバージョン(たとえば、平均二乗誤差)で置き換えることは理にかなっていますが、単純に再帰的最小二乗を使用してもそれは達成されません。
— ブライアン

選択に応じて、何がうまくいかないかについては、多数のデータポイントを含む非常に正規化されていないソリューション、または少数のデータポイントを含む非常に正規化されたソリューションが得られます。λ
— ブライアンボルチャーズ

疑いがありますが、n個のデータポイントを受け取った後にを最初に調整し、その後さらにデータポイントを追加した場合、より多くのデータポイントと同じλの結果のソリューションが過剰または過少に正規化されるかどうかは、それらの新しいデータポイントに依存します。これは、データポイントが多変量分布からのiidサンプルのように振る舞うと仮定することで分析できます。この場合、ステージNでλをN / nに設定する必要があります。これにより、更新式が変更されますが、効率的計算が可能になる可能性があるような、定期的かつ簡単な方法で。(+1)λnλλN/nN
— whuber

3

おそらく、確率的勾配降下のようなものがここで機能するでしょう。計算は、βあなたの開始見積もりとなります初期データセット、上の上のあなたの方程式を使用して。新しいデータポイントごとに、勾配降下の1ステップを実行して、パラメーター推定値を更新できます。β^


それ以来、SGD(おそらくミニバッチ)が、このようなオンラインの問題、つまり関数近似の更新に対応する方法であることを認識しています。
— rnoodle


0

XTXXTyXTX/nXTy/n

を書く場合Xy as :

X=(x1T⋮xnT),y=(y1⋮yn),

we can write the online updates to XTX/n and XTy/n (calculated up to the t-th row) as:

At=(1−1t)At−1+1txtxtT,

bt=(1−1t)bt−1+1txtyt.

Your online estimate of β then becomes

β^t=(At+λI)−1bt.

Note that this also helps with the interpretation of λ remaining constant as you add observations!

This procedure is how https://github.com/joshday/OnlineStats.jl computes online estimates of linear/ridge regression.

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.