Mímisbrunnr知恵の泉

← 機械学習 一覧

🎓 レベル:基礎 | 重要度:A(必須)

📎 前提:学習問題の定式化(仮説・損失・経験リスク) | 数理:単回帰分析(統計)・最尤法・モーメント法(推定量の作り方と最尤推定量の漸近論)(統計)

要点(BLUF)

1. モデルの定式化

nn 個のデータ (xi,yi)(x_i, y_i) を考えます。各 xix_i は pp 次元の特徴ベクトルです。線形回帰は、出力を特徴の線形結合で予測します:

y^i=β0+β1xi1+⋯+βpxip\hat{y}_i = \beta_0 + \beta_1 x_{i1} + \cdots + \beta_p x_{ip}

これを行列でまとめます。切片 β0\beta_0 を吸収するため各行の先頭に 1 を足した 設計行列(design matrix) X∈Rn×(p+1)X \in \mathbb{R}^{n\times(p+1)} を使うと、

y=Xβ+ε,y∈Rn, β∈Rp+1, ε∈Rny = X\beta + \varepsilon,\qquad y\in\mathbb{R}^n,\ \beta\in\mathbb{R}^{p+1},\ \varepsilon\in\mathbb{R}^n

要するに:予測値 y^=Xβ\hat y = X\beta は「XX の各列を β\beta で重み付けして足したもの」。ε\varepsilon はモデルで説明しきれないズレ(誤差項)です。

⚠️ 「線形」とはパラメータ β\beta について線形という意味です。x2x^2 や log⁡x\log x を特徴に入れても、β\beta について線形なら線形回帰のままです(曲線も当てはめられる)。

2. 最小二乗法と正規方程式

良い β\beta とは、予測の二乗誤差の合計(残差平方和, RSS)を最小にするものとします:

L(β)=∑i=1n(yi−xi⊤β)2=∥y−Xβ∥2L(\beta) = \sum_{i=1}^{n}\big(y_i - x_i^\top\beta\big)^2 = \lVert y - X\beta\rVert^2

これを β\beta で微分して 0 と置きます。∥y−Xβ∥2=(y−Xβ)⊤(y−Xβ)\lVert y - X\beta\rVert^2 = (y-X\beta)^\top(y-X\beta) を展開すると

L(β)=y⊤y−2β⊤X⊤y+β⊤X⊤XβL(\beta) = y^\top y - 2\beta^\top X^\top y + \beta^\top X^\top X\beta

勾配を取ると(ベクトル微分の公式 ∂(β⊤Aβ)/∂β=2Aβ\partial(\beta^\top A\beta)/\partial\beta = 2A\beta、A=X⊤XA=X^\top X は対称):

∇βL=−2X⊤y+2X⊤Xβ=0\nabla_\beta L = -2X^\top y + 2X^\top X\beta = 0

これを整理すると 正規方程式(normal equation) が得られます:

X⊤X β^=X⊤y⟹  β^=(X⊤X)−1X⊤y  X^\top X\,\hat\beta = X^\top y \quad\Longrightarrow\quad \boxed{\;\hat\beta = (X^\top X)^{-1}X^\top y\;}

要するに:損失は β\beta の凸な二次関数なので、勾配が 0 になる一点が唯一の最小値。X⊤XX^\top X が正則(=列が一次独立)なら逆行列で一発で解けます。反復計算は不要で、これが線形回帰の大きな利点です。

X⊤XX^\top X が正則であるためには XX の列がフルランク(一次独立)である必要があります。列同士が強く相関すると逆行列が不安定になる——これが多重共線性の問題で、次のノート 重回帰と多重共線性 で扱います。

3. 幾何的意味:列空間への直交射影

正規方程式を X⊤(y−Xβ^)=0X^\top(y - X\hat\beta) = 0 と書き直すと、図形的な意味がはっきりします。

graph TB
    Y["観測ベクトル y"] -->|"直交射影"| YH["予測 ŷ = Xβ̂(列空間内)"]
    Y -->|"残差 e = y − ŷ"| E["e は列空間と直交"]
    YH -->|"残差はここに直交"| E
    SUB["列空間 col(X)(X の列が張る平面)"] --- YH

これは「yy を列空間に下ろした足(最短距離の点)が y^\hat y である」という、最短距離=垂線の足の話そのものです。残差 ee が列空間と直交していなければ、まだ列空間の方向に動かして誤差を減らせる余地があるので、最小ではありません。直交していること自体が最小性の条件になっています。

予測を作る写像 y^=X(X⊤X)−1X⊤y=Hy\hat y = X(X^\top X)^{-1}X^\top y = Hy の行列

H=X(X⊤X)−1X⊤H = X(X^\top X)^{-1}X^\top

は ハット行列(射影行列) と呼ばれ、H2=HH^2 = H(射影なので二度かけても同じ)、H⊤=HH^\top = H(対称)という直交射影の性質を満たします。

要するに:最小二乗法は「観測 yy から、モデルで表現できる空間 col(X)\mathrm{col}(X) に向かって垂線を下ろす」操作です。代数(正規方程式)と幾何(直交射影)は同じ事実の two views です。

4. 確率的解釈:最小二乗=ガウス誤差の最尤推定

ここまでは「二乗誤差を最小にする」という最適化の話でした。実はこの二乗損失には確率モデルの裏付けがあります。

誤差を独立同分布のガウスノイズと仮定します:

εi∼iidN(0,σ2)⟺yi∣xi∼N(xi⊤β, σ2)\varepsilon_i \stackrel{\text{iid}}{\sim} N(0,\sigma^2)\quad\Longleftrightarrow\quad y_i \mid x_i \sim N(x_i^\top\beta,\ \sigma^2)

つまり「各 yiy_i は、真の直線上の値 xi⊤βx_i^\top\beta を中心とした、分散 σ2\sigma^2 の正規分布から出る」と考えます。1 点の尤度(確率密度)は

p(yi∣xi;β,σ2)=12πσ2exp⁡ ⁣(−(yi−xi⊤β)22σ2)p(y_i\mid x_i;\beta,\sigma^2) = \frac{1}{\sqrt{2\pi\sigma^2}}\exp\!\left(-\frac{(y_i - x_i^\top\beta)^2}{2\sigma^2}\right)

独立性より全データの尤度は積になり、対数を取ると(対数尤度):

ℓ(β,σ2)=∑i=1nlog⁡p(yi∣xi)=−n2log⁡(2πσ2)−12σ2∑i=1n(yi−xi⊤β)2\ell(\beta,\sigma^2) = \sum_{i=1}^{n}\log p(y_i\mid x_i) = -\frac{n}{2}\log(2\pi\sigma^2) - \frac{1}{2\sigma^2}\sum_{i=1}^{n}(y_i - x_i^\top\beta)^2

β\beta に関係するのは最後の項だけです。ℓ\ell を β\beta について最大化することは、符号が逆なので

∑i=1n(yi−xi⊤β)2=∥y−Xβ∥2\sum_{i=1}^{n}(y_i - x_i^\top\beta)^2 = \lVert y - X\beta\rVert^2

を最小化することと完全に一致します。これは §2 の最小二乗の損失そのものです。

flowchart LR
    A["誤差を N(0, σ²) と仮定"] --> B["尤度 ∏ p(yi | xi)"]
    B --> C["対数尤度 ℓ(β)"]
    C -->|"β に依存する項だけ残す"| D["最大化 ⇔ Σ(yi − xiᵀβ)² の最小化"]
    D --> E["最小二乗解 β̂ = (XᵀX)⁻¹Xᵀy"]

要するに:最小二乗法は天下りの「便利な損失」ではなく、「誤差が正規分布する」という確率モデルの最尤推定です(→ 統計の 最尤法・モーメント法(推定量の作り方と最尤推定量の漸近論))。だから二乗損失が外れ値に弱いのも、正規分布が裾の薄い分布だから、と理解できます(裾の厚いラプラス分布を仮定すると絶対値損失=中央値回帰になる)。

補足:σ2\sigma^2 を最尤推定すると σ^2=1n∥y−Xβ^∥2\hat\sigma^2 = \frac{1}{n}\lVert y - X\hat\beta\rVert^2(残差の平均二乗)。ただしこれは下方バイアスを持ち、不偏推定では n−(p+1)n-(p+1) で割ります(→ 統計 残差分析・回帰診断)。

5. 前提(古典的線形回帰モデルの仮定)

最小二乗推定量 β^\hat\beta が「良い推定量」であるための古典的仮定は次の通りです。

仮定内容破れると
線形性E[y∣x]=x⊤β\mathbb{E}[y\mid x] = x^\top\beta(パラメータについて線形)バイアス(系統的なズレ)
独立性各標本の誤差が独立(無相関)標準誤差が過小評価
等分散性Var(εi)=σ2\mathrm{Var}(\varepsilon_i) = \sigma^2 で一定(homoscedasticity)推定の効率が落ちる
正規性ε∼N(0,σ2)\varepsilon \sim N(0,\sigma^2)小標本で検定・区間が不正確

ここで効いてくるのが ガウス・マルコフの定理 です:誤差が「平均0・等分散・無相関」(正規性は不要)であれば、最小二乗推定量は 線形不偏推定量の中で最小分散 = BLUE(Best Linear Unbiased Estimator) になります。正規性まで仮定すると、線形に限らずすべての不偏推定量の中で最小分散となり、§4 の最尤推定の最適性とつながります。

要するに:正規性は「点推定 β^\hat\beta の最適性」には不要(等分散・無相関で十分にBLUE)。正規性が効くのは検定・信頼区間などの推測統計の場面です。

⚠️ よくある誤解

対応するシミュレーション

simulations/linear_regression_ols.py:直線っぽいデータに最小二乗法を正規方程式 β=(X⊤X)−1X⊤y\beta=(X^\top X)^{-1}X^\top y で一発で当てはめ、各点の残差(予測と実測の縦のズレ)を可視化します。傾きを変えると残差の二乗和(SSE)が下に凸の放物線を描き、最小二乗の傾きでちょうど底になる=他のどの傾きより誤差が小さいことを示します。なぜ二乗かは誤差が正規分布のときの最尤推定に対応します(統計サイト参照)。

最小二乗(正規方程式)と残差

関連ノート