線形モデル、線形回帰のお話
PRML(ぷるぷるむるむる)の線形回帰モデルのお話をします。 エビデンスのお話は他の記事に譲る予定です。
記号の導入
ベクトルと内積
を1以上の整数, を 次元ベクトル空間の要素とする.
このとき, と に対して を標準的な内積と定義する:
内積は と記述できる. ここで は の転置を表す:
やりたいこと
下記のように 次元空間の要素と実数の組 (データ) の集合が与えられたとする.
このとき, に対して を入力変数, を目標変数と呼ぶことにする.
ただし, 入力変数 は
という形をしているとする.
各々の要素が という関係で与えられているとする. 我々が興味を持つのはこの関係を に属さない入力変数に相当する が与えられたとき, 対応する目標変数の値 がどのようになるかを予測し、データ全体の構造 (母集団) を推定することである. ここでは我々は の形が重みベクトル を用いて
のように記述できるモデル(枠組み)で議論をする. このモデルを線形モデルと呼び, このモデルによる推定を線形回帰と呼ぶ.これは 側の値を固定した時に は に関して線形だからである.
基底関数を用いた線形モデル
入力変数 は関数として一次独立な関数 が与えられたとき,
という形をしていても良い. ただし, は となる定数関数とする. この場合の線形モデルは
となる. 例えば, のように の 乗を出力する関数だとすると, これらは関数として一次独立であり
となる. この場合, 線形回帰モデルは を を係数とする の多項式にで近似する問題になる.
このように多項式近似の問題を線形モデルの回帰問題として扱うことができる.
他にも互いに異なる に対して定まるガウス分布と同じ形をするガウス基底関数
や logistic sigmoid 関数 を用いた sigmoid 関数
などもある(らしい).
尤度最大化による重みパラメータの推定
ここでは, のデータからなるデータ集合
から線形モデルのパラメータである重みベクトル を推定していく. データ には という関係を持っているとした現実問題として観測データに当たる目標変数にはノイズ・雑音 が混ざっていることが多い.
このとき が導入されることで一見複雑に見えてしまう.しかしこれを逆手に取り, データ集合 に対する尤度を計算することで最尤推定法によって重みベクトル をすることができる. ノイズ がある種の確率分布にしたがった値をとるものと仮定する. これは言い換えるとデータの真の観測値(理想的な観測値)と線形モデルの差がその確率分布に従うということになる. 以下, ノイズが (データとは独立に) 平均 , 分散が の正規分布 に従うとしよう. これを と書くことにすれば.
と見做すことが出来る. 上述の正規分布 に対応する確率密度関数
を用いて の尤度(likehood) を計算すると
となる. これを の函数 とみなし尤度を最大にする を計算する(最尤推定法):
ここで対数函数が単調増加であることを利用して の対数尤度の計算に帰着している:
ここまででわかったこと
正規分布の雑音を持つと仮定した線形モデルにおいて最尤推定法による線形回帰の計算は下記の損失函数を
最小にする を求めることに帰着される:
ここから示していくこと
ここで は次で与えられる 行 列の行列である:
また,
計算の方針
まず, が内積を用いて次のように変形できることに注意しよう:
このように変形したのちに の勾配を計算することになる:
Lemma
- ベクトル に依存しない定数ベクトル に対して
これは
ということから明らか.
- 内積の性質:次が成り立つ:
これは次のようにして確かめられる:
ベクトル値函数 に対して次が成り立つ:
特に の場合,
および
を利用することで
がわかる。
以上の計算から
この値が 0 であることを要請し について解くと
がわかる.これを正規方程式と呼ぶ.
ノイズの分散の推定
対数尤度
を の函数として尤度の最大化を図った. 尤度には二乗誤差の式とは独立にノイズの標準偏差を表す がある とおくと
この値が 0 であることを要請して について解くと,