Yapay Sinir Ağları Perceptron ve Adaline Modeli
Merhaba arkadaşlar bu yazımda yapay sinir ağlarından biraz bahsederek Perceptron ve Adaline olmak üzere 2 öğrenme modeline değineceğim. Ardından bu 2 modeli C# Windows Apllication ile code’a dökerek gerçekleştireceğiz.
Bildiğimiz üzere yapay sinir ağı demek insan beyninin işleyiş mekanizmasını taklit etmek demektir. Yapay sinir ağı yapay zekanın bir alt dalıdır ve merkezi sinir sisteminin görevini taklit etmeye dayanır. Sinir sisteminin de sinir hücrelerinden oluştuğunu biliyoruz. Sinir hücreleri dış dünyadan aldığı bilgileri kendine bağlı olan diğer sinir hücrelerine iletirler. İşte bizde bu sinir hücrelerini taklit edeceğiz ve bize gelen bilgiye öyle bir şekil vereceğiz ki (Öğrenme modellerine göre ) tıpkı bir sinir hücresinin girişine uygulanan bilgi nasıl çıkış veriyorsa bizde ona benzer bir çıkış üretilmesini sağlayacağız.
Bu işlemi biyolojik sinir sisteminde bulunan bölümlerin yapay sinir ağındaki karşılığını kullanarak yapacağız.
Peki nedir bu karşılıklar aşağıda sıralayalım.
Biyolojik Yapay
Nöron İşlem Elemanı
Dendrit Toplama fonksiyonu
Hücre Gövdesi Transfer Fonksiyonu
Aksonlar Eleman Çıkışı
Sinapslar Ağırlıklar
Gördüğünüz üzere bir sinir hücresinde bulunanların karşılığı yapay olarak bir takım matematiksel ifadelerden oluşuyor.
Bir sinir hücresini taklit etmek için çeşitli fonksiyonlar ve öğrenme modelleri geliştirilmiş.
Örneğin Öğrenme modeli olarak Perceptron, Adaline ve Madaline
Transfer fonksiyonları olarak Doğrusal aktivasyon, Keskin sınırlayıcı, hiperbolik Tanjant ve logaritmik sigmoid
gibi çeşitli fonksiyonlar ve modeller mevcut
Biz programımızı yazarken Perceptron ve Adaline Öğrenme modeli ile transfer fonksiyonu olarak da Keskin Sınırlayıcı fonksiyonunu kullanacağız. Şimdi adım adım bunların ne olduğuna ve formüllerinin ne olduğuna bakalım…
Perceptron : En basti ve tek katmanlı yapay sinir ağı öğrenme modelidir. Birden fazla girişi ve tek çıkışı vardır. Toplam fonksiyonundan çıkan değer Eşik değeri ie karşılaştırılır. Eşik değerini biz belirliyoruz.
Adım1: Ağa, girdiseti ve onakarşılık beklenen çıktı gösterilir(X,B).

Adım2: Perceptrona gelen Net girdi hesaplanır.

Adım3 : Perceptron çıkışı hesaplanır.

Ağın, beklenen çıktısı 0 iken Ne tgirdi eşik değerinin üzerinde ise ağırlık değerleri azaltılmaktadır.

Ağın,beklenen çıktısı 1 iken Net girdi eşik değerinin altında ise ağırlık değerleri arttırılmaktadır.

Adım4: Bütün girdi setindeki örnekler için doğru sınıflandırma yapılıncaya kadar ilk üç adımdaki işlemler tekrarlanır.
Adaline : Toplam fonksiyonundan çıkan değer eşik değeri ile karşılaştırılarken hedefe ulaşmada hata değeri göz önünde bulundurulur.
Adım1: Ağın net girdisi hesaplanır.
NET=Σwixi+Ф Toplam fonk. için i=1 den m’e kadar
NET=Ф+x1w1+x2w2+x3w3+………+xnwn
Adım2:Ağınçıktısıbelirlenir.
Çıktı(Ç)=1 Eğer NET>=0 ise Çıktı(Ç)=-1 Eğer NET<0 ise
Ağın çıktısını üreten fonksiyon bilinen bir step fonksiyondur. Beklenen değerin B olduğu varsayılırsa Adaline ünitesinin çıktısını ürettikten sonraki hatası:
E= B-Ç
olacaktır.
Amaç bu hatayı en aza indirecek ağırlıkları bulmaktır. Bunun için her seferinde ağa farklı örnekler gösterilerek hatalar hesaplanmakta ve ağırlıklar hatayı azaltacak şekilde değiştirilmektedir.
Keskin sınırlayıcı fonksiyonu : Mantıksal çıkış veren ve sınıflandırıcı ağlarda tercih edilen bir aktivasyon fonksiyonudur. Yani sonuca göre 1 veya 0 üretilir. Bilgisayar için gerekn bilgiler zaten 1 ve 0 oldğuna göre bu fonksiyonu kullanmak mantıklı…
Giriş Değer <0 dan Çıkış=0 Giriş Değer >0 Çıkış=1
Gelelim programın hazırlanmasına…
Formüllerde görülen tüm argümanları değişken olarak tanımlayacagız ve bu değişkenler kafamızdan değerler verip formülü uygulayacaız yapmamız gereken sadece budur.
Uygulamamızın sınıf şeması aşağıdaki gibi olması gerekir çünkü her iki öğrenme modelinde kullanılacak olan formüller ve parametreler hemen hemen aynıdır.

Popularity: 5% [?]



