Yapay Sinir Ağları
Yapay zekanın en geniş konularından biridir. Elimden geldiğince bu konuyla ilgili tüm bildiklerimi sizinle paylaşmaya çalışacağım. Yapay sinir ağları; insan beyninin öğrenme,eskiye bilgiye dayalı tahmin etme, eksik bilgiyi tamamlama gibi yeteneklerini makinelere kazandırmayı amaçlar. Birçok işlem ünitesinden oluşur. Processing elements, units,neuron. İşaret tanıma, el yazısı gibi farklı alanlarda başarıya ulaşmıştır. Yapay sinir ağları, bulanık mantık ve genetik algoritmayla birlikte kullanılarak çok etkin çözümler ortaya koyar.
Biyolojik Nöron ve Yapay Nöronun Karşılaştırması
Biyolojik nöron;
- İşlem birimlerine nöron denir.
- Nöron aktif veya pasif durumda olabilir.
- Eğer toplam giriş değeri belirtilen eşik değerinden büyükse nöron aktif olur. Değilse pasiftir.
Yapay nöron;
- Her nöron giriş ve çıkışlara sahiptir.
- Birçok sayıda işlem ünitesinden oluşur.
- Her nöron sahip olduğu aktivasyon fonksiyonu ile basit hesaplamalar yapar.
- Nöron bir giriş fonksiyonuna sahiptir.
-Node’lar giriş,çıkış,node fonksiyonu, bağlantılar ve bağlantı gücünden oluşur.
Yapay Nöronun Şekli
Eğer toplam sinyal hücreyi ateşleyebilecek eşik değerini atlatabilecek kadar yüksekse o hücre aktiftir yani y=1 dir. Değilse pasiftir yani y=0 dır.
Yin= ∑pi=1 Xi * Wi → y= f(Yin) bu aktivasyon fonksiyonudur.
Girişler yani X sinyalleri ağırlıklarıyla yani W lerle çarpılıp toplam sinyale dahil olur. En çok kullanılan fonksiyonlar Gaussian ve Sigmoid fonksiyonlarıdır.
Sigmoid Fonksiyonu: Devam eden sürekli cevaplar gelir ve ayrık değildir. Hassas değerlendirmelerde kullanılır.
Sigmoid f(x): 1/1+exp(-netj) veya f(x): 1/ 1+e-x
Gaussian Fonksiyonu: f(net)= (1/√2Πσ) exp(-1/2(net-µ/σ)2)
Yapay Sinir Ağlarında Öğrenme
1- Denetimli Öğrenme: Ağa belirli giriş değeri için çıkış değerleri verilir. Ağırlıklarda verilen giriş ve çıkış değerlerine göre ayarlanır.
2- Denetimsiz Öğrenme: Çıkış değerlerinin girilmesine gerek yoktur. Sistemin kendi kendine öğrenmesi beklenir.
3- Destekleyici Öğrenme: Denetimlinin farklı bir türüdür. Amaç çıkış değerleri girmek yerine verilen girişe göre çıkışı bulmaktır.
Perceptron Öğrenme Kuralı
η= öğrenme oranı
Wi= i. bağlantının ağırlık değeri Wi+1= Wi+ ΔWi
ΔWi= ağırlık değişim değeri ΔWi= η * Xi * (d-o)
Xi= i.girişe verilen değer
d= istenen çıkış değeri (tabloda verilir.)
o= hesaplanan çıkış değeri
Geri Beslemeli Öğrenim Algoritması (Backpropagation)
Buradaki amaç gerçek çıkış ile istenen çıkış arasındaki karesel hatayı minimum yapmaktır. Gizli katman için Sigmoid fonksiyonu hesaplanır.
Algoritmadaki işlem basamaklarımız;
İleri Yayılım için
netj= Σni=1 Xi * Wij → Gizli katman için toplam sinyal hesaplanır.
Zj= fsigmoid (zinj) → Gizli katman için çıkış değerleri hesaplanır.
Zj= 1/1+exp(-netj)
Yink= Σ zj * W jk → Çıktı katmanı için toplam sinyaller hesaplanır.
yk= fsigmoid(yink) → Çıktı katmanı için çıkış değeri hesaplanır.
yk= 1/1+exp(-netj)
** Eğitimin bitip bitmediğini anlamak için E değerimizin önceden verilmiş hataya eşit veya daha küçük olması gerektiğine bakarız.
E= 1/2 * Σ (Tj-Fj)2 → Hata hesaplama
Geri Yayılım İçin
Delta ve çıkış değerleri geri yayılım için hesaplanır.
∫j= Fj * (1-Fj)*(TJ-Fj) → Çıkış katmanının hata hesaplamıası (her bir nöron için)
∫j= Fj * (1-Fj) * Σk ∫k * Wkj → Gizli katmanın hata hesaplaması
Bütün katmanlar için ağırlık değerleri yeniden hesaplanır.
Wi+1= Wi + η * Xi * (d-o)
Amaç verilen giriş değerleriyle hedefe ulaşmaktır. Yapay sinir ağlarıyla ilgili genel bilgileri verdim. İleri yayılım ve geri yayılımla ilgili örnekleri bir sonraki yazımda göstereceğim.
İyi Çalışmalar..
Çok güzel paylaşımlar gerçekten teşekkür ederim
Rica ederim.. Yararlı olduysam ne mutlu bana..Kolay gelsin..