YSA - Basit Algılayıcı Öğrenme Kuralı ve XOR Probleminin Çözümü
1. Yapay Sinir Ağları
Basit Algılayıcı Öğrenme Kuralı
XOR Probleminin Çözümü
2. Basit Algılayıcı Öğrenme Kuralı
•Ağa girdi verilerive ona karşılık beklenen çıktı gösterilir. Birden fazla girdi değeri olabilir. Çıktı değeri ise 1 ve 0 değerlerinden birisini alır.
•Netgirdi şu şekilde hesaplanır:
NET=Σ(wi*xi)
3. •Çıktı değeri hesaplanır net girdinin eşik değerinden büyük veya küçük olmasınagöre çıktı değeri 0 ve 1 değerlerinden birisini alır.
Ç=1 Eğer NET > ᶲ
Ç=0 Eğer NET < ᶲ
4. •Eğer gerçekleşen çıktı ile beklenen cıktıaynı olursa ağırlıklarda herhangi bir değişiklik olmaz. Ağ, beklenmeyen bir çıktı üretmiş ise o zaman iki durum düşünülür:
•a)Ağın beklenen çıktısı 0 değeridir. Fakat net girdi eşik değerinin üstündedir.YaniAğın gerçekleşen çıktısı1 değeridir. Bu durumda ağırlık değerleri azaltılmaktadır. Ağırlıkların değişim oranı:
Wn=W0-μX
Olur. Burada μ öğrenme katsayısıdır.
5. •b)Beklenen çıktının 1 olması ve ağın gerçek çıktısının 0 olması durumudur. Yanı net girdi eşik değerinin altındadır. Bu durunda ağırlıkların değerlerinin arttırılması gerekmektedir.
Wn=W0+μX
•Yukarıdaki adımlar bütün girdi setindeki örnekler için doğru sınıflandırmalar yapılıncaya kadar tekrarlanır.
7. 1
1
G1=Girdi 1
G2=Girdi 2
Girilen örnekler için karar uzayı
8. •Bu karar uzayını iki ayrı sınıfa en uygun bölmek istenmektedir. Bunun için w1*G1+W2*G2-1=0 eşitliğini sağlayan değerlerin bulunması gerekmektedir. Öncelikle ağa giren girdi değerlerinden her birisi sıfıra eşitlenerek diğeri bulunur. Yani,
•G1=0 olursa o zaman G2=1/W2=1/1=1 olur.
•G2=0 olursa o zaman G1=1/W1=1/1=1 olur.
9. •Şekil üzerinde bu iki değer birleştirilirse karar uzayını bölen doğru bulunur. Bu doğrunun bir tarafı çıktının 1 olduğu durumu diğer tarafı ise çıktının 0 olduğu durumu göstermektedir. Hangi tarafın 1 veya sıfırı gösterdiğini bulmak kolaydır. Bunun için bir tarafa kalan noktalar formüle konularak sonuca bakılır. Eğer ağın sonucu eşik değerinden büyük ise verilerin alındığı taraf 1’in gösterdiği sınıfı temsil ediyor demektir. Aksi taktirde ise 0’ın temsil ettiği sınıfın tarafı belirlenmiş olucaktır. Örneğin G1=0 ve G2=2 noktasını taralı olmayan alanda bir değerdir. Bunları formülde yerine koyarsak 0.1+2.0=1 değeri elde edilir.
10. •Bu değer persetronöğrenim kuralına göre eşik değerinden büyük olduğundan ağın çıktısı 1 olacak demektir.
11. XOR Probleminin Çözülmesi
•Yapay sinir ağlarında yaşanan bir problem olan XOR problemine göretek katmanile bir yapay sinir ağının xorfonksiyonu vermesi beklenemez. Bu durum doğrusal ayrılabilirlikile açıklanabilir.
•XOR probleminin çözümü içinçok katmanaihtiyacımız bulunur. Problemin çözümü için giriş ve çıkış katmanları tahil3 katman gerekmektedir ve çözüm aşağıda tasvir edilmiştir:
12.
13. •Yukarıdaki şekilde C= XOR(A,B) fonksiyonunun çözümü tasvir edilmiştir. Bu çözümde 3 katman bulunmaktadır ve bu katmanlardan birisi giriş, birisi çıkış birisi de gizli katman olarak isimlendirilebilir. Şekildekisinapsislerüzerinde verilen W değerleri ağırlıkları göstermektedir. Ayrıca şekilde gizli katmanda bulunan nöronlar için eşlik değeri verilmiştir.
14. XOR fonksiyonundoğruluk çizelgesi
A B Xor------- 0 0 00 1 11 0 11 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.