2.2.1. 線形回帰の基礎
2020/3/25公開
Last updated
2020/3/25公開
Last updated
ここではまず簡単な例として1次元の線形回帰について解説する。扱う問題自体は中学校で習うような簡単なものだが、モデリングや数式の表記は手加減せずに論文で使われているレベルのものを用いるので、機械学習の難しい数式に慣れることに集中できるだろう。
流れとしては直線による回帰を生成モデルによって捉え直し、最尤推定を行うことで最小二乗法を導出する。今後の議論の基礎になるので、ぜひ時間をかけて取り組んでみてほしい。
中学校でオームの法則を習ったことを覚えているだろうか。物体の電気抵抗と物体にかける電圧、流れる電流の間には
の関係が成り立つ。この法則を利用すれば物体の電気抵抗を測定でき、物体に所望の電圧をかけたり、電流を流したりできるようになる。
より一般化して式を直線の方程式で書き直せば
となる。電圧、電気抵抗、電流をそれぞれで置いただけである。機械学習の文化ではを入力(input)、を出力(output)またはラベル(label)という。または重み(weight)と呼ばれ、本来ならで表記することが多い。
式のような関係性を持つことがわかっている、またはそのような関係性を持ちそうだと思われる現象は、重みさえ求めれば入力から出力を予測できる。いまの状況ではどれくらいの電流を流したときにどれくらいの電圧がかかっているかが推測できる。
どちらも十分に実用的な方法であり、実際それで片付いてしまうことも多いが、いまは機械学習への導入に適した形で問題を解き直そう。
この段階はモデリング(modeling)といって、現象に対して人間が勝手に仮定を置くことであり、誤差が本当にガウス分布に従うかどうかはわからない。しかし人間は現象に何かしら仮定を置かなければ対象を数学的に扱うことはできないし、また仮定の置き方に自由度があることで、人間やコンピュータが計算しやすい形の数式が導出されることもある。仮定がどれだけ正しそうかは、得られた結果を見てから考えればよく、もし満足いかない結果なら満足いくまで仮定を変更すればよい。
ガウス分布(Gaussian distribution)または正規分布(normal distribution)は以下の式で定義される連続確率分布である。
と表せる。最初なので一応丁寧に書いておくと、
と書くことにする。
尤度関数とは確率分布のパラメータを変数とみなし、確率変数を定数とみなした関数である。「尤度」は「ゆうど」と読み「尤もらしい」と書いて「もっともらしい」と読むので、尤度は「もっともらしさ」という意味である。
注意点は尤度関数は確率分布ではないということである。つまり一般には
と書ける。
対数尤度関数とは尤度関数の対数をとったもの、すなわち
のことである。対数変換は単調変換であるから、対数変換した関数の最大化問題ともとの関数の最大化問題の最適解は一致する。したがって
であり、解きやすい左辺のほうを右辺の代わりに解いてもよいことになる。
したがって
より、
これで私たちは最小二乗法の裏にあるモデルとその数理を理解したことになる。これから登場する回帰モデルはほとんど今回の議論の拡張に過ぎないので、ここまでの話を理解できたのであればあとはぐっと楽になるであろう。
中学校や高校の範囲では、適当に1点を測定してそれを代表とし、
とすれば求まるということになっていた。しかし電気抵抗を実際に何回か測定してみると、どの点を代表とするかによって求まるの値は若干変わり、毎回同じ値になるとは限らない。これは物体の電気抵抗が温度に依存することや電気回路の接触などに起因するが、何が原因かはよくわからないことがほとんどだろう。
こういった「よくわからない観測値の揺らぎ」の扱いを得意とするのが確率論である。中学高校の範囲でならいくつかの観測点について求めたを平均する、大学の学部教養レベルであれば最小二乗法を用いてを求める、といった方法がある。
出力と入力の間には以下の関係があると仮定する。
この式は「は基本的にで求まるが、よくわからない誤差を含む」という意味であり、理論値からのズレをという補正項に吸収させたことになる。ここでは平均、分散のガウス分布に従うものとする。
出力はにを足したものなので、平均、分散のガウス分布にしたがうものとみなせるから、その確率分布は
である。パラメータは今後の計算にはあまり関わってこないので、議論の簡略化のため既知の定数とした。ちなみに、今回のように出力がある確率分布から生成されるモデルを生成モデル(generative model)という。
観測した個のデータ点の集合を
とおく。は番目に観測されたデータ点を表す。また出力と入力を分けるときは
いま、簡単のために1番目のデータのみが観測されたとしてを求めてみよう。式ではが確率変数、は確率変数だが観測されて(今回は人間が勝手に定めたことで)実現値となっており、はとりあえず与えられた固定値とみなしていた。しかしいまはを求めたいのでが変数であり、または観測されたことで実現値(固定値)となっている。そこで以下の尤度関数(likelihood function)を定義する。
尤度関数は確率分布から生成したデータのもっともらしさを表す指標のひとつである。尤度関数を最大化するを求める、つまり最も尤もらしいの値を求める手法を最尤推定(さいゆうすいてい:maximum likelihood estimation)という。
式が最大となるのはの中が 0 になるときであるから、、すなわち
のときである。これは原点と観測した1点を正確に通る直線を引くときの式と一致している。
である。なぜならばいま、そもそもは確率変数ではないとみなしているし、仮に確率変数とみなしても、ベイズの定理により
となるので、式の両辺が形式的にでも等号で結ばれるのはという特殊な状況だけだからである。
では個のデータ点を観測した場合に話を戻そう。各データ点の観測が独立で、同じ確率分布からのサンプリングであると仮定する。このとき個のデータの確率分布は
と表せる。具体的な状況としては、入力のときの出力を観測する、と決めたがまだ実際には出力の観測を行っていない状態(まだ確率変数)である。
出力を観測する(実現値を代入して定数とみなす)ことで再び尤度関数が定義できる。すなわち
である。この尤度関数を最大化することでを求めるから、この最適化問題は
式のような最適化問題の表記は論文や書籍でよく用いられるので覚えておくとよい。最大化問題(maximization problem)に使われるは argument of the maximum の略で日本語に訳すと「関数の最大値を与える引数」の意味だ。の下についているは「実数全体の範囲で」の意味であり、式は「関数の値を最大化するを実数全体の範囲で求めよ」という意味になる。この問題の最適解は
のように表記される(はなどの表記も好まれる)。厳密には最大値を与えるはひとつとは限らず右辺は集合を表しているものと解釈されるため、左辺が実数であるという意図と矛盾するので、上式のような表記は本来であれば好ましくないのだが、論文や書籍ではよく用いられる。
同様に最小化問題(minimization problem)ではを用い、これは argument of the minimum の略である。また、最大化問題や最小化問題の対象となる関数、ここではのことを目的関数(objective function)という。
最適化問題(optimization problem)が解けるかどうかは異なるし、またその解き方にもバリエーションがあるものだが、式は対数尤度関数の最大化というよく使われる方法で解ける。
式の左辺のを変形していこう。対数を取ると掛け算が足し算になり、さらにも外れるという部分がミソだ。式変形に使った式番号も書いておくので、少し大変だが追ってみてほしい。
が求まった。に関する最大化問題なので、第1項に関する正数倍、およびに関係ない第2項は問題の解に影響しないから、
である。式は最小二乗法(least squares method)の式そのものである。
あとはに関して整理して
であり、また二次関数の最小値を取る点は微分してになる点だから、
が解となる。データ点をひとつだけ用いるとき、すなわちのとき
であり、この結果は式が、代表点をひとつ決めてを求める方法の一般化になっていることを示している。