Merhaba arkadaşlar, bu yazımda sizlere bir parça yapay sinir ağlarından bahsedeceğim. Genel bir fikir edinmek için öncelikle Işıl Özge Pekel'in "e-bergi" de yazmış olduğu "Yapay Sinir Ağları" adlı yazısına bir göz atmanızı öneririm. Yazımın devamında daha çok YSA(yapay sinir ağları) nın matematiksel ve görsel anlatımını bulacaksınız.
YSAlar aldıkları girdileri işler ve bunlara karşılık çıktılar meydana getirir. Bu süreci bir karakutu'ya benzetebiliriz.
Bir mimarinin YSA mimarisi olması için girdi ve çıktılar yeterli değildir. aynı zamanda bağlantılarında ağırlıklar olması gerekir.
![]()
Doğrusal işlemler kullanarak verileri kümelere ayırma yeteneğine sahip olan ysa'dır. Peki bunu nasıl yapar?
Elimizde veri olarak bir koordinat düzlemine yerleştirilmiş beş "a" ve altı "b" nin koordinatları olsun.
Yukarıdaki şekilden anlaşıldığı gibi a lar ve b ler bir doğru ile birbirinden ayrılabilir. Bu doğrunun denklemi:
a1 x + a2 y + b = 0 'a benzer bir denklem olacaktır.
a1 , x değişkeninin ağırlığı; a2 ,y değişkeninin ağırlığı; b doğrunun koordinat başlangıcından geçmemesini sağlayan taraflılık sabitidir. Bu formüle sahip sonsuz sayıda doğru vardır. Peki bize gerekli olan hangisidir? Bulmak için;![]()
1-) a1, a2, b'ye rastgele sayılar atanır. Konu dahilinde uzmanlar rastgele sayıları atamaa işini belli bir mantık doğrultusunda yapar.
2-) koordinatlar kullanarak şekiller bir grup solda diğer grup sağda olmak üzere ikiye ayrılıyor mu kontrol edilir.
3-) kümeleme düzgün olduysa doğrumuzu elde etmiş oluruz. Eğer kümeleme düzgün degilse katsayılarımızı belli bir mantık çerçevesinde yenileriz ve 2. basamağa geri döneriz.![]()
Bir sinir hücresini fonksiyon şeklinde ifade etmek istersek
f = a1 x + a2 y + b
ifadesini elde ederiz.![]()
f in sonucunu da iki gruba ayırmak için, belli bir değerden büyükleri 1 küçükleri 0 a ya da -1 e eşitleyen bir fonksiyon kullanırız.
yani f in değeri belli bir değerden küçükse girdi 1 kümesine, küçükse o ya da -1 kümesine dahil edilir.
Tekli Doğrusal Algılayıcı'nın algoritmasını yeniden gözden geçirmek istersek;
Kendisini yineleyebilir ve TDA ya göre daha gelişmiş bir sinir ağıdır. Öğrenme hataların karesinin en küçüklemesi aracılığıyla yapılır ve TDA ile aralarındaki tek fark budur. Desenin doğru kümede kalıp kalmaması ağırlıkların değişimini engellemez. Her durumda ortalama kare hataların en küçüklemesi ağırlıkları değiştirir.TEYIDOS sinir ağı;![]()
verilen girdilere dayalı çıktının hesaplanması (NET)i=Σj=1naijgij+Qi şeklindedir.
Hataların karesinin ağırlık katsayılarına göre türevi; δHi/δaij=-[Çi-(NET)i]2gij
Ağırlık artım değeri yukarıdaki formülün (hata eğiliminin) bir yüzdesi (alfa) şeklindeΔaij=α[Çi-(NET)i]gijEşik işlemcisinden geçirilerek kümeleme;
Hi = Çi -Ki
olarak hesaplanır. Hatayı azaltmak için ağırlık yenilemesi
(yeni)aij=(eski)aij-α(Çi-Ki)gij
şeklinde yapılır. (alfa) öğrenme katsayısıdır, alfa bir olduğunda TEYİDOS TDA ya eşit olur.
Sabit katsayıda başlangıç değeri 1 alındığında
Qyeni=Qeksi+(Ç-Sç)
olur.
| Yazarın Üslubunu Beğendiniz mi?: | ||
| Yazının İçeriği Yeterli mi?: | ||
| Konu İlginizi Çekti mi?: |
Bu derginin içeriği, Creative Commons lisansı ile korunmaktadır.
Kaynak göstermek ve link vermek şartıyla ticari olmayan amaçlarla yazılarımızı kullanabilirsiniz.
©2007-2008 ODTÜ Bilgisayar Topluluğu