CodeBlanks Logo Icon CodeBlanks

Özet - Lineer cebir

Bu grupta vektör, matris, çarpım ve transpoz işlemlerini öğrendin.

Özet: lineer cebir

ML'nin dili lineer cebirdir:

  • Vektör: bir örnek ya da ağırlıklar; nokta çarpım = doğrusal tahmin.
  • Matris: veri seti ya da katman ağırlıkları; yayınlama ile satır işlemleri.
  • Matris çarpımı (@): (m, n) @ (n, p) = (m, p), toplu tahmin.
  • Transpoz, birim matris, ters: normal denklem ve Ridge.
tahmin = X @ w + b
w = np.linalg.solve(X.T @ X + 0.1 * np.eye(X.shape[1]), X.T @ y)   # Ridge

Bir şekil hatası alınca matris çarpımının iç boyutlarını kontrol et.

Uygulama Ridge kapalı çözümü

alpha = 1.0 ile Ridge ağırlıklarını np.linalg.solve(X.T @ X + alpha * np.eye(2), X.T @ y) ile bul ve 3 basamağa yuvarlayıp (np.round) yazdır.

Başlangıç kodu

model.py
import numpy as np

X = np.array([[1, 0], [0, 1], [1, 1]])
y = np.array([1, 2, 3])
alpha = 1.0

# buraya yaz

Örnek çözüm

model.py
import numpy as np

X = np.array([[1, 0], [0, 1], [1, 1]])
y = np.array([1, 2, 3])
alpha = 1.0

w = np.linalg.solve(X.T @ X + alpha * np.eye(2), X.T @ y)
print(np.round(w, 3))

Beklenen çıktı

[0.875 1.375]

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 <code>X</code> (100, 4) ve <code>W</code> (4, 8) için <code>X @ W</code> neyi temsil eder?

  • 8 örneğin 100 çıktısı
  • 4 özelliğin ortalaması
  • Hata
  • 100 örneğin her biri için 8 çıktı Doğru cevap

Açıklama: Sonuç (100, 8) şeklindedir: bir katmanın 100 örnek için 8 nörondaki çıktısı.

2 Köşegene alpha ekle.

Soru
A = X.T @ X + alpha * np.____(X.shape[1])
Cevap
A = X.T @ X + alpha * np.eye(X.shape[1])

Açıklama: np.eye ile yalnızca köşegene ekleme yapılır.

3 Kavramları ML karşılıklarıyla eşleştir.

Kavram Anlamı
Vektör Tek örnek
Matris Veri seti
Nokta çarpım Doğrusal tahmin
Matris çarpımı Toplu tahmin

Başlangıç bölümündeki tüm dersler