Yazan : Şadi Evren ŞEKER
Yapay sinir ağlarında yaşanan bir problem olan XOR problemine göre tek katman ile bir yapay sinir ağının xor fonksiyonunu vermesi beklenemez. Bu durum doğrusal ayrılabilirlik (linearly seperable) ile açıklanabilir.
XOR probleminin çözümü için çok katmana ihtiyacımız bulunur. Problemin çözümü için giriş ve çıkış katmanları tahil 3 katman gerekmektedir ve çözüm aşağıda tasvir edilmiştir:
Yukarıdaki şekilde C= XOR(A,B) fonksiyonunun çözümü tasvir edilmiştir. Bu çözümde 3 katman bulunmatadır ve bu katmanlardan birisi giriş, birisi çıkış birisi de gizli katman olarak isimlendirilebilir. Şekildeki sinapsisler üzerinde verilen W değerleri ağırlıkları göstermektedir.Ayrıca şekilde gizli katmanda bulunan nöronlar için eşik değeri (treshold) verilmiştir.
XOR fonksiyonun doğruluk çizlegesi (Truth Table) aşağıda verilmiştir:
A B Xor
-------
0 0 0
0 1 1
1 0 1
1 1 0
Bu fonksiyonun çalışmasını 0 ve 0 girişi için test edelim:
A = 0 ve B = 0 için nöronlardaki değerler sırasıyla
X= 0 ,Y= 0 ,Z= 0 olacaktır ve çıkış değeri için 0 + 0 + 0 = 0 değeri bulunur.
Fonksiyonu 0 ve 1 girişi için test edecek olursak:
A = 0 ve B = 1 için nöronlardaki değerler sırasıyla
X=0,Y=1,Z=1 değerleri bulunur ve bu değerler sonucunda sadece Z nöronu eşik değerini (thrashold) geçerek hareketlenir. Sonuç 0+0+1=1 olarak bulunur.
Fonksiyonun 1 ve 0 girişi için durum 0 ve 1 girişi için olduğunun simetriğidir.
Fonksiyonu 1 ve 1 için test edecek olursak:
A = 1 ve B = 1 için nöronlardaki değerler sırasıyla
1, 2, 1 olacaktır ve çıkış değeri için 1 + (-2) + 1 = 0 değeri bulunur.
Gizli katmandaki nöron sayısını nasıl belirledik? Sabit bit formülü yada min max değeri varmıdır bu nöron sayısının belirlenmesinde. Bilgilendirirseniz sevinirim?