Transpoz
- Makine Öğrenmesi kursu
- Başlangıç
- Ders 34/112
- 5 dk
Matrisin transpozunda satır ve sütun yer değiştirir.
Transpoz
Transpoz, matrisin satırlarını sütun yapar: (m, n) → (n, m). NumPy'da .T ile yazılır.
A = np.array([[1, 2, 3],
[4, 5, 6]])
print(A.T) # [[1 4] [2 5] [3 6]]
print(A.T.shape) # (3, 2)Matris çarpımında şekiller uymayınca çoğu zaman çözüm bir tarafın transpozunu almaktır.
XᵀX ve normal denklem
Doğrusal regresyonun kapalı çözümü transpozla yazılır: w = (XᵀX)⁻¹ Xᵀy.
X = np.array([[1, 1], [1, 2], [1, 3]]) # ilk sütun: kesişim için 1
y = np.array([3, 5, 7])
w = np.linalg.solve(X.T @ X, X.T @ y)
print(w) # [1. 2.] -> y = 1 + 2xnp.linalg.solve, tersini açıkça almaktan daha kararlı ve hızlıdır. scikit-learn'ün LinearRegression'ı da benzer bir yöntemle çözer.
Uygulama Normal denklem
İlk sütunu 1 olan X ve y verildi. np.linalg.solve(X.T @ X, X.T @ y) ile w'yi bul ve yazdır.
Başlangıç kodu
import numpy as np
X = np.array([[1, 0], [1, 1], [1, 2], [1, 3]])
y = np.array([4, 7, 10, 13])
# buraya yazÖrnek çözüm
import numpy as np
X = np.array([[1, 0], [1, 1], [1, 2], [1, 3]])
y = np.array([4, 7, 10, 13])
w = np.linalg.solve(X.T @ X, X.T @ y)
print(w)Beklenen çıktı
[4. 3.]
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 (5, 3) şekilli X için <code>X.T @ X</code>'in şekli nedir?
- Hata
- (3, 3) Doğru cevap
- (5, 5)
- (5, 3)
Açıklama: (3, 5) @ (5, 3) = (3, 3); bu, özellikler arası ilişkiyi anlatan bir matristir.
2 Matrisin transpozunu al.
At = A.____
At = A.T
Açıklama: .T, numpy.transpose(A) ile aynıdır.
3 İfadeleri eşleştir.
| Kavram | Anlamı |
|---|---|
A.T |
Transpoz |
X.T @ X |
Özellik × özellik matrisi |
np.linalg.solve |
Doğrusal sistem çözümü |
(A.T).T |
A'nın kendisi |