回帰モデルの基本である線形回帰モデルを取り扱う。
線形回帰モデル
データセット
D={(x1,y1),(x2,y2),⋯,(xd,yd)}
に含まれる x∈X と y∈R の関係が、
fw(x)=i=1∑nwixi=xTw
を用いて、
y=fw(x)+ε
によって与えられていると仮定する。このようなモデルを線形回帰モデル (linear regression model) という。
パラメータ
線形回帰モデルには具体的に値が定まっていない定数 w が含まれており、w に値が与えられることで入出力関係 fw:X→R が一意に定まるようになっている。このようなとき、定数 w をパラメータ (parameter) あるいは母数などという。
線形回帰モデルを学習する (learn) または訓練する (train) という場合には、「パラメータ w をデータ D および何らかの知識に基づいて推定する」ことを指す。以降、w の推定量を w^ と表すことにする。
w^:=estimate(w)
残差
確率変数 ε は、モデル fw を用いて評価された fw(x) の値と、実際に観測された出力 y の差を表す確率変数であり、ノイズ (noise) とか残差 (residual) とか呼ばれる。ノイズを付加する理由は次の2つである。
-
入出力関係を完璧に表現することは不可能であり、予測結果には常に不正確さがつきまとうため
-
入出力データが完全に正確であるという保証が与えられない場合も多く、データを完全に信頼することは不自然であるため
典型的には、正規分布に従う確率変数を仮定する場合が多い。
ε∼N(ε∣0,σ2)
残差 ε は y−xTw で表されるから、次のように変形することができる。
N(ε∣0,σ2)=∝∝N(y−xTw∣0,σ2)exp(−2σ21(y−xTw)2)N(y∣xTw,σ2)
このことは、入力 x および パラメータ w が定まったとき、出力 y は正規分布に従うことを意味する。
p(y∣x,w)=N(y∣xTw,σ2)
尤度関数
データセット D の中身を次のように配列としてまとめる。
yX:=y1y2⋮yd:=x1Tx2T⋮xdT=x11x21⋮xd1x12x22⋮xd2⋯⋯⋱⋯x1nx2n⋮xdn∈Rd∈Rd×n
すると、D 内のすべての入出力の組をまとめて次のように書くことができる。
y∼p(y∣X,w)
さらに各回の試行 yi∼p(yi∣xi,w) が独立であると仮定すると、次のように変形できる。
p(y∣X,w)==∝==i=1∏dp(yi∣xi,w)i=1∏dN(yi∣f(x∣w),σ2)i=1∏dexp(−2σ21(yi−f(x∣w))2)exp(−2σ21i=1∑d(yi−xTw)2)exp(−2σ21∥y−Xw∥22)
この p(y∣X,w) を w についての関数と捉えた場合「X と y が得られたときのパラメータ w の尤もらしさ」を表す関数と解釈できる。そこで p(y∣X,w) を w の尤度関数 (likelihood function) という。
多変量正規分布
多変量正規分布 (multivariate normal distribution) と呼ばれる同時確率分布を導入する。確率密度関数は次式で与えられる。
Nd(x∣m,V)=(2π)ddetV1exp(−21(x−m)TV−1(x−m))
パラメータ m は平均ベクトルと呼ばれる d 次元ベクトルで、V は共分散行列と呼ばれる d×d 半正定値行列である。V の (i,j) 要素は xi と xj の共分散を表す。
xmV∈∈∈RdRdRd×d∀x∈Rd,xTVx≥0
もしも共分散行列が V=σ2Id ならば、次のことが成り立つ。
Nd(x∣m,σ2I)====(2π)ddet(σ2Id)1exp(−21(x−m)T(σ2I)−1(x−m))(2πσ2)d1exp(−2σ21∥x−m∥22)i=1∏d2πσ21exp(−2σ21(xi−mi)2)i=1∏dN(xi∣mi,σ2)
このことを用いれば、本記事の線形モデルの尤度関数は次のようにも表現できる。
p(y∣X,w)==i=1∏dN(yi∣xiTw,σ2)Nd(y∣Xw,σ2Id)
確率モデルとしての解釈
あるパラメータ θ が存在して、それを元にデータ D が生成されるという状況を考えよう。これを次のように表す。
D∼p(D∣θ)
記号∼は、その右辺に従うように左辺の量が生成されることを意味する。
以上のようなモデルを生成モデルという。
線形回帰モデルの場合、生成されるデータは出力データ y、パラメータは入力データ X および母数 w である。
y∼p(y∣X,w)
このうち、入力データ X はあとから人間が与える量であるため、モデルは母数 w を推定しさえすればよいということになる。
実用上は入力 X と出力 y をまとめて「データセット」と呼び、D={X,y} などと表記することが多い。
そこで、X がバーの左側に存在する場合、とにかくそいつを右側に移動したものとして考えよう。より正確には、生成モデル p(D∣θ) に含まれる「D∣」の部分を、形式的に「y∣X」に置き換えたものとして考える。
たとえば
p(D2∣D1)→p(y2∣X2,X1,y1)
といった具合。以降、このような生成モデルを特に回帰モデルと呼ぶことにする。