Ana içeriğe geç

Orta8 dk

Türev: değişim hızı

Önkoşul:Fonksiyon ve grafik sezgisi

Kanca

  1. derste “iki nokta arasındaki ortalama hızı” hesapladık. Peki TEK bir noktadaki ANLIK hızı nasıl bulursun — o noktada başka bir “ikinci nokta” bile YOKKEN?

Sezgi

Türev, bir fonksiyonun BİR noktadaki ANLIK değişim hızıdır — iki nokta arasındaki mesafe SIFIRA yaklaştıkça, ortalama hızın YAKINSADIĞI değer. Geometrik olarak, bu, o noktadaki TEĞET doğrunun EĞİMİDİR. Aşağıda bir fonksiyon seç, noktayı KAYDIR, ve teğetin CANLI değiştiğini izle:

-3-2-1012302468xf(x)

f'(x) = 2x

x₀ = 2.00, f(x₀) = 4.00

f'(x₀) = 4.00 (teğetin eğimi)

Mekanizma

x0=2 noktasındaki ANLIK değişim hızını, İKİ nokta arasındaki mesafeyi (h) GİDEREK küçülterek arayalım:

h küçüldükçe ortalama hız neye yakınsıyor?

# 8. derste "ORTALAMA değişim hızını" gördük: iki nokta arasındaki eğim.
# TÜREV, bu iki nokta birbirine SONSUZ YAKINLAŞTIKÇA ortaya çıkan "ANLIK" hızdır.
def f(x):
    return x ** 2

x0 = 2.0
print(f"f(x) = x^2, x0 = {x0} noktasındaki ANLIK değişim hızını arıyoruz.\n")
print("h küçüldükçe (x0 ile x0+h arasındaki mesafe azaldıkça) ortalama hız:")
for h in [1.0, 0.1, 0.01, 0.0001]:
    sonlu_fark = (f(x0 + h) - f(x0)) / h
    print(f"  h={h:<8} -> (f({x0}+{h}) - f({x0})) / {h} = {sonlu_fark:.6f}")

print("\nh KÜÇÜLDÜKÇE, ortalama hız 4.0'a YAKLAŞIYOR -- bu, x0=2 noktasındaki")
print("TÜREVDİR: f'(2) = 4.")
f(x) = x^2, x0 = 2.0 noktasındaki ANLIK değişim hızını arıyoruz.

h küçüldükçe (x0 ile x0+h arasındaki mesafe azaldıkça) ortalama hız:
  h=1.0      -> (f(2.0+1.0) - f(2.0)) / 1.0 = 5.000000
  h=0.1      -> (f(2.0+0.1) - f(2.0)) / 0.1 = 4.100000
  h=0.01     -> (f(2.0+0.01) - f(2.0)) / 0.01 = 4.010000
  h=0.0001   -> (f(2.0+0.0001) - f(2.0)) / 0.0001 = 4.000100

h KÜÇÜLDÜKÇE, ortalama hız 4.0'a YAKLAŞIYOR -- bu, x0=2 noktasındaki
TÜREVDİR: f'(2) = 4.

Bu limitin ANALİTİK (formülle bulunan) karşılığına bakalım:

Analitik türev formülü: (x^n)' = n·x^(n-1)

# x^2'nin türevi, ANALİTİK olarak f'(x) = 2x FORMÜLÜYLE bulunur (kalkülüsün
# temel kuralı: x^n'in türevi n*x^(n-1)'dir).
def f_turev(x):
    return 2 * x

analitik_sonuc = f_turev(x0)
print(f"\nAnalitik formül: f'(x) = 2x  =>  f'({x0}) = {analitik_sonuc}")
print(f"Sonlu fark limiti (h->0) ile analitik formül AYNI sonucu veriyor: {np.isclose(analitik_sonuc, 4.0)}")

Analitik formül: f'(x) = 2x  =>  f'(2.0) = 4.0
Sonlu fark limiti (h->0) ile analitik formül AYNI sonucu veriyor: True

Matematik

Türevin tanımı
f(x0)=limh0f(x0+h)f(x0)hf'(x_0) = \lim_{h \to 0} \frac{f(x_0 + h) - f(x_0)}{h}

Bu, 8. dersteki ortalama değişim hızı formülünün AYNISIDIR — SADECE hh (iki nokta arasındaki mesafe) SIFIRA yaklaşırken alınan LİMİTİDİR.

Kod

Teğet doğru: türev = eğim

# TÜREV, x0 noktasındaki TEĞET doğrunun EĞİMİDİR. Teğet doğru, o noktada
# fonksiyona "DOKUNAN" düz bir çizgidir.
egim = f_turev(x0)
sabit = f(x0) - egim * x0  # y = egim*x + sabit, y-f(x0) = egim*(x-x0)

def teget(x):
    return egim * x + sabit

print(f"\nTeğet doğru: y = {egim}x + ({sabit})")
print(f"x0={x0} noktasında: f({x0})={f(x0)}, teğet({x0})={teget(x0)}  (AYNI nokta -- teğet, eğriye DOKUNUYOR)")
print(f"Yakın bir noktada (x=2.1): f(2.1)={f(2.1):.4f}, teğet(2.1)={teget(2.1):.4f}  (ÇOK YAKIN -- teğet, eğriyi YEREL olarak İYİ yaklaştırıyor)")
print(f"Uzak bir noktada (x=3.0): f(3.0)={f(3.0):.4f}, teğet(3.0)={teget(3.0):.4f}  (FARK büyüyor -- teğet sadece YEREL bir yaklaşımdır)")

Teğet doğru: y = 4.0x + (-4.0)
x0=2.0 noktasında: f(2.0)=4.0, teğet(2.0)=4.0  (AYNI nokta -- teğet, eğriye DOKUNUYOR)
Yakın bir noktada (x=2.1): f(2.1)=4.4100, teğet(2.1)=4.4000  (ÇOK YAKIN -- teğet, eğriyi YEREL olarak İYİ yaklaştırıyor)
Uzak bir noktada (x=3.0): f(3.0)=9.0000, teğet(3.0)=8.0000  (FARK büyüyor -- teğet sadece YEREL bir yaklaşımdır)
f(x)=x karesi parabolü ve x0=2 noktasındaki teğet doğrusu, kesişim noktası işaretli.
x0=2 noktasında teğet doğrusu (kesikli), eğriye TAM O NOKTADA dokunuyor -- eğimi f'(2)=4. Noktadan uzaklaştıkça (x=3'te), teğet ile gerçek eğri arasındaki fark BÜYÜYOR.

Nerede işe yarar

Türev, ilerideki TÜM derin öğrenme matematiğinin ÇEKİRDEĞİDİR:

  • 10. derste (zincir kuralı), birden fazla fonksiyonun İÇ İÇE geçtiği durumlarda türev nasıl hesaplanır göreceğiz — bu, BACKPROPAGATION’IN kalbidir.
  • 12. derste (gradyan inişi), bir modelin parametrelerini “en iyi” yöne doğru İTMEK için, kayıp fonksiyonunun türevini (gradyanını) KULLANIRIZ.
  • DL kategorilerinde, bir sinir ağının “ÖĞRENMESİ”, ÖZÜNDE, milyonlarca türev hesabının ZİNCİRLEME uygulanmasıdır.

Bu 2 hatayı yaparsın:

  1. Türevi “karmaşık bir formül EZBERLEMEK” sanmak — HAYIR, ÖZÜNDE, bu dersteki “h küçüldükçe ortalama hız neye yakınsıyor” sorusunun CEVABIDIR.
  2. Teğet doğrunun eğriyi HER YERDE İYİ yaklaştırdığını düşünmek — HAYIR, teğet SADECE o NOKTANIN YAKININDA iyi bir yaklaşımdır (notebook’ta x=3’te fark BÜYÜYOR).

Kendini test et

1. sonlu-fark-tanimi bloğunda h=1.0 için ortalama hız 5.0 çıkarken, h=0.0001 için 4.0001 çıkıyor. Bu NEYİ gösteriyor?
  1. Bir hesaplama hatası
  2. h KÜÇÜLDÜKÇE, ortalama hızın gerçek TÜREV değerine (4.0) YAKLAŞTIĞINI -- türev, TAM OLARAK bu yakınsamanın limit değeridir (doğru cevap)
  3. h büyüdükçe sonucun daha doğru olduğunu
  4. Fonksiyonun her h değerinde farklı olduğunu

Neden: sonlu-fark-tanimi bloğunda bu AÇIKÇA belirtiliyor: 'h KÜÇÜLDÜKÇE, ortalama hız 4.0a YAKLAŞIYOR -- bu, x0=2 noktasındaki TÜREVDİR'.

2. teget-dogrusu bloğunda x=2.1'de f(2.1)=4.41 ve teğet(2.1)=4.40 -- ÇOK yakın. Ama x=3.0'da f(3.0)=9.0 ve teğet(3.0)=8.0 -- fark BÜYÜK. Bu NEDEN?
  1. Bir hesaplama hatası
  2. Teğet doğru, SADECE x0 NOKTASININ yakınında İYİ bir yaklaşımdır -- x0'dan UZAKLAŞTIKÇA, düz bir çizgi (teğet) ile eğri (parabol) ARASINDAKİ fark BÜYÜR (doğru cevap)
  3. Teğet doğrusu her zaman yanlıştır
  4. x=3.0 fonksiyonun tanım kümesi dışındadır

Neden: notebook çıktısında bu AÇIKÇA belirtiliyor: 'Uzak bir noktada ... FARK büyüyor -- teğet sadece YEREL bir yaklaşımdır'.

3. Bir sinir ağının parametrelerini güncellerken (gradyan inişi), türev NEDEN kullanılır?
  1. Rastgele bir sayı üretmek için
  2. Kayıp fonksiyonunun HANGİ yönde AZALDIĞINI (o noktadaki eğimi) bulmak için -- türev, parametreleri hangi yöne DOĞRU İTMEMİZ gerektiğini gösterir (doğru cevap)
  3. Sadece görselleştirme amaçlı
  4. Türev, gradyan inişiyle ilgisizdir

Neden: kullanım bölümünde bu AÇIKÇA bağlanıyor: 12. dersteki gradyan inişi, kayıp fonksiyonunun türevini (gradyanını) kullanarak parametreleri en iyi yöne iter.

Özet

Özet

  • Türev, bir noktadaki ANLIK değişim hızıdır -- h sıfıra yaklaşırken ortalama hızın yakınsadığı değer.
  • Geometrik olarak türev, o noktadaki TEĞET doğrunun EĞİMİDİR.
  • x^n fonksiyonunun türevi, ANALİTİK olarak n·x^(n-1) formülüyle bulunur.
  • Teğet doğru, SADECE o noktanın yakınında İYİ bir yaklaşımdır -- uzaklaştıkça fark büyür.
  • Türev, backpropagation ve gradyan inişinin (10-12. dersler) TEMEL yapı taşıdır.
Sonraki adım: Zincir kuralı (backprop'un kalbi) →