• Sonuç bulunamadı

3. MATERYAL ve YÖNTEM

3.3. Yapay Sinir Ağları

3.3.2. Öğrenme fonksiyonu

Yapay sinir ağının ilham aldığı beyin, deneyimlerinden öğrenir. Yapay sinir ağlarında da işleyiş benzerdir. Yapay sinir ağları, bağlantı ağırlıklarını değiştirerek öğrenme ile probleme bir çözüm ürettiğinden makine öğrenme algoritması olarak tanımlanabilir. Nöronlar arası bağlantıların şiddeti bağlantının ağırlık değeri olarak depolanır. Sistem yeni bilgiyi bu ağırlıkların ayarlanması sayesinde öğrenir. Ağın mimarisi ve kullanılan algoritmik metot ağın öğrenme kabiliyetini doğrudan etkiler (http://osp.mans.edu.eg/rehan/ann/Artific ial%20Neural%20Networks.htm, erişim tarihi 04.10.2018).

Öğrenme zekanın en temel özelliğidir. Öğrenmenin tam tanımını yapmak zor olsa da, ANN’nin öğrenme süreci ağın belirli bir amacı etkin bir biçimde gerçekleşmesi için ağ yapısının ve bağlantılarının güncellenmesi olarak görülebilir. Performans, tekrarlı bir şekilde ağırlıklar güncellendiğinden zamanla geliştirilir. ANN girdi çıktı ilişkisini insanlar tarafından verilecek temel kurallar ile öğrenmek yerine verilen örnek veriden deneme yanılma yoluyla öğrenir. Bu, ağın en önemli avantajlarındandır. Öğrenme prosesini anlamak ve tasarlamak için öncelikle ANN’nin çalıştığı çevreye ilişkin bir modele sahip olunması gerekmektedir. Ağ için hangi bilgilerin kullanılabilir olduğunun bilinmesi gerekmektedir. Ağ ağırlıklarının nasıl

25

güncellendiği (öğrenme kurallarının prosesi yönetme şekli) bilinmelidir. Öğrenme algoritması ise öğrenme kurallarının ağırlıklarının güncellenmesi prosedürüdür (Jain ve Mao 1996).

Yapay sinir ağı eğitim verisi ile desteklendikçe eğitim gerçekleşir. Kesinlik arz etmeyen, bulanık, başka faktörlerin etkisi altında olan veriye rağmen yapay sinir ağları yüksek kalitede çıktılar üretir ve eğitim verisinde öğrendiklerini daha önce hiç rastlamadığı veriye yönelik uygulayabilir (Basheer ve Hajmeer 2000). ANN üç farklı öğrenme ile karşımıza çıkmaktadır.

Danışmansız öğrenme: Gizli nöronlar dışarıdan yardım almadan kendileri bir yolunu bulup organize olmak zorundadırlar. Bu yaklaşımda ağa, sonuçlara bakarak tahmin performansını göreceği hiçbir çıktı verilmez. Ağ bir öğreticiye ihtiyaç duymadan deneyerek ilerler. Bu yöntemde ağ veriyi oluşturan yapıyı araştırır ve korelasyonları bulur. Bu korelasyonlar ile örnekleri kategorilere ayırır.

Danışmanlı öğrenme: Dışarıdan destek ile çalışan ağdır. Gizli katmandaki nöronlar arası bağlantı rastgele ayarlanır. Ağa eğitim esnasında dışarıdan doğru cevaplar sağlanır. Ağ doğru yolda olup olmadığını bu cevaplara bakarak görür. Ağın problemin çözümüne yakın olma durumuna göre yeniden düzenlenir. Destekli öğrenme danışmanlı öğrenmenin bir varyasyonudur. Bu öğrenmede doğru cevaplar yerine ağın cevaplarının doğruluğu üzerinde yorumlar yapılmaktadır. Bir danışman veri ile ağı eğitir veya sonuçların yeterliliği üzerinden başarısını ölçer.

Hibrit öğrenme: Danışmanlı ve danışmansız öğrenmeyi birlikte uygular. Ağırlıklar genellikle danışmanlı öğrenme ile belirlenirken, diğerleri danışmansız öğrenme ile elde edilir (Jain ve Mao 1996).

Öğrenme kuralları, yapay sinir ağları öğrenmesinde temel prensip bağlantı ağırlıklarının ayarlanmasıdır. Bu öğrenme gerçekleştirilirken ağın çevrimiçi veya çevrimdışı olması durumuna göre farklı kurallar çerçevesinde öğrenme gerçekleşir. Bunlardan bazıları aşağıdaki gibidir (Öztemel 2012).

Hebb Kuralı: Hücreler ilettikleri sinyali alan komşu hücrelerle olan bağlantıları güçlendirmeye çalışmaktadır.

Hopfield Kuralı: Dışarıdan alınan bir sabit değer ile öğrenme gerçekleştirilir. Bu değer ölçüsünde bağlantılar kuvvetlendirilir veya zayıflatılır.

Delta Kuralı: Danışmanlı öğrenmede doğru sonuçlar ağa verildiğinden ağ bu cevaplara ulaşmaya çalışarak bağlantı ağırlıklarını ayarlar. Burada hedef değerleri ile ağın o iterasyonda

26

ürettiği çıktılar arasındaki hatanın karelerinin ortalamasına bakılır ve bu değerin minimuma yakınsaması amaçtır.

Kohonen Kuralı: Sadece belirli sayıda hücrenin ağırlıkları değiştirilmektedir. Hücreler ağırlığı değişen hücre olmak için yüksek çıktı üretmelidirler.

Farklı mimari ve öğrenme kurallarına göre kullanılan algoritmalar Çizelge 3.4’de verilmiştir.

Çizelge 3.4. Öğrenme Algoritmaları (Jain ve Mao 1996)

Öğrenme Öğrenme Kuralı Mimari Öğrenme Algoritması Kullanım Alanı

Danışmanlı

Hata düzeltme Tek veya çok katmanlı perceptron

Boltzmann Yinelemeli Boltzmann öğrenme

algoritması Örüntü sınıflandırma Hebbian Çok katmanlı ileri besleme Lineer diskriminant

analizi

Hata düzeltme Çok katmanlı ileri besleme Sammon’s projection Veri analizi

Hebbian

İleri beslemeli veya rekabetçi Temel bileşen

çözümlemesi Veri analizi Veri sıkıştırma Hopfield ağı Çağrışımlı bellek

öğrenmesi Çağrışımlı bellek

Rekabetçi

Rekabetçi Vektör niceleme Kategorizasyon

Veri sıkıştırma

ART ağı ART1, ART2 Kategorizasyon

Hibrit Hata düzeltme

Geri Yayılım: Geri yayılım algoritmasının amacı, diğer pek çok öğrenme algoritmasında olduğu gibi ağırlıkları ayarlayarak minimum hata ile çıktıların uydurulmasıdır. Geri yayılım bir gradyan inme yaklaşımı olup, birinci dereceden türevlerin minimizasyonu ile optimum çözüm bulunur. Eğitim esnasında algoritma tekrarlı olarak genelleştirilmiş delta kuralı ile ağırlıkları ayarlayarak üretilen çıktıların istenen çıktılara yaklaşmasına çalışır. İleri beslemeli ağ yapılarında en sık kullanılan öğrenme algoritmasıdır. Geri yayılım algoritmasının ileri beslemeli ağlarda kullanımının belirli avantaj ve dezavantajları bulunmaktadır. Avantajları;

ayarlanması gereken parametre sayısının az olması nedeniyle kullanımının ve uygulamasının kolay olması, farklı birçok problem türünde kullanılabilir olması ve doğrusal olmayan kompleks problemleri modellemede başarılı olması olarak sıralanabilir. Dezavantajları ise;

katman ve nöron sayılarının öngörülemez oluşu, öğrenme hızının düşük olması, yeni öğrenilen bilginin eskinin üzerine yazılıyor olması ve değişimleri kendiliğinden tespit edememesi nedeniyle bilinen çıktılar ile çalışılması gerekliliğidir (Priddy ve Keller 2005). Tüm ağ yapıları

27

nöronların bilgisayar simülasyonlarından oluşmaktadır. Yazılım tasarımı tamamlandıktan sonra yapay sinir ağlarının eğitimi ve geçerlilik kontrolü yapılmalıdır. ANN’nin kullanılış amacına göre seçilmesi gereken birbirinden farklı öğrenme algoritmaları bulunmaktadır. Ancak geri yayılım algoritması en sık kullanılandır (Drew ve Monson 2000).

Levenberg–Marquardt (LM Algoritması): Bir diğer doğrusal olmayan optimizasyon algoritmasıdır. Geri yayılımdaki gibi bağlantı ağırlıklarının değişimleri hesaplanır. Ancak LM daha kısıtlıdır. Bellek gerekliliği ağırlıkların sayısının karesi ile orantılıdır. Dolayısıyla büyük ağlar için LM’nin uygulanması güçtür. Algoritma göreceli olarak daha küçük ağlara çözüm üretebilmektedir. Hata fonksiyonları ile çalıştığından tahmin modellerinde de sıklıkla kullanılmaktadır (Bishop 1995, Masters 1995). Her ağırlık değişiminden sonra hatalar hesaplanır. Hatalarda önceki iterasyona göre bir iyileşme yok ise değişiklik yapılmaz.

Minimum noktaya yaklaştıkça doğrusallık artacağından fonksiyonun doğrusal olduğu varsayılarak minimum nokta aranır. Minimum nokta olmayan durumlarda da gradyan inme kullanılacağından sonuç ileriki iterasyonlarda minimum noktaya doğru yakınsayacaktır (Priddy ve Keller 2005).

Değişken öğrenme hızlı gradyan inme: Gradyan inme öğrenmesi (GDX) basit bir çalışma prensibine sahiptir. Bu basit yapısına rağmen birçok farklı algoritmanın geliştirilmesinde önemli bir yere sahiptir (Baldi 1995). Gradyan inme öğrenmesinin performansı, sabit öğrenme hızı yerine uyarlamalı değişken öğrenme hızı ile yüksek seviyelere çıkabilmektedir. Öncelikli olarak başlangıç ağının çıktısı ve hata miktarı belirlenir. İterasyonlar ile ağın öğrenme hızı değişir ve ağırlıklar ile yanlılık güncellenir. Yeni çıktılara ulaşılıp hata hesaplandıktan sonra yeni hatanın önceki iterasyon hatasının bir eşik değeri kadar üzerinde olup olmadığına bakılır. Eğer hata bu değerin üzerinde ise yeni ağırlıklar ve yanlılık kabul edilmez ve öğrenme hızı düşürülür. Eğer hata belirlenen sınırın altında ise ağırlıklar kabul edilir ve önceki hatanın da altında ise öğrenme hızı arttırılır (Singh ve ark. 2015).