Yapay sinir ağları ile ilgili terimleri örnek bir senaryo üzerinden açıklayabilirim. Diyelim ki bir ev fiyatı tahmin modeli oluşturuyoruz. Bu senaryoda kullanacağımız örnek değerlerle birlikte temel terimleri açıklayacağım.
Girdi (Input): Evin özellikleri, örneğin:
x1: Evin büyüklüğü (m²) = 120
x2: Oda sayısı = 3
x3: Evin yaşı (yıl) = 5
Ağırlıklar (Weights): Her girdinin önem derecesi, örneğin:
w1 = 0.5 (büyüklük için)
w2 = 0.3 (oda sayısı için)
w3 = -0.2 (yaş için, negatif çünkü yaş arttıkça değer düşer)
Bias (Yanlılık): Sabit bir değer, örneğin b = 10
Nöron: Girdileri alıp çıktı üreten birim. Örneğimizde bir nöron şöyle çalışır: z = (x1 * w1) + (x2 * w2) + (x3 * w3) + b z = (120 * 0.5) + (3 * 0.3) + (5 * -0.2) + 10 = 70.1
Aktivasyon Fonksiyonu: Nöronun çıktısını dönüştürür. Örneğin, ReLU fonksiyonu: f(z) = max(0, z) f(70.1) = 70.1
Katman (Layer): Nöronların grubu. Örneğimizde:
Girdi katmanı: 3 nöron (ev özellikleri)
Gizli katman: 4 nöron (ara hesaplamalar için)
Çıktı katmanı: 1 nöron (tahmin edilen fiyat)
İleri Yayılım (Forward Propagation): Girdiden çıktıya doğru hesaplama.
Geri Yayılım (Backpropagation): Hata hesaplanıp ağırlıkların güncellenmesi.
Epoch: Tüm veri setinin bir kez işlenmesi. Örneğin, 100 epoch.
Öğrenme Oranı (Learning Rate): Ağırlıkların ne kadar hızlı değişeceği, örneğin 0.01.
Kayıp Fonksiyonu (Loss Function): Tahmin ile gerçek değer arasındaki fark. Örnek: Ortalama Kare Hata (MSE) Gerçek fiyat: 250,000 TL Tahmin: 240,000 TL MSE = (250,000 - 240,000)² = 100,000,000
Optimizasyon Algoritması: Ağırlıkları güncelleyen algoritma, örneğin Gradient Descent.
Bu terimler ve örnek değerler, yapay sinir ağının ev fiyatı tahmin etmek için nasıl çalışabileceğini gösteriyor. Daha fazla detay veya başka bir konu hakkında açıklama ister misiniz?
T
Aktivasyon fomksiyonunu detaylandır
Tabii, aktivasyon fonksiyonunu daha detaylı açıklayabilirim.
Aktivasyon fonksiyonu, yapay sinir ağlarında çok önemli bir rol oynar. Bu fonksiyon, bir nöronun çıktısını belirler ve ağa doğrusal olmayan özellikler kazandırır. İşte aktivasyon fonksiyonu hakkında daha detaylı bilgiler:
Amacı:
Nöronun çıktısını sınırlandırmak veya normalize etmek
Ağa doğrusal olmayan özellikler kazandırmak
Karmaşık ve soyut özellikleri öğrenmeyi sağlamak
Yaygın kullanılan aktivasyon fonksiyonları: a) Sigmoid:
Formül: f(x) = 1 / (1 + e^(-x))
Çıktı aralığı: (0, 1)
Örnek: x = 2 için, f(2) ≈ 0.88
Kullanım: Genellikle ikili sınıflandırma problemlerinde çıkış katmanında
b) Hiperbolik Tanjant (tanh):
Formül: f(x) = (e^x - e^(-x)) / (e^x + e^(-x))
Çıktı aralığı: (-1, 1)
Örnek: x = 2 için, f(2) ≈ 0.96
Kullanım: Sigmoid'e benzer, ama çıktısı sıfır merkezli
c) ReLU (Rectified Linear Unit):
Formül: f(x) = max(0, x)
Çıktı aralığı: [0, ∞)
Örnek: x = -2 için f(-2) = 0, x = 3 için f(3) = 3
Kullanım: Derin öğrenme ağlarında en yaygın kullanılan fonksiyon
d) Leaky ReLU:
Formül: f(x) = max(αx, x), burada α küçük bir sayı (örn. 0.01)
Çıktı aralığı: (-∞, ∞)
Örnek: α = 0.01 için, x = -2 olduğunda f(-2) = -0.02
Kullanım: ReLU'nun negatif değerler için "ölü nöron" sorununu çözmek için
e) Softmax:
Formül: f(x_i) = e^(x_i) / Σ(e^(x_j))
Çıktı: Olasılık dağılımı (tüm çıktıların toplamı 1)
Kullanım: Çok sınıflı sınıflandırma problemlerinde çıkış katmanında
Aktivasyon fonksiyonunun önemi:
Doğrusal olmama: Eğer aktivasyon fonksiyonu olmasaydı, ağ sadece doğrusal fonksiyonları modelleyebilirdi.
Geri Yayılım (Backpropagation) Algoritması
Geri yayılım, yapay sinir ağlarında ağırlıkları güncellemek için kullanılan temel bir öğrenme algoritmasıdır. İşte adım adım geri yayılım süreci:
İleri Yayılım:
Girdi verileri ağ boyunca ilerletilir.
Her nöron, girdilerini ağırlıklarla çarpar, toplar ve aktivasyon fonksiyonundan geçirir.
Son katmanda bir çıktı elde edilir.
Hata Hesaplama:
Elde edilen çıktı ile beklenen çıktı arasındaki fark hesaplanır.
Örnek: Ortalama Kare Hata (MSE) = (1/n) * Σ(y_tahmin - y_gerçek)²
Geri Yayılım:
Hata, ağ boyunca geriye doğru yayılır.
Her nöronun hataya katkısı hesaplanır.
Zincir kuralı kullanılarak gradyanlar hesaplanır.
Ağırlık Güncelleme:
Hesaplanan gradyanlar kullanılarak ağırlıklar güncellenir.
w_yeni = w_eski - (öğrenme_oranı * gradyan)
Matematiksel İfade
Geri yayılımın temel denklemi:
∂E/∂w = ∂E/∂a * ∂a/∂z * ∂z/∂w
Burada:
E: Hata
w: Ağırlık
a: Aktivasyon fonksiyonu çıktısı
z: Ağırlıklı toplam
Örnek Senaryo
Basit bir sinir ağı için geri yayılım:
Girdi: x = [1, 2]
Ağırlıklar: w = [0.5, 0.8]
Çıktı: y = 2.1
Gerçek değer: t = 2.5
İleri yayılım: y = f(w1x1 + w2x2) = f(0.51 + 0.82) = f(2.1) = 2.1
Hata: E = (y - t)² = (2.1 - 2.5)² = 0.16
Geri yayılım: ∂E/∂w1 = 2(y-t) * f'(z) * x1
Ağırlık güncelleme: w1_yeni = w1 - η * ∂E/∂w1
Bu süreç, belirlenen epoch sayısı kadar veya hata belirli bir eşiğin altına düşene kadar tekrarlanır.