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.
Basit Bir YSA Mimarisi
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.
Tekil Doğrusal Algılayıcı (TDA) (Perceptron)
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;
- Ağırlıklara başlangıç değeri atarız.
- Değişken kısmın hesaplamasını yaparız.
- Fonksiyona sabit değeri ilave ederiz.
- İşlemci çıktısını elde ederiz.
- Gruplama doğru yapılmış mı kontrol ederiz.
- Ağırlıkları eğitiriz.
- Tüm desenler doğru kümeye yerleşene kadar 2. basamaktan itibaren işleme devam ederiz.
Tekli Yinelemeli Doğrusal Sinir Ağı (ADELINE, ADAPTİVE LINEAR ELEMENT)
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)<sub>i</sub>=Σ<sub>j=1</sub><sup>n</sup>a<sub>ij</sub>g<sub>ij</sub>+Q<sub>i</sub> şeklindedir.
Beklenen çıktı değeri Çi ise, hataların karesi;H<sub>i</sub>=-[Ç<sub>i</sub>-(NET)<sub>i</sub>]<sup>2</sup>
Hataların karesinin ağırlık katsayılarına göre türevi; δH<sub>i</sub>/δa<sub>ij</sub>=-[Ç<sub>i</sub>-(NET)<sub>i</sub>]<sup>2</sup>g<sub>ij</sub>
Ağırlık artım değeri yukarıdaki formülün (hata eğiliminin) bir yüzdesi (alfa) şeklindeΔa<sub>ij</sub>=α[Ç<sub>i</sub>-(NET)<sub>i</sub>]g<sub>ij</sub>
Eşik işlemcisinden geçirilerek kümeleme;
şeklinde yapılır. Hata;
Hi = Çi -Ki
olarak hesaplanır. Hatayı azaltmak için ağırlık yenilemesi
(yeni)a<sub>ij</sub>=(eski)a<sub>ij</sub>-α(Ç<sub>i</sub>-K<sub>i</sub>)g<sub>ij</sub>
ş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
Q<sub>yeni</sub>=Q<sub>eksi</sub>+(Ç-S<sub>ç</sub>)
olur.
Kaynaklar:
- Yapay Sinir Ağları İlkeleri, Zekai Şen