Matematik özet kartı
Önkoşul:Logaritma ve üstel: neden her yerdeler
Kanca
- derste “matematik korkusunu kırmaya” söz vermiştik. 13 ders sonra, o söz tutuldu mu? Bu kısa derste, 14 dersin hepsini yan yana koyup, “hepsi birbirine nasıl bağlanıyor” sorusuna net bir cevap verelim.
Sezgi
Vektörden gradyan inişine kadar her fikir, aslında birbirine bağlı bir zincirin halkalarıydı: vektör → norm → nokta çarpım → matris → dönüşüm; fonksiyon → türev → zincir kuralı → gradyan → gradyan inişi. Aşağıda, 3. ve 6. derste gördüğün bileşenle, hem toplama hem dönüşüm modlarını bir kez daha dene:
v = (3.0, 0.0)
Mv = (0.0, 3.0)
Noktaları sürükle (ya da odaklayıp ok tuşlarını kullan).
Mekanizma
14 dersin ilk yarısını (vektör, norm, nokta çarpım, matris, dönüşüm, özdeğer) tek bir blokta, aynı sayılarla hatırlayalım:
2-7. ders: vektör ve matris özeti
# 2-7. dersleri (vektör, norm, nokta çarpım, matris, dönüşüm, özvektör) tek bir
# blokta hatırlayalım -- her biri, o dersteki aynı sayılarla yeniden doğrulanıyor.
toplam = np.array([3, 0]) + np.array([0, 4])
norm_toplam = np.linalg.norm(toplam)
print(f"3. ders (norm): ||[3,0]+[0,4]|| = ||{toplam.tolist()}|| = {norm_toplam} (3-4-5 üçgeni)")
nokta_carpim_dik = np.dot([4, 1], [1, -4])
print(f"4. ders (nokta çarpım): [4,1]·[1,-4] = {nokta_carpim_dik} (dik vektörler, sıfır)")
don90 = np.array([[0, -1], [1, 0]])
donmus = don90 @ np.array([3, 0])
print(f"6. ders (matris = dönüşüm): döndürme matrisi @ [3,0] = {donmus.tolist()} (90° döndü)")
M_ozvektor = np.array([[2, 1], [1, 2]])
ozdegerler, _ = np.linalg.eig(M_ozvektor)
ozdegerler_gercek = sorted(ozdegerler.real.tolist())
print(f"7. ders (özdeğer): [[2,1],[1,2]] matrisinin özdeğerleri = {ozdegerler_gercek}")
print("\nHepsi, o derslerdeki tam olarak aynı sayıları veriyor -- bu bilgiler kalıcı.")3. ders (norm): ||[3,0]+[0,4]|| = ||[3, 4]|| = 5.0 (3-4-5 üçgeni)
4. ders (nokta çarpım): [4,1]·[1,-4] = 0 (dik vektörler, sıfır)
6. ders (matris = dönüşüm): döndürme matrisi @ [3,0] = [0, 3] (90° döndü)
7. ders (özdeğer): [[2,1],[1,2]] matrisinin özdeğerleri = [1.0, 3.0]
Hepsi, o derslerdeki tam olarak aynı sayıları veriyor -- bu bilgiler kalıcı.İkinci yarısını (türev, zincir kuralı, gradyan) hatırlayalım:
8-11. ders: türev ve gradyan özeti
# 9-11. dersleri (türev, zincir kuralı, gradyan) hatırlayalım.
def f(x):
return x ** 2
h_ = 0.0001
turev_2 = (f(2 + h_) - f(2)) / h_
print(f"\n9. ders (türev): f(x)=x², sonlu fark ile f'(2) ≈ {turev_2:.4f} (analitik: 2*2=4)")
def g(x):
return 3 * x + 1
def h(x):
return g(x) ** 2
zincir_kural_sonucu = 2 * g(1.0) * 3 # f'(g(x))*g'(x) = 2*g(x)*3
sonlu_fark_h = (h(1 + h_) - h(1)) / h_
print(f"10. ders (zincir kuralı): h(x)=(3x+1)², h'(1) zincir kuralıyla={zincir_kural_sonucu}, sonlu fark={sonlu_fark_h:.4f}")
gradyan_xy = np.array([2 * 1.0, 2 * 2.0])
print(f"11. ders (gradyan): f(x,y)=x²+y² noktasında (1,2) gradyanı = {gradyan_xy.tolist()}")
9. ders (türev): f(x)=x², sonlu fark ile f'(2) ≈ 4.0001 (analitik: 2*2=4)
10. ders (zincir kuralı): h(x)=(3x+1)², h'(1) zincir kuralıyla=24.0, sonlu fark=24.0009
11. ders (gradyan): f(x,y)=x²+y² noktasında (1,2) gradyanı = [2.0, 4.0]Matematik
14 dersin formülleri, bir arada
| Kavram | Ders | Ana fikir |
|---|---|---|
| Vektör, norm | 2-3 | Sıralı sayı listesi; uzunluk = Pisagor’un genellemesi |
| Nokta çarpım | 4 | İki vektörün yön ilişkisi; kosinüs = normdan bağımsız benzerlik |
| Matris, dönüşüm | 5-7 | Sayı tablosu = dönüşüm makinesi; özvektör = yönü değişmeyen özel vektör |
| Türev, zincir kuralı | 8-10 | Anlık değişim hızı; iç içe fonksiyonlarda türevler çarpılır |
| Gradyan, gradyan inişi | 11-12 | Kısmi türevlerin vektörü; en dik iniş yönünde küçük adımlarla arama |
| Logaritma, üstel | 13 | Katlanarak büyüme ve tersi; çarpmayı toplamaya çevirerek sayısal kararlılık |
Kod
Son olarak, 12. dersteki gradyan inişini bir kez daha çalıştıralım — bu sefer tüm zincirin (türev → zincir kuralı → gradyan → gradyan inişi) sonunda nereye vardığını görmek için:
12. ders: gradyan inişi, tekrar
# 12. dersi (gradyan inişi) hatırlayalım: birkaç adımda hedefe yakınsıyor muyuz?
HEDEF = 3.0
w = -4.0
oran = 0.3
for _ in range(15):
w = w - oran * 2 * (w - HEDEF)
print(f"\n12. ders (gradyan inişi): 15 adım sonra w={w:.4f} (hedef: {HEDEF})")
print(f"Hedefe uzaklık: {abs(w - HEDEF):.6f} (neredeyse sıfır)")
12. ders (gradyan inişi): 15 adım sonra w=3.0000 (hedef: 3.0)
Hedefe uzaklık: 0.000008 (neredeyse sıfır)Nerede işe yarar
Bu 14 ders, artık arkanda — ama önündeki kategorilerde sürekli karşına çıkacaklar:
- Makine Öğrenmesi kategorisinde, PCA (özvektör), gradyan inişi ve düzenlileştirme (norm), doğrudan bu derslere dayanır.
- DL Görüntü ve DL NLP kategorilerinde, backpropagation (zincir kuralı), konvolüsyon (matris işlemleri) ve softmax (üstel/logaritma), bu derslerin büyük ölçekli uygulamalarıdır.
- Prompt Mühendisliği kategorisinde, kosinüs benzerliği (nokta çarpım) ve softmax (üstel), zaten gördüğün araçlardı — şimdi altlarındaki matematiği de biliyorsun.
Bu 1 hatayı yaparsın:
- Bu dersleri “bir kere okudum, artık lazım değil” sanmak — hayır, bu bir referans kartıdır; ilerideki bir kategoride bir formül kafanı karıştırdığında, buraya geri dön.
Kendini test et
1. vektor-matris-hatirlatma bloğunda 3-7. derslerin sonuçları (norm=5, nokta çarpım=0, döndürme=[0,3], özdeğerler=[1,3]) bu derste neden tekrar hesaplanıyor?
- Önceki hesaplamalar yanlıştı, düzeltiliyor
- Bu bir özet dersidir -- amaç, 14 dersin tüm temel sonuçlarının HÂLÂ aynı ve geçerli olduğunu, tek bir yerde toplu olarak göstermektir (doğru cevap)
- NumPy her çalıştırmada farklı sonuç verir
- Bu sayılar rastgele seçilmiştir
Neden: Bu ders, PROJE'nin özet kartı formatını izliyor (DL Görüntü kategorisindeki 'Aktivasyon fonksiyonu özet kartı' ile aynı yapıda): önceki derslerin sonuçlarını toplu biçimde doğrulayıp pekiştirmek.
2. Bu dersteki MathBox tablosuna göre, zincir kuralı ile gradyan arasındaki ilişki nedir?
- Hiçbir ilişkileri yoktur
- Zincir kuralı, iç içe fonksiyonların türevini bulma yöntemidir; gradyan ise, birden fazla değişkenli bir fonksiyonun tüm kısmi türevlerini bir vektörde toplar -- backpropagation, ikisini birlikte kullanır (doğru cevap)
- Zincir kuralı sadece tek değişkenli, gradyan sadece matrisler içindir, ilgisizdirler
- Gradyan, zincir kuralının yanlış bir versiyonudur
Neden: 10. derste zincir kuralı, 11. derste gradyan tanıtıldı; kullanım bölümünde bu ikisinin backpropagation'da birlikte nasıl çalıştığı açıklandı.
3. Bu kategoriyi bitirdikten sonra, Makine Öğrenmesi kategorisindeki PCA dersine geldiğinde, hangi ders(ler) sana doğrudan yardımcı olacak?
- Hiçbiri, PCA tamamen farklı bir konudur
- 7. ders (özdeğer ve özvektör) -- çünkü kullanım bölümünde açıkça belirtildiği gibi, PCA doğrudan özvektörlere dayanır (doğru cevap)
- Sadece 1. ders (neden matematik)
- 13. ders (logaritma) tek başına yeterlidir
Neden: kullanım bölümünde bu açıkça belirtiliyor: 'Makine Öğrenmesi kategorisinde, PCA (özvektör) ... doğrudan bu derslere dayanır'.
Özet
Özet
- Vektör → norm → nokta çarpım → matris → dönüşüm → özvektör: vektör cebirinin tam zinciri.
- Fonksiyon → türev → zincir kuralı → gradyan → gradyan inişi: kalkülüsün tam zinciri.
- Logaritma ve üstel, sayısal kararlılığın (softmax, çapraz entropi) arkasındaki araçlardır.
- Bu 14 ders, Makine Öğrenmesi, DL Görüntü, DL NLP ve Prompt Mühendisliği kategorilerinde sürekli karşına çıkacak.
- Bir formül seni korkuttuğunda, bu kart bir referans noktasıdır -- geri dönüp buradaki basit halini hatırla.