ところで、最小二乗法と最尤推定と擬似逆行列って実質同じらしいですね。
と書くと、大いに語弊を含むので、少しばかり慎重に書く。回帰問題を解くにあたって解法が複数あるらしいですね。
と書くと、それはそれでつまらないし、ここは「しずかなインターネット」。なので、堂々と書く。最小二乗法と最尤推定と擬似逆行列は、同じ。
そこ暗渠だったか!の楽しさ面白さ
ゆる言語学ラジオのミームで「暗渠合流」というのがある。全く別のものだと思っていた二つの事柄が、ある地点において合流すること。また、それによる感動を表すときに用いられる。
地図鑑賞やブラタモリが大好きな私にとって、実際の暗渠もたまらんたまらん。暗渠の合流を発見するのはもちろんのこと、「ここ妙な線形だなぁ」と思いつつ、日頃見過ごしていたあの道を、地図で改めて確認したときの、あの発見。楽しいよね。
ここでは、その話をしたいんです。
一級河川:最小二乗法
こんな文章をここまで読んでくださった方に、最小二乗法について簡単に説明します。とりあえず「回帰問題」でググっていただき、イメージの画像を見てくだされ。
回帰問題とは要するに、複数の点たちに対して、それに近しい線を引きたいなーという問題。なんでこんなことをするのかというと、データを基にいい感じの予測をするためです。近しい線、すなわち、近しい関数が求まれば、その関数に何か値を入力することで、それっぽい値が出力=予測値が出てくる。そういったイメージです。
ということで、「近しい線」を引くことが、回帰問題の目標になります。ここで、どうやって近しい線であることを評価するか、がポイントになる訳ですが、そんなに難しくはないので、怖気ないで!
最小二乗法さん:(点たちと線の距離が小さくなるようになればよさそうだなぁ…)
はい、これが、最小二乗法のお気持ち。ちなみに距離は、差の二乗と実質同じなので、「最小距離法」と言うと、すんなり頭に入ってくるかもしれません。
距離と実質同じものでいいなら、絶対値とか四乗とかでもよさそう。けれど、なぜ二乗か。それは二次関数のグラフを思い浮かべると自ずと理由が浮かぶ。二次関数は、微分可能であり、極小値は最小値と一致する。つまり、最小化問題を考える上でとてもとても都合のいい関数なのである。
この単純さと名前のわかりやすさ。近所の人にはもちろん知られてるし、そうでない人も「あーあそこね」ってなる川。おそらく、最小二乗法公園とか、最小二乗法橋とか、最小二乗法駅とか、ある。
(ところで、最小二乗法の理屈って、めちゃくちゃ直感的だし、幼稚園児に向けて紙芝居で説明しても、たぶん数人の子は理解できそうだよね)
国道横の暗渠:最尤推定法
ここでの国道とは、正規分布のこと。だいたいの道はその国道に通じているし(中心極限定理)、場所を説明する時の目印として使われる(偏差値とかz検定とか)。
回帰問題における最尤推定法を簡単に説明すると、点たちと線の誤差を小さくしたいなーという話になる。
誤差、つまり「距離」を小さくしたいなら、最小二乗法と同じなのでは?と思うかもしれない。「距離」も「誤差」も同じといえば、同じだけど、ここでの区別はけっこう大事。最尤推定法では、点たちがあって線が引けるよね、という考え方ではなく、まず線(=法則)があって点たちがあるよね、という考え方を出発点とします。そして、点が一直線上にならずにその周辺でバラついてるのは、「誤差によって揺れ動いてる」ということで、話を進めていくのが、ここでの流れ。
一般に「誤差」は、正規分布に従うと言われているので、直線と点の誤差を正規分布に代入しちゃいます。
国道とは、正規分布のことでしたが、妙な線形とは、具体的には、正規分布を表すガウス関数の中の、(x-μ)^2のこと。そう、二乗がここにある。
そして、この誤差を代入した正規分布を、最尤推定法で使う対数尤度関数というやつにぶち込むと、ガウス関数の余計な部分が全て消え、なんと最終的には最小二乗法と全く同じ式が出てくるのだ。
(あそこやっぱり暗渠か。ふーん……。いやまてよ、この暗渠、最小二乗法川だったのか!)に似たような感動を覚えた。
暴れ川:線形代数(擬似逆行列)
街の中心を流れる特大河川、線形代数。この数理という街の扇状地を形成した一要因。
線形代数を知らない人に、ざっくり語弊のある言い方で説明すると、線形代数とは連立方程式を解くための方法論だと思ってください。
簡単化のために、「二点があって、その両方を通る直線を引きたいなー」という状況を考えてみましょう。これは簡単で、二点の座標を直線の式にそれぞれ代入し、あとは出てきた連立方程式を解くことで、傾きと切片を求めるだけ。
前の例は、二点だったが、「たくさんの点があって、その全部に近しい直線を引きたいなー」という状況でも、さっきと全く同じ考えで進められる。そう、線形代数ならね。
ということで、点たちを直線の式に代入して、それを連立させる…。手計算では大変そうだけど、ここで便利な道具、線形代数を使うと、"無理やり"aとbを求められてしまいます。
この"無理やり"を担うのが、擬似逆行列というやつ。連立方程式を行列で解く際には、係数行列が正則ならば、その逆行列を両辺にかけてあげて一発で求まる、ということは大学一年生でも知ってる内容。正則でない係数行列でも、逆行列みたいなのを作りたい。そうして無理やり生み出されたのが擬似逆行列です。(超語弊)
あ、ふーん、といった内容にも聞こえる。が面白いのはここから。
擬似逆行列が、どういう訳か、最小二乗法をしてることになる、らしい………なにそれなにそれ。
ということで、その解説は下記のサイトを参照するとよい(数学書あるある)
(ざっくり、ここで書かれている話を噛み砕くと、行列フォームで直線と点の距離、すなわち、差の二乗、すなわち、二次関数を考える。その関数を微分して、その極値(最小値)を行列の操作によって求めていくと、なんとなんと擬似逆行列が現れる!というお話。)
これを知った時、あのちょろちょろした川が、実は巨大河川の昔の流路だったんだーというのを知った時と、全く同じ脳内物質が放出されていた気がする。具体的に言うと、札幌にある伏籠川と豊平川の関係が、それ。
まとめ
全く別だと思っていた二つの事柄が、実はほぼ同じだった、ということを知った時の驚きは非常に痛快だ。これは日常生活では、そうそうに感じられないだろう。あるとすれば、お互いに顔を知らないであろうと思っていた二人の友人が、実は昔からの知り合いだった、くらい。しかし、それが回帰問題といった数学の分野や、地図鑑賞においては、往々にして遭遇できる。これが、二つの分野に共通する面白さであり、魅力でもあると思う。
さらに二つに共通することとして、それを知った次の日の朝からは当たり前にしか見えなくなる、という現象がある。今回の文章は、さも興奮してるかのように書いていたが、正直のところ実際は冷めている。最尤推定法や擬似逆行列は、あくまで最小二乗法の問題を解くための解法セットでしかない。他方で、扇状地を形成する規模の豊平川はそりゃあ流路を変えるだろうし、元の流路に川が残るのも当然といえば当然。
でも、回帰問題でも、地図鑑賞でも、こういった共通する一連の流れが、大好きなのである。