多変量線形回帰モデル y^=xw+b におけるパラメータである重みベクトル w およびバイアス b を、行列演算を用いて最小二乗法により導出する。
変数の定義
扱うデータとパラメータを定義する。
ここで、n∈N はデータ数、m∈N は説明変数の数を表す。
データ
説明変数行列 X と目的変数ベクトル y を以下のように定義する。
Xy=x1x2⋮xn=x11x21⋮xn1x12x22⋮xn2……⋱…x1mx2m⋮xnm∈Rn,m=y1y2⋮yn∈Rn
また、全要素が 1 のベクトル 1 を以下のように定義する。
1=11⋮1∈Rn
パラメータ
推定対象である重みベクトル w とバイアス b を以下のように定義する。
wb=w1w2⋮wm∈Rm∈R
統計量の行列表示
後で式を整理するために、平均、分散共分散行列、共分散ベクトルを行列形式で表現する。
平均 xˉ と yˉ
X は各説明変数ごとに平均を計算する。
xˉyˉ=xˉ1xˉ2⋮xˉm=n1∑i=1nxi1n1∑i=1nxi2⋮n1∑i=1nxim=n1XT1∈Rm=n1i=1∑nyi=n11Ty∈R
分散共分散行列 SXX と共分散ベクトル sXy
SXXsXy=Sx1x1Sx2x1⋮Sxmx1Sx1x2Sx2x2⋮Sxmx2……⋱…Sx1xmSx2xm⋮Sxmxm=n1∑i=1n(xi1−xˉ1)(xi1−xˉ1)n1∑i=1n(xi2−xˉ2)(xi1−xˉ1)⋮n1∑i=1n(xim−xˉm)(xi1−xˉ1)n1∑i=1n(xi1−xˉ1)(xi2−xˉ2)n1∑i=1n(xi2−xˉ2)(xi2−xˉ2)⋮n1∑i=1n(xim−xˉm)(xi2−xˉ2)……⋱…n1∑i=1n(xi1−xˉ1)(xim−xˉm)n1∑i=1n(xi2−xˉ2)(xim−xˉm)⋮n1∑i=1n(xim−xˉm)(xim−xˉm)=n1(XT−xˉ1T)(X−1xˉT)=n1(XTX−XT1xˉT−xˉ1TX+xˉ1T1xˉT)=n1XTX−xˉxˉT−xˉxˉT+xˉxˉT=n1XTX−xˉxˉT∈Rm,m=sx1ysx2y⋮sxmy=n1∑i=1n(xi1−xˉ1)(yi−yˉ)n1∑i=1n(xi2−xˉ2)(yi−yˉ)⋮n1∑i=1n(xim−xˉm)(yi−yˉ)=n1(XT−xˉ1T)(y−1yˉ)=n1(XTy−XT1yˉ−xˉ1Ty+xˉ1T1yˉ)=n1XTy−xˉyˉ−xˉyˉ+xˉyˉ=n1XTy−xˉyˉ∈Rm
目的関数の設定と微分
回帰式は y^=Xw+1b であるので、残差平方和 ϵ は以下のようになる。
この ϵ を最小化する。
ϵ=∣∣y−y^∣∣2=(y−y^)T(y−y^)
ベクトル微分の適用
連鎖律を用いて、各パラメータで偏微分を行う。
重み w による微分
∂w∂ϵ=(∂w∂y^)T∂y^∂ϵ=XT⋅−2(y−y^)=−2XT(y−y^)=−2XT(y−(Xw+1b))=−2XTy+2XTXw+2bXT1
バイアス b による微分
∂b∂ϵ=(∂b∂y^)T∂y^∂ϵ=1T⋅−2(y−y^)=−21T(y−y^)=−21T(y−(Xw+1b))=−21Ty+21TXw+2nb
連鎖率を使わない場合
連鎖律を使わずに代入と展開を行ってから微分を行う方法も示す。
以下の2つのベクトルの微分公式を用いて計算を行う。
∂x∂(cTx)∂x∂(xTAx)=c=(A+AT)x
重み w による微分とバイアス b による微分をそれぞれ計算する。
∂w∂ϵ∂b∂ϵ=∂w∂(y−y^)T(y−y^)=∂w∂(y−(Xw+1b))T(y−(Xw+1b))=∂w∂{(y−1b)−Xw}T{(y−1b)−Xw}=∂w∂{(y−1b)T(y−1b)−(y−1b)TXw−(Xw)T(y−1b)+(Xw)TXw}=∂w∂{(y−1b)T(y−1b)−2(y−1b)TXw+wTXTXw}=0−2XT(y−1b)+2XTXw=−2XTy+2bXT1+2XTXw=∂b∂(y−y^)T(y−y^)=∂b∂{y−(Xw+1b)}T{y−(Xw+1b)}=∂b∂{(y−Xw)−1b}T{(y−Xw)−1b}=∂b∂{(y−Xw)T(y−Xw)−(y−Xw)T1b−(1b)T(y−Xw)+(1b)T1b}=∂b∂{(y−Xw)T(y−Xw)−2b1T(y−Xw)+nb2}=0−21T(y−Xw)+2nb=−21Ty+21TXw+2nb
正規方程式の解法
零ベクトル 0 を以下のように定義する。
0=00⋮0∈Rm
最小値において各微分係数は 0 となるため、以下の連立方程式(正規方程式)を解く。
{∂w∂ϵ=0∂b∂ϵ=0⇔{−2XTy+2XTXw+2bXT1=0−21Ty+21TXw+2nb=0⇔{XTXw+bXT1=XTy1TXw+nb=1Ty⋯(1)⋯(2)
バイアス b の導出
(2) 式より、バイアスは各変数の平均を用いて以下のように表される。
1TXw+nb=1Ty⇔nb=1Ty−1TXw⇔b=n11Ty−n11TXw⇔b=yˉ−xˉTw
重み w の導出
(1) 式に得られた b を代入し、整理する。
XTXw+bXT1=XTy⇔XTXw+(yˉ−xˉTw)XT1=XTy⇔XTXw+yˉXT1−(xˉTw)XT1=XTy⇔XTXw+yˉXT1−XT1xˉTw=XTy⇔(XTX−XT1xˉT)w=XTy−yˉXT1⇔n1(XTX−XT1xˉT)w=n1(XTy−yˉXT1)⇔(n1XTX−xˉxˉT)w=n1XTy−yˉxˉ⇔SXXw=sXy⋯(3)
結論
最小二乗法による最適なパラメータの解は、以下の通りとなる。
ただし、分散共分散行列 SXX が正則であることを前提とする。
{w^=SXX−1sXyb^=yˉ−xˉTw^
ここで、 説明変数と目的変数がそれぞれ中心化されていた場合、すなわち xˉ=0 および yˉ=0 のときを考える。
このとき、 (3) 式は XTXw=XTy となり、この式のほうを正規方程式と呼ぶことが多い。この式を使って最適なパラメータを XTX である前提で求めると以下のようになる。
{w^=(XTX)−1XTyb^=0