要素ごとに計算して理解する正規方程式。

By | 2021年3月27日 , Last update: 2022年8月7日

はじめに

機械学習の方面では超おなじみの線形回帰分析ですが、線形回帰分析といえば最小二乗法がほぼ定番で、最小二乗法といえば正規方程式がほぼ必ず登場します。

よって正規方程式も超おなじみなわけで、正規方程式の導出の方法についてGoogle先生に尋ねてみると、行列やベクトルを駆使しまくる方法やプログラムを教えてくれます。

しかし、この情報だけだと行列やベクトルの計算から一度離れて一周回って戻ってきた時に「なんでそうなるんだっけ?」ということになりかねません。

そこで、この記事では最後の変形までは表記を簡略化する以外の目的では行列やベクトルの計算を使わずに要素ごとに計算して導出してみることにします。

スポンサーリンク

線形回帰分析の概要

線形回帰分析とは、ある個からなるデータの組(これらの数を説明変数といいます。)があったときに求められる値(目的変数といいます。)が

(1)

という関係式で表すことができるものと仮定し、どのような説明変数を与えてもある程度正確そうな目的変数を与えてくれそうなのうち最良のものを求めることをいいます。

最小二乗法からの正規方程式

最小二乗法の概要

このある程度正確そうな状態を定量的に表すために、説明変数及び目的変数の組を用意します。この記事では仮に組の説明変数及び個の目的変数が用意できたとして、そのうちの番目の説明変数をとおくことにし、対応する目的変数をとおくことにします。

このとき、およびの間には

(2)

の関係が成り立って欲しいところですが、そもそもはまだ求まっていないのですから、(2)式が成り立つ保証はありません。

そこで、(2)式の左辺及び右辺の値が一致しないことを前提に、左辺と右辺の差を二乗し、さらにそれをの範囲で足し合わせてで割ったものをとおきます。

すると、は…

(3)

と書けます。(3)式は残差平方和(RSS: residual sum of squares)と呼ばれる式です。

また、この記事では直接は使用しませんが、(3)式の両辺をで割ると…

(4)

と書けます。

(4)式は平均二乗誤差(MSE: Mean Squared Error)になります。

の関数と考えて、が最小になるようなを求めることを考えるのが最小二乗法のキモになります。

要素ごとに偏微分。


スポンサーリンク

ここからは説明変数及び目的変数として与えられたおよびは既知の定数であると考えることに留意しつつ以降の計算を進めていきます。

(3)式左辺はの2次の項の係数は負でない値になりますのでのそれぞれについて高々2次の関数になります。

したがって、のそれぞれについて偏微分した結果得られる式が0になるとき、すなわちを満たす整数について、

(5)

がすべて0になるときにが最小値をとります。なお、(5)式は
(6)

となることを利用しています。

正規方程式の導出

(5)式の右辺が0となるときには、

(7)

になりますので、これを行列かベクトルの形式でまとめて書けないか考えてみます。

まず左辺。

まず、(7)式の左辺について考えます。これは、

(8)

と書けます。を満たす整数であったことを思い出すと、(8)式は縦方向に並べることができて…
(9)

と書けます。

ここで、, (右肩のは行列またはベクトルの転置を表します。以下同じ。)とおくと、(9)式の右辺は

(10)

と書くことができます。

次に右辺。


スポンサーリンク

次に、(7)式の左辺について考えます。

左辺は総和を2回とる形になっていて一見ややこしいので、とりあえず、

(11)

とおいてみます。すると…
(12)

ここで再度を満たす整数であったことを思い出すと、(12)式は縦方向に並べることができて…
(13)

と書けます。なお、とおいています。

(11)式を用いるとは、

(14)

になります。

ここまで(7)式の左辺及び右辺に対して等式を縦に並べるという操作を1回ずつ行っているために、(10)式及び(13)式が等しいとおくことができて、さらに(14)式の結果と合わせると…

(15)

が成り立つことがわかります。

なんとか正規方程式にたどり着くことができました。

特にが正則行列である場合にはが計算できますので、

(16)

と計算することにより、を求めることができます。

まとめ

ここまでの計算で行列の要素ごとに計算を行うことで、正規方程式を導出することができました。

行列やベクトルの計算時に使える関係式を忘れても計算できる方法ですので、ご参考にしていただけると幸いです。

この記事は以上です。