---
title: "Alt-Uzaylara Projeksiyon"
subtitle: "Hatayı dik yap — normal denklemler ve P matrisi"
---
::: {.callout-note title="Bölüm bilgisi"}
- **Strang'in videosu:** [YouTube — Lecture 15: Projections onto Subspaces](https://www.youtube.com/watch?v=Y_Ac6KiQ1t0) (≈48 dk)
- **OCW sayfası:** [MIT 18.06SC — Lecture 15](https://ocw.mit.edu/courses/18-06sc-linear-algebra-fall-2011/resources/lecture-15-projections-onto-subspaces/)
- **Okuma süresi:** ≈40 dk
:::
## Bu Derste Ne Var? {#sec-bu-derste}
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 projeksiyon** → **normal 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
```{mermaid}
%%| label: fig-concept-map
%%| fig-cap: "Çözümsüz Ax = b → b'yi C(A)'ya dik izdüşür → normal denklemler → P matrisi."
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
```
::: {.callout-tip title="Builder 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).
:::
## Doğruya Projeksiyon {#sec-dogru}
$\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ı).
```{python}
#| label: fig-dogru-projeksiyon
#| fig-cap: "b vektörünün a doğrusuna projeksiyonu p; hata e = b − p, a'ya dik."
#| fig-width: 8
#| fig-height: 6
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}")
```
## Projeksiyon Matrisi P (1-D) {#sec-P-1D}
$$
\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).
## İki İmza Özelliği — $P^T = P$, $P^2 = P$ {#sec-P-ozellik}
**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**.
## Çözümsüz Ax = b → Projeksiyon {#sec-cozumsuz}
$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.
## Alt-Uzaya Projeksiyon — Normal Denklemler {#sec-normal}
$\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.
## Üç Formül {#sec-uc-formul}
$$
\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.
## A Kare ise P = I {#sec-A-kare}
$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.
## Doğru Fitleme — Sayısal Örnek {#sec-line-fitting}
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).
```{python}
#| label: code-line-fitting
#| code-fold: false
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)}")
```
## Least Squares Geometrisi {#sec-LS-geometry}
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.
## Bu Dersin Özeti {#sec-ozet}
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**.
::: {.callout-important title="Tek 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.
:::
## Kontrol Soruları {#sec-sorular}
::: {.callout-note collapse="true" title="Soru 1: b = (1,1,1), a = (1,2,2) — projeksiyon."}
$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$ ✓.
:::
::: {.callout-note collapse="true" title="Soru 2: a = (1, 1) için P, P² = P."}
$$
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.
:::
::: {.callout-note collapse="true" title="Soru 3: A kare tersinir → P?"}
$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.
:::
::: {.callout-note collapse="true" title="Soru 4: Lineer regresyon → projeksiyon + normal denklemler bağı."}
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.
:::
## Egzersizler {#sec-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).
## Sonraki Ders İçin Hazırlık {#sec-sonraki}
**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ı.
::: {.callout-warning title="Ders 16 öncesi"}
- Egzersiz 5 ($P^2 = P$).
- `np.linalg.lstsq` ile regresyon.
:::
## Anahtar Kavramlar (Cheat Sheet) {#sec-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 |
## ML Bağlantıları Özeti {#sec-ml-baglantilar}
::: {.callout-tip title="7 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.
:::
::: {.callout-important title="Tek 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.
:::