16  Alt-Uzaylara Projeksiyon

Hatayı dik yap — normal denklemler ve P matrisi

NotBölüm bilgisi

16.1 Bu Derste Ne Var?

  1. Doğruya projeksiyon: \(\mathbf{p} = \frac{\mathbf{a}^T \mathbf{b}}{\mathbf{a}^T \mathbf{a}} \mathbf{a}\).
  2. Projeksiyon matrisi \(P = \mathbf{a}\mathbf{a}^T / \mathbf{a}^T \mathbf{a}\)\(P^T = P\), \(P^2 = P\).
  3. Alt-uzaya projeksiyonnormal denklemler \(A^T A \hat{\mathbf{x}} = A^T \mathbf{b}\).
  4. Uygulama: noktalara doğru fitleme.

“A transpose A x hat equals A transpose b. That’s the central equation of the subject.” — Strang, 27:52

flowchart LR
    AB["A·x = b çözümsüz<br/>(b ∉ C(A))"] --> PROJ["Dik izdüşüm:<br/>p = b'nin C(A) izdüşümü<br/>e = b - p ⊥ C(A)"]
    PROJ --> NE["⭐ AᵀAx̂ = Aᵀb<br/>(normal denklemler)"]
    NE --> SOL["x̂ = (AᵀA)⁻¹Aᵀb<br/>p = Ax̂<br/>P = A(AᵀA)⁻¹Aᵀ"]
    SOL --> ML["Lineer regresyon<br/>hat matrix, MSE"]

    NE --> PROPS["P² = P (idempotent)<br/>Pᵀ = P (simetrik)"]

    style NE fill:#fff3e0,stroke:#e67e22,stroke-width:3px
    style ML fill:#fce4ec,stroke:#c2185b,stroke-width:2px
flowchart LR
    AB["A·x = b çözümsüz<br/>(b ∉ C(A))"] --> PROJ["Dik izdüşüm:<br/>p = b'nin C(A) izdüşümü<br/>e = b - p ⊥ C(A)"]
    PROJ --> NE["⭐ AᵀAx̂ = Aᵀb<br/>(normal denklemler)"]
    NE --> SOL["x̂ = (AᵀA)⁻¹Aᵀb<br/>p = Ax̂<br/>P = A(AᵀA)⁻¹Aᵀ"]
    SOL --> ML["Lineer regresyon<br/>hat matrix, MSE"]

    NE --> PROPS["P² = P (idempotent)<br/>Pᵀ = P (simetrik)"]

    style NE fill:#fff3e0,stroke:#e67e22,stroke-width:3px
    style ML fill:#fce4ec,stroke:#c2185b,stroke-width:2px
Şekil 16.1: Çözümsüz Ax = b → b’yi C(A)’ya dik izdüşür → normal denklemler → P matrisi.
İpucuBuilder Notu — Projeksiyon = ML’in En Aza İndirme Geometrisi
  • Normal denklemler = lineer regresyonun kapalı-form.
  • \(P\) = hat matrix istatistikte: \(\hat{\mathbf{y}} = P\mathbf{b}\); köşegen = leverage, \(\text{tr}(P) = \text{rank}\).
  • \(\mathbf{e} \perp C(A)\) = artıkların özelliği; MSE kaybının kapalı-form ve dik geometrisinin sebebi.
  • Rank-1 projeksiyon = bir embedding’i tek yöne projeleme (activation steering, concept erasure).

16.2 Doğruya Projeksiyon

\(\mathbf{b}\) vektörünü \(\mathbf{a}\) doğrultusuna izdüşür: \(\mathbf{p} = x \mathbf{a}\). Hata \(\mathbf{e} = \mathbf{b} - x\mathbf{a}\), \(\mathbf{a}\)’ya dik olmalı:

\[ \mathbf{a}^T (\mathbf{b} - x \mathbf{a}) = 0 \implies x = \frac{\mathbf{a}^T \mathbf{b}}{\mathbf{a}^T \mathbf{a}}, \quad \mathbf{p} = \mathbf{a} \frac{\mathbf{a}^T \mathbf{b}}{\mathbf{a}^T \mathbf{a}} \]

“The key to everything is that perpendicular.” — Strang, 3:17

Sezgi: \(\mathbf{b}\)\(2\mathbf{b}\)\(\mathbf{p} \to 2\mathbf{p}\). \(\mathbf{a} \to 2\mathbf{a}\)\(\mathbf{p}\) değişmez (doğru aynı).

import numpy as np
import matplotlib.pyplot as plt

a = np.array([3, 1])
b = np.array([1, 2])
x = (a @ b) / (a @ a)
p = x * a
e = b - p

fig, ax = plt.subplots(figsize=(8, 6))

# a doğrusu
t = np.linspace(-0.5, 2.5, 100)
ax.plot(t * a[0] / np.linalg.norm(a) * 3, t * a[1] / np.linalg.norm(a) * 3,
        color='#1f4e79', linewidth=1.5, alpha=0.5, label='a doğrusu')

ax.annotate('', xy=a, xytext=(0,0),
            arrowprops=dict(arrowstyle='->', color='#1f4e79', lw=2.5))
ax.text(a[0]+0.1, a[1]-0.2, r'$\mathbf{a}$', fontsize=14, color='#1f4e79', fontweight='bold')

ax.annotate('', xy=b, xytext=(0,0),
            arrowprops=dict(arrowstyle='->', color='#8a1538', lw=2.5))
ax.text(b[0]-0.4, b[1]+0.1, r'$\mathbf{b}$', fontsize=14, color='#8a1538', fontweight='bold')

ax.annotate('', xy=p, xytext=(0,0),
            arrowprops=dict(arrowstyle='->', color='#e67e22', lw=3))
ax.text(p[0]+0.1, p[1]-0.3, r'$\mathbf{p}$', fontsize=14, color='#e67e22', fontweight='bold')

ax.annotate('', xy=b, xytext=p,
            arrowprops=dict(arrowstyle='->', color='#16a34a', lw=2.5, linestyle='--'))
ax.text((p[0]+b[0])/2+0.1, (p[1]+b[1])/2, r'$\mathbf{e}$', fontsize=14, color='#16a34a', fontweight='bold')

ax.axhline(0, color='#cbd5e0', lw=0.5)
ax.axvline(0, color='#cbd5e0', lw=0.5)
ax.set_aspect('equal'); ax.grid(alpha=0.3)
ax.set_xlim(-0.5, 4); ax.set_ylim(-0.5, 3)
ax.set_title(r'$\mathbf{p} = \frac{\mathbf{a}^T \mathbf{b}}{\mathbf{a}^T \mathbf{a}} \mathbf{a}$,  $\mathbf{e} = \mathbf{b} - \mathbf{p} \perp \mathbf{a}$', fontsize=12)
plt.tight_layout()
plt.show()

print(f"x = {x:.4f}, a^T·e = {a @ e:.6f}")
Şekil 16.2

16.3 Projeksiyon Matrisi P (1-D)

\[ \mathbf{p} = \underbrace{\frac{\mathbf{a}\mathbf{a}^T}{\mathbf{a}^T \mathbf{a}}}_{P} \mathbf{b} \]

\(\mathbf{a}\mathbf{a}^T\) = matris (\(n \times n\)); \(\mathbf{a}^T \mathbf{a}\) = sayı. Sadeleşmez!

Özellikleri:

  • \(C(P)\) = \(\mathbf{a}\) doğrusu.
  • Rank 1 (kolon × satır).

16.4 İki İmza Özelliği — \(P^T = P\), \(P^2 = P\)

Simetrik: \(P^T = (\mathbf{a}\mathbf{a}^T / \mathbf{a}^T \mathbf{a})^T = P\).

İdempotent: \(P^2 = P\). Sezgi: ikinci kez izdüşürürsen zaten oradasın.

“P transpose equals P … P squared equals P.” — Strang, 13:18

Bu iki özellik bir matrisin projeksiyon matrisi olduğunu karakterize eder.

16.5 Çözümsüz Ax = b → Projeksiyon

\(A\mathbf{x}\) hep \(C(A)\)’da; \(\mathbf{b}\) değilse → \(\mathbf{b}\)’nin \(C(A)\)’ya en yakın noktasını al = \(\mathbf{p}\):

\[ A\hat{\mathbf{x}} = \mathbf{p} \]

\(\hat{\mathbf{x}}\) = en iyi yaklaşım, gerçek çözüm değil.

Builder Notu: Bu denetimli öğrenmenin özü: hedef \(\mathbf{b}\) modelin uzayında yok → en iyi yaklaşım. Kayıp minimize = dik projeksiyon.

16.6 Alt-Uzaya Projeksiyon — Normal Denklemler

\(\mathbf{p} = A\hat{\mathbf{x}}\). Hata \(\mathbf{e} = \mathbf{b} - A\hat{\mathbf{x}}\) kolon uzayına dik → her kolona dik:

\[ A^T (\mathbf{b} - A\hat{\mathbf{x}}) = \mathbf{0} \implies \boxed{A^T A \hat{\mathbf{x}} = A^T \mathbf{b}} \]

Normal denklemler — bölümün merkez denklemi.

Bağlantı: \(\mathbf{e} \in N(A^T)\) (Ders 14 sol null) ⟺ \(\mathbf{e} \perp C(A)\). Teori kendini doğruluyor.

16.7 Üç Formül

\[ \hat{\mathbf{x}} = (A^T A)^{-1} A^T \mathbf{b}, \quad \mathbf{p} = A\hat{\mathbf{x}} = A(A^T A)^{-1} A^T \mathbf{b}, \quad P = A(A^T A)^{-1} A^T \]

Tuzak: \(P = A A^{-1} (A^T)^{-1} A^T = I\) diye sadeleştiremezsin! Çünkü \(A\) kare değil.

16.8 A Kare ise P = I

\(A\) kare ve tersinir → \(C(A) = \mathbb{R}^n\) → her \(\mathbf{b}\) zaten kolon uzayında → \(P = I\).

\[ P = A(A^T A)^{-1} A^T = A A^{-1} (A^T)^{-1} A^T = I \]

(Burada ayrıştırma geçerli; \(A\) tersinir.)

Builder Notu: \(P\) istatistikte “hat matrix” \(H\): \(\hat{\mathbf{y}} = H\mathbf{y}\). Köşegen = leverage; \(\text{tr}(P) = \text{rank}\) = parametre sayısı = modelin serbestlik derecesi.

16.9 Doğru Fitleme — Sayısal Örnek

Noktalar \((t, b) = (1, 1), (2, 2), (3, 2)\). Doğru: \(b = C + Dt\).

\[ A = \begin{pmatrix} 1 & 1 \\ 1 & 2 \\ 1 & 3 \end{pmatrix}, \quad \mathbf{x} = \begin{pmatrix} C \\ D \end{pmatrix}, \quad \mathbf{b} = \begin{pmatrix} 1 \\ 2 \\ 2 \end{pmatrix} \]

3 denklem, 2 bilinmeyen → çözümsüz. Normal denklemler:

\[ A^T A = \begin{pmatrix} 3 & 6 \\ 6 & 14 \end{pmatrix}, \quad A^T \mathbf{b} = \begin{pmatrix} 5 \\ 11 \end{pmatrix} \]

Sayısal çözüm \(C = 2/3\), \(D = 1/2\) (Ders 16’da tamamlanır).

import numpy as np

A = np.array([[1, 1], [1, 2], [1, 3]], dtype=float)
b = np.array([1, 2, 2], dtype=float)

AtA = A.T @ A
Atb = A.T @ b
x_hat = np.linalg.solve(AtA, Atb)
print(f"C = {x_hat[0]:.4f}, D = {x_hat[1]:.4f}")

P = A @ np.linalg.inv(AtA) @ A.T
print(f"P² = P? {np.allclose(P @ P, P)}")
print(f"Pᵀ = P? {np.allclose(P, P.T)}")
print(f"tr(P) = {np.trace(P):.2f} = rank(A) = {np.linalg.matrix_rank(A)}")

e = b - A @ x_hat
print(f"Aᵀe ≈ 0? {np.allclose(A.T @ e, 0)}")

16.10 Least Squares Geometrisi

Hata \(e_i = b_i - (C + D t_i)\). Minimize:

\[ \|\mathbf{e}\|^2 = \sum e_i^2 = \|\mathbf{b} - A\mathbf{x}\|^2 \]

İki bakış:

  • Cebirsel: \(\|\mathbf{b} - A\mathbf{x}\|^2\) türev = 0 → normal denklemler.
  • Geometrik: \(\mathbf{b}\)’yi \(C(A)\)’ya dik izdüşür; en kısa hata diktir.

İkisi de aynı denklemlere çıkar — least squares = dik projeksiyon.

Builder Notu: Kare hata (MSE) dik projeksiyon → temiz kapalı-form. L1, Huber farklı geometriler verir, iteratif çözüm gerekir.

16.11 Bu Dersin Özeti

  1. Doğruya projeksiyon (\(\mathbf{e} \perp \mathbf{a}\)).
  2. \(P_{1D} = \mathbf{a}\mathbf{a}^T / \mathbf{a}^T\mathbf{a}\), rank 1.
  3. \(P^T = P, P^2 = P\).
  4. Çözümsüz Ax = b → en yakın \(\mathbf{p}\).
  5. Alt-uzaya projeksiyon: \(\mathbf{e} \perp C(A)\).
  6. Normal denklemler \(A^T A \hat{\mathbf{x}} = A^T \mathbf{b}\).
  7. Üç formül.
  8. A kare → \(P = I\).
  9. Doğru fitleme.
  10. Least squares = dik projeksiyon.
ÖnemliTek bir cümle

Projeksiyon = hatayı alt-uzaya dik yapmak; normal denklemler \(A^T A \hat{\mathbf{x}} = A^T \mathbf{b}\); \(P = A(A^T A)^{-1} A^T\) (idempotent + simetrik) — çözümsüz \(A\mathbf{x} = \mathbf{b}\)’yi least squares ile çözmenin tam reçetesi.

16.12 Kontrol Soruları

\(x = \frac{1 + 2 + 2}{1 + 4 + 4} = \frac{5}{9}\), \(\mathbf{p} = \frac{5}{9}(1, 2, 2) = (\frac{5}{9}, \frac{10}{9}, \frac{10}{9})\).

\(\mathbf{e} = (4/9, -1/9, -1/9)\). \(\mathbf{a}^T \mathbf{e} = 4/9 - 2/9 - 2/9 = 0\) ✓.

\[ P = \frac{1}{2}\begin{pmatrix} 1 & 1 \\ 1 & 1 \end{pmatrix} \]

\(P^2 = P\) ✓, \(P^T = P\) ✓, rank 1. Her \((x, y)\)’yi eşit-bileşen doğrusuna → ortalama alır.

\(P = A(A^T A)^{-1} A^T = A A^{-1} (A^T)^{-1} A^T = I\).

Her \(\mathbf{b}\) zaten \(C(A) = \mathbb{R}^n\)’de; projeksiyon değiştirmez.

Veri \(A\), hedef \(\mathbf{b}\). \(m \gg n\) → çözümsüz.

Least squares = projeksiyon: \(\|\mathbf{b} - A\mathbf{x}\|^2\) minimize = \(\mathbf{b}\)’nin \(C(A)\)’ya dik izdüşümü → \(A^T A \hat{\mathbf{x}} = A^T \mathbf{b}\).

Tahminler \(\hat{\mathbf{y}} = P \mathbf{b}\) (hat matrix).

Pratik:

  • \(A^T A\) tekil → ridge \((A^T A + \lambda I)\).
  • Sayısal: QR (Ders 17) veya SVD.
  • Polinom = \(A\)’ya kolon ekleme.

16.13 Egzersizler

Egzersiz 1. \(\mathbf{b} = (2, 3, 4)^T\), \(\mathbf{a} = (1, 1, 1)^T\) — projeksiyon, hata, \(\mathbf{a}^T \mathbf{e} = 0\) doğrula.

Egzersiz 2. \(\mathbf{a} = (1, 2, 2)^T\) için \(P\) (\(3 \times 3\)). \(P^2 = P\), \(\text{tr}(P) = 1\).

Egzersiz 3. \((0, 1), (1, 3), (2, 4)\) → en iyi doğru. \(A, \mathbf{b}\), \(A^T A, A^T \mathbf{b}\).

Egzersiz 4. (Python) Projeksiyon ve regresyon.

Egzersiz 5. İspatla: \(P = A(A^T A)^{-1} A^T\) için \(P^2 = P\). Ayrıca \(\text{tr}(P) = \text{rank}(A)\) (\(P\) özdeğerleri 0 ve 1).

16.14 Sonraki Ders İçin Hazırlık

Ders 16: Projeksiyon Matrisleri ve Least Squares

  • Doğru fitleme sayısal çözüm (\(C = 2/3, D = 1/2\)).
  • \(\mathbf{p}\) + \(\mathbf{e}\) dik bileşenler.
  • \(A^T A\) tersinirliğinin tam ispatı.
UyarıDers 16 öncesi
  • Egzersiz 5 (\(P^2 = P\)).
  • np.linalg.lstsq ile regresyon.

16.15 Anahtar Kavramlar (Cheat Sheet)

Kavram Tanım Strang’da
Doğruya projeksiyon \(\mathbf{p} = (\mathbf{a}^T\mathbf{b}/\mathbf{a}^T\mathbf{a})\mathbf{a}\) 0m36
\(P_{1D}\) \(\mathbf{a}\mathbf{a}^T/\mathbf{a}^T\mathbf{a}\), rank 1 8m51
İki özellik \(P^T = P, P^2 = P\) 13m18
Alt-uzaya projeksiyon \(\mathbf{p} = A\hat{\mathbf{x}}, \mathbf{e} \perp C(A)\) 18m50
Normal denklemler \(A^T A \hat{\mathbf{x}} = A^T \mathbf{b}\) 27m52
\(\hat{\mathbf{x}}\) \((A^T A)^{-1} A^T \mathbf{b}\) 32m55
\(P_{nD}\) \(A(A^T A)^{-1} A^T\) 35m24
A kare → P = I Tüm uzaya projeksiyon 39m18
Least squares \(\|\mathbf{b} - A\mathbf{x}\|^2\) minimize 42m42

16.16 ML Bağlantıları Özeti

İpucu7 köprü
  1. Normal denklemler → Lineer regresyon kapalı-form.
  2. \(P\) = hat matrix → Leverage, serbestlik dereceleri.
  3. \(\mathbf{e} \perp C(A)\) → Artıklar dikliği; MSE neden temiz.
  4. Least squares = MSE → Dik projeksiyon; L1/Huber farklı geometri.
  5. Rank-1 projeksiyon → Activation steering, concept erasure, PCA tek bileşen.
  6. \(A^T A\) tekil → ridge.
  7. Polinom/özellik mühendisliği\(A\)’ya kolon ekleme.
ÖnemliTek bir şey alıp gideceksen

Projeksiyon = hatayı dik yapmak; \(A^T A \hat{\mathbf{x}} = A^T \mathbf{b}\); \(P = A(A^T A)^{-1} A^T\) — çözümsüz \(A\mathbf{x} = \mathbf{b}\)’yi least squares ile çözmek = lineer regresyonun ta kendisi.