線形代数 · 第14回 · 動画3 · インタラクティブ教材

直線が通らないなら ― 射影で求める最小二乗の直線

I重要な公式

公式 名称 説明
ATAx^=ATbA^T A \hat{x} = A^T b 正規方程式 解けない Ax=bAx = b を、解ける正方の連立方程式に変える
p=Ax^p = A\hat{x} 射影 AA の列空間の中で bb に最も近い点
e=b−Ax^e = b - A\hat{x} 誤差ベクトル 列空間に垂直:ATe=0A^T e = 0
∥e∥2=∑(bi−pi)2\lVert e \rVert^2 = \sum (b_i - p_i)^2 二乗誤差 最小二乗法が最小にする量

II可視化1 — 二乗誤差を最小にする

3点すべてを通る直線はありません。最小二乗法は、二乗誤差の総和が最も小さい直線を選びます。

💡 直線 b=tb = t は2つの点をぴったり通りますが、二乗誤差の総和は 11 です。最良近似直線は、どの点でも少しずつ誤差を受け入れるかわりに、総和をはるかに小さい 16\tfrac{1}{6} に抑えます。

III可視化2 — 射影で誤差が垂直になる

列空間への bb の射影は、誤差が列空間に垂直になるただ1つの点です。

💡 動画の3次元の場合も、同じ判定が成り立ちます。b=(1,2,2)b = (1,2,2) を (1,1,1)(1,1,1) と (1,2,3)(1,2,3) で張られる平面に射影すると、誤差は ATe=0A^T e = 0 を満たします。

IV可視化3 — データが最良の当てはめをどう変えるか

データ点を動かすと、正規方程式が当てはめを計算し直します。それでも ATAA^TA は変わりません。

AᵀA = [[3, 6], [6, 14]] (固定)

💡 残差の和がいつも 0 になるのは、AA のすべて 1 の列のために、誤差がその列の方向の成分をもてないからです。平均のずれは切片が吸収します。

V確認クイズ

問1

データ点 (1,1)(1,1)、(2,2)(2,2)、(3,2)(3,2) とモデル b=C+Dtb = C + Dt に対して、計画行列は A=[111213].A = \begin{bmatrix} 1 & 1 \\ 1 & 2 \\ 1 & 3 \end{bmatrix}. です。ATAA^T A はどれですか。

✅ 正解です! 左上の成分はすべて 1 の列の二乗和(12+12+12=31^2+1^2+1^2=3)、右下の成分は tt の列の二乗和(12+22+32=141^2+2^2+3^2=14)です。

❌ 惜しい! ATAA^T A の (i,j)(i,j) 成分は、AA の第 ii 列と第 jj 列の内積です。各成分を丁寧に計算し直してみましょう。

解答を見る

解答:

ATA=[111123][111213]A^T A = \begin{bmatrix} 1 & 1 & 1 \\ 1 & 2 & 3 \end{bmatrix} \begin{bmatrix} 1 & 1 \\ 1 & 2 \\ 1 & 3 \end{bmatrix}

  • (1,1)(1,1) 成分:1(1)+1(1)+1(1)=31(1) + 1(1) + 1(1) = 3
  • (1,2)(1,2) 成分:1(1)+1(2)+1(3)=61(1) + 1(2) + 1(3) = 6
  • (2,1)(2,1) 成分:1(1)+2(1)+3(1)=61(1) + 2(1) + 3(1) = 6
  • (2,2)(2,2) 成分:1(1)+2(2)+3(3)=1+4+9=141(1) + 2(2) + 3(3) = 1 + 4 + 9 = 14

ATA=[36614]A^T A = \begin{bmatrix} 3 & 6 \\ 6 & 14 \end{bmatrix}

問2

正しいか誤りか:連立方程式 Ax=bAx = b が優決定(未知数より方程式が多い)ならば、最小二乗の誤差ベクトル e=b−Ax^e = b - A\hat{x} はいつも零ベクトルである。

✅ 正解です! 優決定な連立方程式には一般に厳密な解がないので、e≠0e \neq 0 です。誤差は、bb が AA の列空間からどれだけ離れているかを測っています。

❌ 惜しい! もし e=0e = 0 なら、Ax^=bA\hat{x} = b が厳密に成り立ちます。でも、厳密な解はないという前提でした!「優決定」が幾何学的に何を意味するかを考えてみましょう。

解答を見る

解答:誤り。

そもそも最小二乗法が必要になるのは、連立方程式が優決定のとき、bb がふつう AA の列空間の中にないからです。もし ee が零ベクトルなら Ax^=bA\hat{x} = b が厳密に成り立つことになり、連立方程式に厳密な解がないという事実に矛盾します。

この例では、e=(−16,  13,  −16)T≠0e = \left(-\frac{1}{6},\; \frac{1}{3},\; -\frac{1}{6}\right)^T \neq 0 です。

誤差が零になるのは、優決定な連立方程式がたまたま解をもつ(すべての方程式を同時に満たせる)特別な場合だけです。

問3

点 (1,1)(1,1)、(2,2)(2,2)、(3,2)(3,2) に対する最良近似直線 b=23+12tb = \frac{2}{3} + \frac{1}{2}t について、二乗誤差の総和 ∥e∥2\lVert e \rVert^2 はいくつですか。

ヒント:各 tt での予測値を計算し、それぞれの残差を求め、2乗して足し合わせましょう。

✅ 正解です! 二乗誤差の総和の最小値は 1/6≈0.1671/6 \approx 0.167 です。この3点に対して、これより小さくできる直線はありません。

❌ 惜しい! まず各点での予測値を計算しましょう。t=1t=1 では b^=2/3+1/2=7/6≈1.167\hat{b} = 2/3 + 1/2 = 7/6 \approx 1.167 です。次にそれぞれの残差(実際の値から予測値を引いたもの)を求め、2乗して足し合わせます。

解答を見る

解答:

各データ点での予測値と残差を計算します:

tt 実際の bb 予測値 b^=23+12t\hat{b} = \frac{2}{3} + \frac{1}{2}t 残差 ee e2e^2
1 1 23+12=76\frac{2}{3} + \frac{1}{2} = \frac{7}{6} 1−76=−161 - \frac{7}{6} = -\frac{1}{6} 136\frac{1}{36}
2 2 23+1=53\frac{2}{3} + 1 = \frac{5}{3} 2−53=+132 - \frac{5}{3} = +\frac{1}{3} 19=436\frac{1}{9} = \frac{4}{36}
3 2 23+32=136\frac{2}{3} + \frac{3}{2} = \frac{13}{6} 2−136=−162 - \frac{13}{6} = -\frac{1}{6} 136\frac{1}{36}

∥e∥2=136+436+136=636=16\lVert e \rVert^2 = \frac{1}{36} + \frac{4}{36} + \frac{1}{36} = \frac{6}{36} = \frac{1}{6}

問4

t=1,2,3t = 1, 2, 3 のデータに放物線 b=C+Dt+Et2b = C + Dt + Et^2 を当てはめるとき、計画行列 AA はどうなりますか。

各行が1つのデータ点に、各列が1つの未知の係数に対応します。

✅ 正解です! モデルに項を1つ加えるたびに、AA に列が1本加わります。切片にはすべて 1 の列、1次の項には tt、2次の項には t2t^2 です。このレシピは、項がいくつあっても同じように使えます。

❌ 惜しい! 各行が1つのデータ点です。各列には、その点の tt の値で評価した 11、tt、t2t^2 の値が入ります。

解答を見る

解答:

モデル b=C+Dt+Et2b = C + Dt + Et^2 に、各データ点の tt の値を代入します:

  • t=1t = 1: C(1)+D(1)+E(12)=C+D+EC(1) + D(1) + E(1^2) = C + D + E → 行 [1,  1,  1][1,\; 1,\; 1]
  • t=2t = 2: C(1)+D(2)+E(22)=C+2D+4EC(1) + D(2) + E(2^2) = C + 2D + 4E → 行 [1,  2,  4][1,\; 2,\; 4]
  • t=3t = 3: C(1)+D(3)+E(32)=C+3D+9EC(1) + D(3) + E(3^2) = C + 3D + 9E → 行 [1,  3,  9][1,\; 3,\; 9]

A=[111124139]A = \begin{bmatrix} 1 & 1 & 1 \\ 1 & 2 & 4 \\ 1 & 3 & 9 \end{bmatrix}

1列目 = すべて 1(切片)、2列目 = tt の値(1次)、3列目 = t2t^2 の値(2次)。

方程式が3本、未知数が3つなので、この連立方程式は正方です。(AA が可逆なら)厳密な解をもち、放物線は3点すべてを通ります!

正解数:0 / 4