テデトクログイン

← コースに戻る

回帰 — 最小二乗をML視点で握り直す

線形代数の第8章と統計の第10章で、あなたはすでに最小二乗法に触れています。ここではその同じ計算を、機械学習の言葉で握り直します。式は増えません。名前と見え方が変わるだけです。

触ってみる — 残差と、その二乗和

橙の点をドラッグすると、青い最小二乗直線と赤い残差が追従します。これは線形代数第8章で見た図そのものです。

y = 0.83x + 0.12 残差²の合計 = 0.01(直線はこれを最小にする1本)

予測は y^=wx+b\hat{y} = w x + b。各点の縦のずれ(残差)yiy^iy_i - \hat{y}_i を二乗して足したものが損失です。

L(w,b)=i(yi(wxi+b))2L(w, b) = \sum_{i} \bigl(y_i - (w x_i + b)\bigr)^2

なぜ二乗か。符号を消して(上振れも下振れも罰する)、なめらかで微分しやすい形にするためです。絶対値でも符号は消せますが、折れ曲がる分だけ最適化が扱いにくくなります。

損失地形をはじめて描く

パラメータが wwbb の2つになりました。横軸 ww・縦軸 bb の平面に損失を高さとして描き、上から見たのが損失地形の等高線です。

損失 SSE(w, b) = 26.820 谷底の旗 ⚑ = (2.01, -0.03)

横軸 w・縦軸 b の平面に損失を等高線で描いた「損失地形」。谷が細長いのは、傾きと切片で損失の敏感さが違うから。

つまみを動かすと、椀型の谷を上から覗いている感覚がつかめます。谷底の旗が最小二乗解です。谷が細長いのは、傾きと切片で損失の敏感さが違うから — この「細長さ」が第5章の勾配降下で効いてきます。

種明かし — 同じ式の3つの顔

この最小二乗解には、あなたが別々のコースで出会った3つの顔があります。行列で書くと、

w^=(XX)1Xy\hat{w} = (X^\top X)^{-1} X^\top y

(XX)1X(X^\top X)^{-1}X^\top という1つの式が、射影行列でもあり、推定量でもあり、学習の答えでもある。分野が違うと名前が変わるだけで、中身は同じ計算です。

そして重要なのは、この式が閉じた形で一発で解けること。行列の逆が計算できる限り、坂を下る必要はありません。これが「解ける回帰」と、次章以降の「解けないので下って探すモデル」の分かれ目です。

試してみよう

理解チェック

逆行列 (XX)1(X^\top X)^{-1} が計算できないのはどんなとき?

特徴量が1次従属のとき(例えば同じ列が2つある、データ点が足りない)です。XXX^\top X が正則でなくなり、解が一意に定まりません。第8章の正則化(リッジ回帰)は、まさにこの不安定さに罰則を足して安定させる処方でもあります。

操作チャレンジ

1 / 3

傾き w と切片 b を動かして、残差二乗和を 0.5 未満にしてください。これが最小二乗解です。

残差二乗和 = 21.870(正規方程式の解に一致させる)