CodeBlanks Logo Icon CodeBlanks

Matrisler

Matris, iki boyutlu sayı dizisidir ve satır ile sütunlardan oluşur.

Matrisler

Matris, sayıların iki boyutlu tablosudur. ML'de veri seti bir matristir: X'in her satırı bir örnek, her sütunu bir özelliktir. Bir sinir ağı katmanının ağırlıkları da bir matristir.

A = np.array([[1, 2],
              [3, 4],
              [5, 6]])
print(A.shape)   # (3, 2): 3x2 matris
print(A[1])      # [3 4]   ikinci satır

Matrisler de vektörler gibi eleman bazlı toplanır ve skalerle çarpılır; şekiller aynı olmalıdır.

Yayınlama (broadcasting)

NumPy, farklı şekilli dizileri kurallara uyuyorsa otomatik genişletir. En sık kullanım, bir matrisin her satırından bir vektör çıkarmaktır:

X = np.array([[1, 10],
              [3, 20],
              [5, 30]])
ort = X.mean(axis=0)   # [ 3. 20.]  şekil (2,)
print(X - ort)         # her satırdan ortalama çıkar
# [[-2. -10.] [ 0.   0.] [ 2.  10.]]

Kural: sağdan başlayarak her boyut ya eşit olmalı ya da 1 olmalıdır.

Uygulama Merkezle

X'in sütun ortalamalarını yayınlama ile her satırdan çıkar ve sonucu yazdır.

Başlangıç kodu

model.py
import numpy as np

X = np.array([[2, 8], [4, 6], [6, 4]])

# buraya yaz

Örnek çözüm

model.py
import numpy as np

X = np.array([[2, 8], [4, 6], [6, 4]])

print(X - X.mean(axis=0))

Beklenen çıktı

[[-2.  2.]
 [ 0.  0.]
 [ 2. -2.]]

Soru ve cevaplar

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

1 (3, 2) ve (2, 3) şekilli iki matris <code>+</code> ile toplanabilir mi?

  • Evet, (3, 3) olur
  • Evet, (2, 2) olur
  • Evet, her zaman
  • Hayır; şekiller uyuşmaz Doğru cevap

Açıklama: Eleman bazlı işlemde şekiller aynı ya da yayınlanabilir olmalıdır; (3, 2) ile (2, 3) değildir.

2 Her satırdan sütun ortalamalarını çıkar.

Soru
Xc = X - X.____(axis=0)
Cevap
Xc = X - X.mean(axis=0)

Açıklama: Yayınlama, (2,) şekilli ortalamayı her satıra uygular.

3 Şekil çiftlerini sonuçlarla eşleştir.

Kavram Anlamı
(3, 2) + (2,) (3, 2)
(3, 2) + (3, 1) (3, 2) yayınlanır
(3, 2) + (3,) Hata
(3, 2) * 2 Skalerle çarpım

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