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.