---
title: "Projeksiyon Matrisleri ve Least Squares"
subtitle: "Lineer regresyonu uçtan uca — b = p + e, AᵀAx̂ = Aᵀb"
---
::: {.callout-note title="Bölüm bilgisi"}
- **Strang'in videosu:** [YouTube — Lecture 16: Projection Matrices and Least Squares](https://www.youtube.com/watch?v=osh80YCg_GM) (≈48 dk)
- **OCW sayfası:** [MIT 18.06SC — Lecture 16](https://ocw.mit.edu/courses/18-06sc-linear-algebra-fall-2011/resources/lecture-16-projection-matrices-and-least-squares/)
- **Okuma süresi:** ≈40 dk
:::
## Bu Derste Ne Var? {#sec-bu-derste}
1. **Projeksiyon recap:** $\mathbf{b} \in C(A) \to P\mathbf{b} = \mathbf{b}$; $\mathbf{b} \perp C(A) \to P\mathbf{b} = \mathbf{0}$.
2. **Doğru fitleme sayısal:** $(1,1), (2,2), (3,2)$ → $y = 2/3 + (1/2)t$.
3. **İki resim:** noktalar+doğru vs vektörler ($\mathbf{b} = \mathbf{p} + \mathbf{e}$).
4. **$A^T A$ tersinir ⟺ bağımsız kolonlar** — tam ispat.
5. **Ortonormal vektörler** ($A^T A = I$) — Ders 17 köprüsü.
> *"A transpose A x hat equals A transpose b — the most important equation in statistics and estimation."* — Strang, 21:23
```{mermaid}
%%| label: fig-concept-map
%%| fig-cap: "Least squares uçtan uca: A → AᵀA → x̂ → p + e → ortonormal son."
flowchart LR
AB["A·x = b çözümsüz"] --> NE["AᵀAx̂ = Aᵀb"]
NE --> X["x̂ = (AᵀA)⁻¹Aᵀb"]
X --> P["p = Ax̂"]
P --> DEC["⭐ b = p + e<br/>(dik ayrışım)"]
DEC --> RES["e ∈ N(Aᵀ)<br/>(artık)"]
NE -.->|kolonlar bağımsız| INV["AᵀA tersinir<br/>(‖Ax‖² ispat)"]
INV -.->|ortonormal A| ID["AᵀA = I<br/>(QR, Ders 17)"]
style DEC fill:#fff3e0,stroke:#e67e22,stroke-width:3px
style ID fill:#fce4ec,stroke:#c2185b,stroke-width:2px
```
::: {.callout-tip title="Builder Notu — Lineer Regresyon Uçtan Uca"}
- **Least squares = MSE regresyon** kapalı-form.
- **$\mathbf{b} = \mathbf{p} + \mathbf{e}$** = fit + residual; artık analizi model teşhisi.
- **Outlier → robust loss** (L1, Huber); kareler outlier'a duyarlı.
- **$A^T A$ tersinir = bağımsız özellik** → multicollinearity'de ridge.
- **Ortonormal → QR / kararlılık** → Ortogonal başlatma gradyanları korur.
:::
## Projeksiyon Recap — İki Uç {#sec-uc}
**$\mathbf{b} \in C(A)$:** $P\mathbf{b} = A(A^T A)^{-1}(A^T A)\mathbf{x} = A\mathbf{x} = \mathbf{b}$ ✓.
**$\mathbf{b} \perp C(A)$:** $A^T \mathbf{b} = \mathbf{0}$ → $P\mathbf{b} = A(A^T A)^{-1} \cdot \mathbf{0} = \mathbf{0}$ ✓.
## b = p + e ve I − P {#sec-b-p-e}
$$
\mathbf{b} = \mathbf{p} + \mathbf{e}, \quad \mathbf{p} = P\mathbf{b}, \quad \mathbf{e} = (I - P)\mathbf{b}
$$
**$I - P$** dik tümleyene projeksiyon: simetrik, idempotent, $C(A)$'ya değil $N(A^T)$'ye projeler.
**Builder Notu:** "Fit + residual" ayrışımı. Artıkların yapısı (rastgele mi, desenli mi) model eksikliğini gösterir. PCA'da da veri = bileşenler ($P$) + kalan ($I - P$).
## Doğru Fitleme — Sayısal Çözüm {#sec-line-fit}
$A^T A = \begin{pmatrix} 3 & 6 \\ 6 & 14 \end{pmatrix}$, $A^T \mathbf{b} = \begin{pmatrix} 5 \\ 11 \end{pmatrix}$.
$3C + 6D = 5$, $6C + 14D = 11$ → $2D = 1$ → $D = 1/2$, $C = 2/3$.
$$
\boxed{y = \tfrac{2}{3} + \tfrac{1}{2} t}
$$
```{python}
#| label: code-line-fit
#| code-fold: false
import numpy as np
import matplotlib.pyplot as plt
A = np.array([[1, 1], [1, 2], [1, 3]], dtype=float)
b = np.array([1, 2, 2], dtype=float)
x_hat, *_ = np.linalg.lstsq(A, b, rcond=None)
print(f"C = {x_hat[0]:.4f}, D = {x_hat[1]:.4f}")
p = A @ x_hat
e = b - p
print(f"p = {p}")
print(f"e = {e}")
print(f"e _|_ kolonlar? {np.allclose(A.T @ e, 0)}")
print(f"Pisagor: ||b||² = {b@b:.4f}, ||p||² + ||e||² = {p@p + e@e:.4f}")
```
## İki Resim — Noktalar vs Vektörler {#sec-iki-resim}
**Resim 1 (noktalar):** $p_1 = 7/6, p_2 = 5/3, p_3 = 13/6$. Hatalar $e_i = b_i - p_i = (-1/6, 2/6, -1/6)$.
**Resim 2 ($\mathbb{R}^3$ vektörler):** $\mathbf{b} = (1, 2, 2)$ → $C(A)$'ya $\mathbf{p}$, dik kalan $\mathbf{e}$.
Aynı sayılar, iki bakış: parametre uzayı (C, D) vs veri uzayı (3 nokta).
```{python}
#| label: fig-iki-resim
#| fig-cap: "Resim 1: noktalar + en iyi doğru, dikey hatalar. Resim 2: 3D vektörler (gösterim için 2D'ye düşürülmüş kavramsal)."
#| fig-width: 11
#| fig-height: 5
fig, axes = plt.subplots(1, 2, figsize=(11, 5))
# Resim 1: noktalar + dogru
ax = axes[0]
t_data = np.array([1, 2, 3])
b_data = np.array([1, 2, 2])
t_line = np.linspace(0.5, 3.5, 100)
y_line = 2/3 + 0.5 * t_line
ax.plot(t_line, y_line, color='#1f4e79', lw=2.5, label=r'$y = \frac{2}{3} + \frac{1}{2}t$')
ax.scatter(t_data, b_data, color='#8a1538', s=120, zorder=5, label='veri', edgecolors='black')
for ti, bi in zip(t_data, b_data):
pi = 2/3 + 0.5*ti
ax.plot([ti, ti], [bi, pi], color='#16a34a', lw=2, linestyle='--')
ax.scatter(ti, pi, color='#e67e22', s=80, zorder=4)
ax.set_xlabel('t', fontsize=12); ax.set_ylabel('y', fontsize=12)
ax.set_title('Resim 1: en iyi doğru + dikey hatalar', fontsize=11)
ax.legend(fontsize=10); ax.grid(alpha=0.3)
# Resim 2: vektorler (kavramsal 2D temsil)
ax = axes[1]
# kolon uzayi duzlemi
ax.fill_between([-0.5, 3], [-0.5, -0.5], [2.5, 2.5], color='#fed7aa', alpha=0.4, label='C(A) (kolon uzayı)')
ax.annotate('', xy=(1.8, 1.5), xytext=(0, 0),
arrowprops=dict(arrowstyle='->', color='#8a1538', lw=2.5))
ax.text(1.85, 1.55, r'$\mathbf{b}$', fontsize=14, color='#8a1538', fontweight='bold')
ax.annotate('', xy=(1.8, 1), xytext=(0, 0),
arrowprops=dict(arrowstyle='->', color='#e67e22', lw=2.5))
ax.text(1.85, 0.85, r'$\mathbf{p}$', fontsize=14, color='#e67e22', fontweight='bold')
ax.annotate('', xy=(1.8, 1.5), xytext=(1.8, 1),
arrowprops=dict(arrowstyle='->', color='#16a34a', lw=2.5, linestyle='--'))
ax.text(1.9, 1.25, r'$\mathbf{e} \perp C(A)$', fontsize=12, color='#16a34a', fontweight='bold')
ax.set_xlim(-0.5, 3); ax.set_ylim(-0.5, 2.5); ax.set_aspect('equal')
ax.set_title('Resim 2: $\mathbf{b} = \mathbf{p} + \mathbf{e}$ (dik ayrışım)', fontsize=11)
ax.legend(loc='lower right', fontsize=10); ax.grid(alpha=0.3)
plt.tight_layout()
plt.show()
```
## Least Squares = Kalkülüs {#sec-kalkulus}
$$
\|\mathbf{e}\|^2 = \sum (C + D t_i - b_i)^2
$$
$\partial / \partial C = 0$, $\partial / \partial D = 0$ — kare olduğu için türevler **lineer** → tam olarak normal denklemler.
İki yol aynı yere: **lineer cebir (projeksiyon) = kalkülüs (minimizasyon)**.
## Outlier Uyarısı {#sec-outlier}
Kareler aykırı değerlere aşırı duyarlı — bir outlier doğruyu çeker.
> *"Statisticians would not be happy to see the whole problem turned topsy-turvy by this one outlier."* — Strang, 16:21
::: {.callout-tip title="Builder Notu — Robust Loss"}
- **L2 (kare):** kapalı-form, ama outlier'a duyarlı.
- **L1 (mutlak):** outlier'a dayanıklı, iteratif; medyan-benzeri.
- **Huber:** küçükte L2, büyükte L1; robust regresyon standardı.
:::
## e ⊥ Kolon Uzayı — Doğrulama {#sec-perp-dogrula}
$\mathbf{e} = (-1/6, 2/6, -1/6)$. Kolonlar $(1, 1, 1)$ ve $(1, 2, 3)$:
$$
\mathbf{e} \cdot (1, 1, 1) = -\tfrac{1}{6} + \tfrac{2}{6} - \tfrac{1}{6} = 0 \checkmark
$$
$$
\mathbf{e} \cdot (1, 2, 3) = -\tfrac{1}{6} + \tfrac{4}{6} - \tfrac{3}{6} = 0 \checkmark
$$
## AᵀA Tersinir ⟺ Bağımsız Kolonlar ⭐ {#sec-AtA-tersinir}
**İddia:** $A$'nın kolonları bağımsız → $A^T A$ tersinir.
**İspat:** $A^T A \mathbf{x} = \mathbf{0}$ varsay. Soldan $\mathbf{x}^T$:
$$
\mathbf{x}^T A^T A \mathbf{x} = (A\mathbf{x})^T (A\mathbf{x}) = \|A\mathbf{x}\|^2 = 0 \implies A\mathbf{x} = \mathbf{0}
$$
Bağımsız kolonlar → $A\mathbf{x} = \mathbf{0}$ → $\mathbf{x} = \mathbf{0}$. Demek ki $N(A^T A) = \{\mathbf{0}\}$ → tersinir. ∎
**Builder Notu:** Regresyonun benzersiz çözümü için bağımsız özellikler şart. Multicollinearity → $A^T A$ tekil → **ridge** ($A^T A + \lambda I$) düzeltir. $A^T A$ ayrıca **pozitif yarı-tanımlı** (Ders 27).
## Ortonormal Vektörler — AᵀA = I {#sec-ortonormal}
Ortonormal = dik + birim. $A^T A$'nın $(i, j)$ girişi = kolonᵢ · kolonⱼ:
$$
A^T A = I
$$
Sonuç: $\hat{\mathbf{x}} = A^T \mathbf{b}$, $P = A A^T$ — **tersine alma yok**.
> *"Those are the best columns you could ask for."* — Strang, 46:23
::: {.callout-tip title="Builder Notu — Ortonormal = Sayısal Kararlılık"}
- **QR ayrışımı:** Regresyonu $A^T A$ tersine almadan ortonormal $Q$ ile çözer.
- **Ortogonal ağırlık başlatma:** Derin ağlarda gradyan patlamasını önler.
- **Ortonormal bazlar:** PCA, SVD ($U, V$), Fourier, wavelet.
- **Ortogonal/üniter katmanlar:** RNN stabilizasyonu, normalizing flows.
:::
## Bu Dersin Özeti {#sec-ozet}
1. **Projeksiyon uç durumları**.
2. **$\mathbf{b} = \mathbf{p} + \mathbf{e}$**; $I - P$ dik tümleyene.
3. **Doğru fitleme**: $y = 2/3 + (1/2)t$.
4. **İki resim**.
5. **Least squares = kalkülüs**.
6. **Outlier uyarısı**.
7. **$\mathbf{e} \perp C(A)$** doğrulandı.
8. **$A^T A$ tersinir ⟺ bağımsız kolonlar** ($\|A\mathbf{x}\|^2$ ispat).
9. **Ortonormal** ($A^T A = I$).
10. **Ortonormal = en iyi kolonlar** (Ders 17).
::: {.callout-important title="Tek bir cümle"}
Least squares = çözümsüz $A\mathbf{x} = \mathbf{b}$'yi dik projeksiyonla çözer (**$A^T A \hat{\mathbf{x}} = A^T \mathbf{b}$**); $\mathbf{e} \perp C(A)$; yalnız bağımsız kolonlarda benzersiz, ortonormal kolonlarda en sade ($A^T A = I$).
:::
## Kontrol Soruları {#sec-sorular}
::: {.callout-note collapse="true" title="Soru 1: (0,0), (1,1), (2,1) → en iyi doğru."}
$A^T A = \begin{pmatrix} 3 & 3 \\ 3 & 5 \end{pmatrix}$, $A^T \mathbf{b} = (2, 3)^T$.
$3C + 3D = 2$, $3C + 5D = 3$ → $2D = 1$, $D = 1/2$; $C = 1/6$.
$y = 1/6 + (1/2)t$.
:::
::: {.callout-note collapse="true" title="Soru 2: Pisagor doğrulaması."}
$\|\mathbf{b}\|^2 = 9$. $\|\mathbf{e}\|^2 = 6/36 = 1/6$. $\|\mathbf{p}\|^2 = 53/6$.
$\|\mathbf{p}\|^2 + \|\mathbf{e}\|^2 = 53/6 + 1/6 = 9 = \|\mathbf{b}\|^2$ ✓ (dik ayrışım sonucu).
:::
::: {.callout-note collapse="true" title="Soru 3: A = ((1,2),(2,4),(0,0)) — AᵀA tersinir mi?"}
$\mathbf{c}_2 = 2\mathbf{c}_1$ → bağımlı → **$A^T A$ tersinir DEĞİL**.
Regresyon benzersiz çözülmez; bağımlı kolonu at ya da **ridge**.
:::
::: {.callout-note collapse="true" title="Soru 4: Outlier → robust loss. Ortonormal kolonların avantajı?"}
**Outlier:** L2 kareler outlier'ı abartır → L1 (medyan), **Huber** (küçükte L2, büyükte L1) ya da RANSAC.
**Ortonormal ($A^T A = I$):**
- Normal denklemler $\hat{\mathbf{x}} = A^T \mathbf{b}$ (tersine alma yok).
- **Sayısal kararlılık** (koşul sayısı 1) → QR ayrışımı pratikte tercih edilir.
- Katsayılar bağımsız.
- ML'de: ortogonal başlatma, PCA/SVD, Fourier, normalizing flows.
:::
## Egzersizler {#sec-egzersizler}
**Egzersiz 1.** $(-1, 1), (0, 0), (1, 1)$ → en iyi doğru. (Simetri: $D = ?$.)
**Egzersiz 2.** Aynı noktalara **parabol** $y = C + Dt + Et^2$ — tam çözülür mü?
**Egzersiz 3.** $(I - P)^2 = I - P$ göster, hangi alt-uzaya projeler?
**Egzersiz 4.** *(Python)* `np.linalg.lstsq` ile regresyon + Pisagor doğrulama.
**Egzersiz 5.** *İspatla:* $A^T A$ pozitif yarı-tanımlı ($\mathbf{x}^T A^T A \mathbf{x} \geq 0$); bağımsız kolonlarda pozitif tanımlı ($> 0$ for $\mathbf{x} \neq \mathbf{0}$). Ders 27 ve Cholesky temeli.
## Sonraki Ders İçin Hazırlık {#sec-sonraki}
**Ders 17: Ortogonal Matrisler ve Gram-Schmidt**
- $Q$ matrisi ($Q^T Q = I$), $P = Q Q^T$.
- **Gram-Schmidt** — bazı ortonormale çevir.
- $A = QR$ ayrışımı.
::: {.callout-warning title="Ders 17 öncesi"}
- Egzersiz 5 (pozitif tanım).
- `np.linalg.qr` ile regresyon dene.
:::
## Anahtar Kavramlar (Cheat Sheet) {#sec-cheat-sheet}
| Kavram | Tanım | Strang'da |
|--------|-------|-----------|
| **Uç durumlar** | $\mathbf{b} \in C \to P\mathbf{b} = \mathbf{b}$; dik → $\mathbf{0}$ | 1m01 |
| **$\mathbf{b} = \mathbf{p} + \mathbf{e}$** | Dik ayrışım | 6m24 |
| **$I - P$** | Dik tümleyene projeksiyon | 7m30 |
| **Doğru fitleme** | $y = 2/3 + (1/2)t$ | 8m46 |
| **Normal denklemler** | $A^T A \hat{\mathbf{x}} = A^T \mathbf{b}$ | 21m23 |
| **LS = kalkülüs** | $\|\mathbf{e}\|^2$ türev = 0 | 24m16 |
| **Outlier** | Kareler abartır → robust loss | 16m14 |
| **$\mathbf{e} \perp C(A)$** | Her kolona dik | 33m22 |
| **$A^T A$ tersinir** | ⟺ bağımsız ($\|A\mathbf{x}\|^2 = 0$) | 37m07 |
| **Ortonormal** | $A^T A = I$ | 46m23 |
## ML Bağlantıları Özeti {#sec-ml-baglantilar}
::: {.callout-tip title="7 köprü"}
1. **Normal denklemler = lineer regresyon** kapalı-form.
2. **fit + residual** → Artık analizi model teşhisi.
3. **Outlier → robust loss** → L1, Huber.
4. **$A^T A$ tersinir = bağımsız özellik** → Ridge multicollinearity.
5. **$P$ = hat matrix** → Leverage, serbestlik derecesi.
6. **Ortonormal → QR / kararlılık** → Ortogonal başlatma.
7. **$A^T A$ pozitif (yarı-)tanım** → Cholesky, GP kovaryans.
:::
::: {.callout-important title="Tek bir şey alıp gideceksen"}
Least squares = dik projeksiyon ($A^T A \hat{\mathbf{x}} = A^T \mathbf{b}$) = lineer regresyon. $\mathbf{b} = \mathbf{p} + \mathbf{e}$, $\mathbf{e} \perp C(A)$. Yalnız bağımsız kolonlarda benzersiz; ortonormal en sade ve kararlı.
:::