Vektör işlemleri ve norm
Önkoşul:Vektör nedir, veri neden vektördür
Kanca
3 adım doğuya, sonra 4 adım kuzeye yürüsen, BAŞLANGIÇ noktasına düz bir ÇİZGİYLE dönmen için KAÇ adım atman gerekir? Cevap tam sayı çıkar — ve bu, TESADÜF değil.
Sezgi
İki vektörü TOPLAMAK, iki hareketi ARKA ARKAYA yapmaktır. Bir vektörün NORMU ise, o vektörün “UZUNLUĞUNU” (büyüklüğünü) ölçer — ve bunu hesaplamanın yolu, İLKOKULDAN bildiğin Pisagor teoremidir. Aşağıda İKİ vektörü sürükleyip, toplamlarını ve UZUNLUKLARINI canlı izleyebilirsin:
A = (3.0, 0.0), ||A|| = 3.00
B = (0.0, 4.0), ||B|| = 4.00
A+B = (3.0, 4.0), ||A+B|| = 5.00
Noktaları sürükle (ya da odaklayıp ok tuşlarını kullan).
Mekanizma
Doğuya ve kuzeye giden İKİ adımı vektör olarak TOPLAYALIM:
Vektör toplama: boyut boyut
# Vektör TOPLAMA: HER boyutu, KARŞILIĞIYLA topla. Fiziksel bir örnek: bir kişi
# 3 birim DOĞUYA, sonra 4 birim KUZEYE yürüsün. TOPLAM yer değiştirme nedir?
dogu = np.array([3, 0])
kuzey = np.array([0, 4])
toplam_yer_degistirme = dogu + kuzey
print(f"Doğuya adım: {dogu.tolist()}")
print(f"Kuzeye adım: {kuzey.tolist()}")
print(f"Toplam yer değiştirme (dogu + kuzey): {toplam_yer_degistirme.tolist()}")
print("\nVektör toplama, HER boyutu AYRI AYRI toplamaktır -- x'ler kendi aralarında,")
print("y'ler kendi aralarında. Sonuç, İKİ hareketin BİRLEŞİK etkisidir.")Doğuya adım: [3, 0]
Kuzeye adım: [0, 4]
Toplam yer değiştirme (dogu + kuzey): [3, 4]
Vektör toplama, HER boyutu AYRI AYRI toplamaktır -- x'ler kendi aralarında,
y'ler kendi aralarında. Sonuç, İKİ hareketin BİRLEŞİK etkisidir.Bir vektörü bir SAYIYLA (skaler) çarpmak, YÖNÜNÜ koruyup BÜYÜKLÜĞÜNÜ değiştirir:
Skalerle çarpma: ölçekleme
# SKALERLE çarpma: bir vektörü SABİT bir sayıyla ÖLÇEKLEMEK -- YÖNÜ korur, BÜYÜKLÜĞÜ değiştirir.
iki_kat_dogu = 2 * dogu
yarim_dogu = 0.5 * dogu
ters_dogu = -1 * dogu
print(f"\n2 x doğu = {iki_kat_dogu.tolist()} (AYNI yön, 2 KAT uzun)")
print(f"0.5 x doğu = {yarim_dogu.tolist()} (AYNI yön, YARI uzunluk)")
print(f"-1 x doğu = {ters_dogu.tolist()} (TERS yön, AYNI uzunluk)")
2 x doğu = [6, 0] (AYNI yön, 2 KAT uzun)
0.5 x doğu = [1.5, 0.0] (AYNI yön, YARI uzunluk)
-1 x doğu = [-3, 0] (TERS yön, AYNI uzunluk)Matematik
Norm: Pisagor teoreminin genellemesi
için bu formül, TAM OLARAK Pisagor teoremidir (‘nin ‘yi ÇÖZMÜŞ hâli). Norm, bu fikri HERHANGİ bir boyut sayısına () GENELLEŞTİRİR — 2. dersteki “uzaklık” hesabı da, İKİ vektörün FARKININ normuydu.
Kod
Norm = Pisagor teoremi
# NORM (||v||), bir vektörün "UZUNLUĞUNU" (büyüklüğünü) ölçer -- Pisagor teoreminin
# GENELLEŞTİRİLMİŞ hâlidir.
norm_toplam = np.linalg.norm(toplam_yer_degistirme)
elle_norm = np.sqrt(toplam_yer_degistirme[0]**2 + toplam_yer_degistirme[1]**2)
print(f"\nToplam yer değiştirme: {toplam_yer_degistirme.tolist()}")
print(f"np.linalg.norm(toplam) = {norm_toplam}")
print(f"Elle: sqrt(3² + 4²) = sqrt({3**2} + {4**2}) = sqrt({3**2 + 4**2}) = {elle_norm}")
print(f"\nİki yöntem AYNI sonucu veriyor: {norm_toplam == elle_norm}")
print("Bu, ÜNLÜ 3-4-5 dik üçgeni! Norm, ÖZÜNDE, Pisagor teoreminin (a²+b²=c²) HER")
print("boyuta GENELLEŞTİRİLMİŞ hâlidir -- 2. dersteki 'uzaklık' hesabı da TAM OLARAK buydu.")
Toplam yer değiştirme: [3, 4]
np.linalg.norm(toplam) = 5.0
Elle: sqrt(3² + 4²) = sqrt(9 + 16) = sqrt(25) = 5.0
İki yöntem AYNI sonucu veriyor: True
Bu, ÜNLÜ 3-4-5 dik üçgeni! Norm, ÖZÜNDE, Pisagor teoreminin (a²+b²=c²) HER
boyuta GENELLEŞTİRİLMİŞ hâlidir -- 2. dersteki 'uzaklık' hesabı da TAM OLARAK buydu.Nerede işe yarar
Bu üç işlem (toplama, skalerle çarpma, norm), sonraki kategorilerde SÜREKLİ karşına çıkacak:
- Makine Öğrenmesi’nde, bir modelin AĞIRLIK güncellemesi TAM OLARAK bir vektör toplamadır:
yeni_agirlik = eski_agirlik + degisim. - Gradyan inişinde (12. ders), “adım büyüklüğü” (öğrenme oranı), bir vektörü SKALERLE çarpmaktır.
- Norm, bir vektörün “BÜYÜK mü küçük mü” olduğunu ölçmenin STANDART yoludur — düzenlileştirme (regularization, ML kategorisi) DOĞRUDAN normu KULLANIR.
Bu 2 hatayı yaparsın:
- Vektör toplamayı SAYI toplamayla KARIŞTIRIP, boyutları YANLIŞ eşleştirmek — x’ler x’lerle, y’ler y’lerle toplanır.
- Normu “sadece pozitif sayılar için” bir kavram sanmak — norm HER ZAMAN pozitiftir (ya da sıfır), çünkü KARELER alınır; vektörün İÇİNDEKİ sayılar negatif olsa BİLE.
Kendini test et
1. Notebook'ta doğu=[3,0] ve kuzey=[0,4] vektörlerinin toplamının normu TAM OLARAK 5 çıkıyor. Bu NEDEN şaşırtıcı değil?
- Bir tesadüf
- Norm formülü (√(x²+y²)) TAM OLARAK Pisagor teoremidir -- 3² + 4² = 9 + 16 = 25, ve √25 = 5; bu, KLASİK 3-4-5 dik üçgenidir (doğru cevap)
- Sadece bu iki sayı için geçerli bir kural
- NumPy'nin özel bir yuvarlama yaptığını
Neden: norm-uzunluk bloğunda hem np.linalg.norm hem elle hesaplanan sqrt(3²+4²) AYNI 5.0 sonucunu veriyor -- MathBox'ta bu, Pisagor teoreminin DOĞRUDAN bir uygulaması olarak açıklanıyor.
2. Bir vektörü -1 ile ÇARPMAK (skalerle çarpma) NE yapar?
- Vektörü yok eder
- YÖNÜNÜ TERSİNE çevirir, ama UZUNLUĞUNU (normunu) DEĞİŞTİRMEZ -- notebook'ta -1 x doğu, AYNI uzunlukta ama TERS yönde bir vektör veriyor (doğru cevap)
- Vektörün boyutunu azaltır
- Sadece pozitif vektörlerde çalışır
Neden: skalerle-carpma bloğunda -1 x doğu = [-3, 0] -- orijinal [3,0] ile AYNI uzunlukta (norm=3) ama TAM TERS yönde.
3. Bir vektörün normunun HER ZAMAN pozitif (ya da sıfır) olmasının NEDENİ nedir?
- Norm formülünde negatif sayı kullanılamaz
- Norm formülü, HER bileşenin KARESİNİ alır (v₁², v₂², ...) -- bir sayının karesi HER ZAMAN pozitiftir (ya da sıfırdır), bu yüzden bu karelerin toplamının kare kökü de HER ZAMAN pozitiftir (doğru cevap)
- Norm sadece tam sayılarla çalışır
- Bu bir NumPy kısıtlamasıdır, matematiksel bir gerekçesi yoktur
Neden: MathBox'taki formülde HER v_i teriminin KARESİ alınıyor -- kullanım bölümünde bu, negatif bileşenli vektörlerin bile pozitif norm vermesinin nedeni olarak açıklanıyor.
Özet
Özet
- Vektör toplama, HER boyutu ayrı ayrı toplamaktır -- iki hareketi arka arkaya yapmakla AYNI.
- Skalerle çarpma, bir vektörün YÖNÜNÜ korur, BÜYÜKLÜĞÜNÜ (ve gerekirse yönünü, negatifse) değiştirir.
- Norm (||v||), bir vektörün UZUNLUĞUNU ölçer -- Pisagor teoreminin HER boyuta genelleşmiş hâlidir.
- Bu dersteki [3,0] + [0,4] = [3,4] örneği, normu TAM 5 olan klasik bir 3-4-5 üçgenidir.
- Bu üç işlem, Makine Öğrenmesi'ndeki ağırlık güncellemelerinin ve düzenlileştirmenin TEMELİDİR.