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 HEPSİNİ yan yana koyup, “hepsi birbirine NASIL bağlanıyor” sorusuna net bir cevap verelim.
Sezgi
Vektörden gradyan inişine kadar HER fikir, aslında BİRBİRİNE bağlı bir ZİNCİRİN 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 İLK yarısını (vektör, norm, nokta çarpım, matris, dönüşüm, özdeğer) TEK bir blokta, AYNI sayılarla HATIRLAYALIM:
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 HATIRLAYALIM -- her biri, o dersteki AYNI 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("\nHEPSİ, o derslerdeki TAM OLARAK aynı sayıları veriyor -- bu bilgiler KALICI.")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]
HEPSİ, o derslerdeki TAM OLARAK aynı sayıları veriyor -- bu bilgiler KALICI.İKİNCİ 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) HATIRLAYALIM.
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 ÇARPILIR |
| 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 ÇALIŞTIRALIM — bu sefer TÜM zincirin (türev → zincir kuralı → gradyan → gradyan inişi) SONUNDA nereye VARDIĞINI görmek için:
12. ders: gradyan inişi, tekrar
# 12. dersi (gradyan inişi) HATIRLAYALIM: 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, ARTIK arkanda — ama ÖNÜNDEKİ kategorilerde SÜREKLİ karşına çıkacaklar:
- Makine Öğrenmesi kategorisinde, PCA (özvektör), gradyan inişi ve düzenlileştirme (norm), DOĞRUDAN bu derslere DAYANIR.
- 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 ALTLARINDAKİ matematiği de biliyorsun.
Bu 1 hatayı yaparsın:
- Bu dersleri “bir kere okudum, artık lazım değil” sanmak — HAYIR, bu bir REFERANS kartıdır; ilerideki bir kategoride bir formül KAFANI KARIŞTIRDIĞINDA, buraya GERİ 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ÇERLİ 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 AYNI yapıda): önceki derslerin sonuçlarını TOPLU biçimde DOĞRULAYIP pekiştirmek.
2. Bu dersteki MathBox tablosuna göre, zincir kuralı ile gradyan arasındaki İLİŞKİ nedir?
- Hiçbir ilişkileri yoktur
- Zincir kuralı, İÇ İÇE fonksiyonların türevini bulma YÖNTEMİDİR; gradyan ise, BİRDEN FAZLA değişkenli bir fonksiyonun TÜM kısmi türevlerini bir vektörde TOPLAR -- backpropagation, İKİSİNİ birlikte KULLANIR (doğru cevap)
- Zincir kuralı sadece tek değişkenli, gradyan sadece matrisler içindir, ilgisizdirler
- Gradyan, zincir kuralının YANLIŞ bir versiyonudur
Neden: 10. derste zincir kuralı, 11. derste gradyan tanıtıldı; kullanım bölümünde bu İKİSİNİN backpropagation'da BİRLİKTE nasıl çalıştığı AÇIKLANDI.
3. Bu kategoriyi bitirdikten sonra, Makine Öğrenmesi kategorisindeki PCA dersine geldiğinde, HANGİ ders(ler) sana doğrudan YARDIMCI olacak?
- Hiçbiri, PCA tamamen farklı bir konudur
- 7. ders (özdeğer ve özvektör) -- çünkü kullanım bölümünde AÇIKÇA belirtildiği gibi, PCA doğrudan özvektörlere DAYANIR (doğru cevap)
- Sadece 1. ders (neden matematik)
- 13. ders (logaritma) tek başına yeterlidir
Neden: kullanım bölümünde bu AÇIKÇA belirtiliyor: 'Makine Öğrenmesi kategorisinde, PCA (özvektör) ... DOĞRUDAN bu derslere DAYANIR'.
Ö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) ARKASINDAKİ araçlardır.
- Bu 14 ders, Makine Öğrenmesi, DL Görüntü, DL NLP ve Prompt Mühendisliği kategorilerinde SÜREKLİ karşına çıkacak.
- Bir formül seni KORKUTTUĞUNDA, bu kart bir REFERANS noktasıdır -- geri dönüp buradaki BASİT halini HATIRLA.