Skip to content

第1章:データから法則を見抜く線形モデル —— 最小二乗法と線形代数

本章では、入力データから出力データを予測する「回帰問題」を取り上げます。 もっとも基本的な線形回帰モデルを出発点とし、誤差を最小化するための微積分、解析的に解を求めるための線形代数(行列の階数や特異値分解)、そしてパラメータ数がデータ数を上回った際に生じる「ランク落ち」の問題を解決する「正則化(Ridge回帰)」までの数理を体系的に学びます。

1. 線形モデルと最小二乗法

入力 に対して出力 を予測するモデルとして、次のような 次の多項式モデル(線形モデル)を考えます。

ここで、パラメータのベクトルを とし、入力特徴量のベクトルを と定義すると、モデルの予測値はベクトルの内積を用いてシンプルに表せます。

この予測値と実際のデータ とのズレ(誤差)を最小化するため、次のような二乗誤差関数 を定義します。目標は、この を最小にするパラメータ を見つけることです。

誤差関数を最小化するため、各パラメータ で偏微分を行い、勾配を求めます。 合成関数の微分則およびベクトルの微分の公式 を用いると、勾配は次のようにまとまります。

この勾配を用いて、学習率 でパラメータを逐次更新していく手法が勾配法です。

2. 正規方程式の導出

勾配法による反復計算ではなく、微分値が になる点(極小値)を解析的に求めるアプローチを考えます。

これを展開して整理すると、次の方程式が得られます。

ここで、全データ 個分の特徴量ベクトルを並べた の行列 と、出力ベクトル を導入すると、上式は極めて美しい行列表記に帰着します。

これを についての方程式と見たものを正規方程式と呼びます。両辺に左から を掛けることができれば、最適なパラメータ は一意に定まります。

3. 逆行列の存在条件と特異値分解(SVD)

前節で導出した解が計算できるためには、行列 の逆行列が存在しなければなりません。 一般に、 の正方行列 が逆行列を持つための条件(正則である条件)は以下の通りです。

  1. 行列式が0ではない:
  2. 対角化 した際のすべての固有値 が0ではない:
  3. 行列の階数(ランク)がフルランクである:

しかし、機械学習において扱う行列 は、パラメータ数 とデータ数 が異なるため、一般に の「長方行列」になります。 長方行列の性質を調べるための強力な数学的道具が**特異値分解(SVD: Singular Value Decomposition)**です。 長方行列 )は、直交行列 と、非負の特異値 を対角成分に持つ行列 を用いて次のように分解できます。

これを用いると、自身とその転置の積 は次のように展開されます。

は直交行列であるため となり消失します。この形は、正方行列 の固有値分解そのもの()を表しており、固有値 は特異値の二乗 に等しいことがわかります。 また、行列のランクは「非ゼロの特異値の数」に等しく、 という上限が存在します。

4. パラメータ数とデータ数のジレンマ

正規方程式に現れる行列 の正方行列です。この逆行列が存在するためには、 でなければなりません。 行列の積のランクの性質 と、先ほどの を組み合わせると、データ数 とパラメータ数 の関係によって以下の3つのケースが生じます。

  • の場合:パラメータ数とデータ数が一致。フルランクとなり逆行列が存在する。
  • の場合:データが十分に多い。フルランク()になりやすく、安定して逆行列が求まる。
  • の場合:パラメータ数がデータ数より多い。 となり、最大でもランクは までしか上がらない。つまり 行列において少なくとも 個の固有値が0になり、「ランク落ち」を引き起こして逆行列が計算できない(解が定まらない)

現代の機械学習(特に深層学習など)では、パラメータ数 が莫大になるケースが多いため、この③の問題に頻繁に直面します。

Released under the MIT License.