問
多次元入力
x∈RD
と出力
y∈R
を持つ線形回帰モデルは、次のように定義される。
f(x,w)=w0+d=1∑Dwdxd=wTxここで、
w=(w0,w1,…,wD)T
はパラメータベクトル、
x=(1,x1,…,xD)T
は入力ベクトルである。
N
個の入出力サンプル
xn,yn(n=1,…,N)
が与えられたとき、二乗誤差を最小化する最適な
w
を求めよ。
ただし、二乗誤差
J(w)
は、次のように定義される。
J(w)=21n=1∑N{f(xn,w)−yn}2=21(Xw−y)T(Xw−y)ここで、出力データ
y=(y1,…,yN)T
であり、入力データ行列
X
は
X=x1Tx2T⋮xNT=11⋮1x11x21⋮xN1⋯⋯⋱⋯x1Dx2D⋮xNDである。
解答
便宜上、行列
X
の添字を以下のように表す。
X=x10x20⋮xN0x11x21⋮xN1⋯⋯⋱⋯x1Dx2D⋮xND=11⋮1x11x21⋮xN1⋯⋯⋱⋯x1Dx2D⋮xND誤差を最小化する
w
を求めるためには、各
w
に関して次の連立方程式を解く必要がある。
∂w∂J(w)=(0,…,0)Tゆえに、
==∂w∂J(w)=∂w∂[21(Xw−y)T(Xw−y)](∂w0∂[21(Xw−y)T(Xw−y)],…,∂wD∂[21(Xw−y)T(Xw−y)])T(i=1∑Nxi0(j=0∑Dwjxij−yi),…,i=1∑NxiD(j=0∑Dwjxij−yi))T=(0,…,0)Tしたがって、
∑i=1Nxi0(∑j=0Dwjxij)⋮∑i=1NxiD(∑j=0Dwjxij)=∑i=1Nxi0yi⋮∑i=1NxiDyiこれを行列形式で表すと、
x10⋮x1D⋯⋱⋯xN0⋮xNDx10⋮xN0⋯⋱⋯x1D⋮xNDw0⋮wD=x10⋮x1D⋯⋱⋯xN0⋮xNDy1⋮yNすなわち、
XTXw=XTyよって、最適なパラメータは
w=(XTX)−1XTyと求まる。