Iteratively Reweighted Least Squares(IRLS)ってたまに出てくるけど、何か分かってなかった.
Least Squares
LSでは線形モデル、
というモデルを考えたときにデータとモデルの2乗和誤差を最小にするようにを決定する。このとき誤差を1つの定数で書ける(データのばらつきが次元で同じ)ときは擬似逆行列を使って係数を決定することができる。導出はないけど、微分が0になるようにを決定すれば
Weighted Least Squares
先程はデータの次元でばらつきが同じとしたけど、次元間の分散が違うことだってある。そんな場合にWLSをつかう。調べた感じWikipediaが一番分かりやすい。
https://en.wikipedia.org/wiki/Linear_least_squares_(mathematics)#Weighted_linear_least_squares
この場合、
https://en.wikipedia.org/wiki/Linear_least_squares_(mathematics)#Weighted_linear_least_squares
この場合、
となる。ただしは対角成分に分散の逆数を並べた行列。例えば、あるデータ次元についてはほぼ確定的なら始めから分散は小さくできるので、それを反映させることができる。式を見ると、データを標準偏差で割っているのと同じになっているので、データが事前にある場合は標準化(standardization)しとけば同じことになりそうだ。
Iteratively Reweighted Least Squares(IRLS)
上の2つは一発で最適な係数を求めることができた。これは2乗和誤差がの2次で書けるからだ。IRLSでは、2次でない場合でも2次で近似しながら重みWを更新して、最適な係数を求めてくれる。これまたWikipediaがわかりやすかった。
https://en.wikipedia.org/wiki/Iteratively_reweighted_least_squares
https://en.wikipedia.org/wiki/Iteratively_reweighted_least_squares
Lpノルムを最小化したいときは、
は対角行列。と初期化しておき、対角成分の各要素は以下のように更新していく。
IRLSはスパースな係数を選択するためにL1最適化を使う場合に用いられたりするようだ。
コンピュータビジョン最先端ガイド6巻の3章に少しだけIRLSの記述がある。
Scikit-learnなどではOMPが実装されているみたいだが。
コンピュータビジョン最先端ガイド6巻の3章に少しだけIRLSの記述がある。
Scikit-learnなどではOMPが実装されているみたいだが。
0 件のコメント:
コメントを投稿