※自分のはてなブログの編集都合上、行列表現がTexで表現できないため画像を挿入します。すみません。※
導入
線形回帰モデルとは
例えば直線モデルについて考えてみます。以下の図を見てください。
引用元:線形単回帰分析の仕組みをわかりやすく解説! | 全人類がわかる統計学
散らばっている点を"それっぽい"直線にしています。直線の式であるのでといった形になっています。このを求めることが「線形回帰モデルを解く」ということです。
本記事の目的
では、本記事の目的を明確にします。先に紹介した直線モデルは1次元モデルであり、それぞれを求めることは難しくないです。しかしこれが2次元、3次元あるいはより高次元となった場合にも解くことは可能でしょうか?逐一解いてみても良いと思いますが本記事では高次元である次元を想定します。
今回解く対象の次元線形回帰モデルを示します。
は切片を表します。今回は切片を省略し、以下の式を対象とします。
対象の式をより簡略化して書きたいと思います。行列表記を用いると
このが今回着目する文字です。所謂"重み"に似たやつです。
では早速解いてみましょう。今回、平均二乗誤差で解きます。
ここで目的を明確にしておきます。目的はを誤差の少ない関数とすることです。具体的には損失関数を最小とする最適なを見つけることです。最小とする、つまりみんな大好き微分をします。
行列の計算に慣れていない方はここから紙とペンで実際に解きながら読むことをおすすめします。
解く
では早速で微分しましょう。
はで微分するととなることに注意すると
となります。注意ですがのnはデータ数、iは(0~D-1)をとります。
このままについて解いてしまいたいですがが邪魔ですね。この方程式は全てのにおいて成り立つため、
となります。ここからさらにわかりやすくするためにベクトル表現でまとめると、
簡略化すると、
分配法則を用いて、
このままではΣが邪魔で解きにくいですね。行列表現を用いてΣを消すように試みましょう。
新しくを導入することでΣを無くすことができました。
では、同様にして第2項も簡略化しましょう。
Σを消すことができたので元の方程式を置き換えてみます。
あとはこれをについて解きます。まずは両辺転置を取ります。
これをガンガン解いていきます。
これがD次元線形回帰モデルの解です。この式を用いるとxが何次元であっても、すなわちDが何であっても最適なが得られます。お疲れさまでした。
切片を無視していましたね。あと少しです。
切片がある時
では、切片がある時を考えましょう。切片がある時ってどういう時でしょう?初めに示した式を再掲します。
これを以下のように見ます。
このつまりD次元線形回帰モデルの解は変えなくて良いです。
さいごに
行列の諸々を忘れていて理解に少し時間がかかってしまいました。しかし1つ1つ紐解いていくと徐々に理解ができて楽しかったです。
まとめ
D次元線形回帰モデル
の解は
但し、
参考文献
おわり。
もしよければ↓ぽちっと↓お願いします。