• Sonuç bulunamadı

Yapay Sinir Ağlarının Eğitimi ve Testi

3.2 Yapay Sinir Ağları (YSA)

3.2.3 Yapay Sinir Ağlarının Eğitimi ve Testi

Yapay sinir ağlarının eğitim ve test aĢamalarında kullanılacak girdi ve çıktı değerleri, ağda kullanılacak olan aktivasyon fonksiyonunun özelliğine göre standardize edilmelidir. Örmeğin, ağda sigmoid aktivasyon fonksiyonu kullanılacak ise, fonksiyon 0 ile 1 aralığında geçerli olduğundan tüm veri değerleri bu aralık içersine sokulmalıdır. Eğer veriler standardizasyon yapmadan ağa tanıtılırsa verilerdeki 1‘den büyük değerler için yapay sinir hücrelerinin net çıktıları 1 değerine, 0 dan küçük veriler için de net çıktıları 0 değeri olarak hesaplanacaktır. Eğitimde bu tür hatalardan kaçınılmak için sigmoid ve hiperbolik tanjant fonksiyonlarında kullanılan bazı standardizasyon yöntemleri aĢağıda özetlenmektedir.

maks i i x x z   1 (3.13)

Denklem 3.13‘te tanımlanan formülasyonda, zi standardize değeri, xi veri

setindeki değeri ve xmaks veri setindeki maksimum değeri tanımlamaktadır (Tayfur,

2002). Bu standardizasyon yöntemi veri setinde 0 ve bundan küçük değerler olmaması halinde kullanılmaktadır.

min min x x x x z maks i i   (3.14)

Denklem 3.14‘te xmin veri setindeki minimum değeri tanımlamaktadır. Denklem

3.13‘te olduğu gibi Denklem 3.14‘te veri setinde 0 ve bundan küçük değerler olmaması halinde kullanılmaktadır.

min

min x x x x d c z maks i i    (3.15)

Denklem 3.15‘te tanımlanan c ve d ölçeklendirme parametreleridir. Yapay sinir ağı uygulamalarında c ve d parametreleri probleme dayalı olarak kullanıcı tarafından belirlenmektedir. Yapay sinir ağı uygulamalarında bu değerler genellikle 0,1 ve 0,8 alınıp veri seti 0,1 ile 0,9 aralığına veya 0,2 ve 0,6 alınarak 0.2 ile 0.8 aralığına standardize edilir (Hsu, Gupta ve Sorooshian, 1993, Imrei, Durucan ve Korre, 2000, Dawson, Harpman, Wilby ve Chen, 2002, Cığızoğlu, 2005, Shrestha, Theobald, ve Nestmann, 2005).

Hiporbolik tanjant fonksiyonunun kullanılması halinde veri setindeki değerler (-1;1) aralığına standardize edilmektedir. Bu fonksiyon için sıklıkla kullanılan standardize yöntemi Denklem 3.16‘da verilmektedir.

f x x x x e z maks i i    min min (3.16)

Denklem 3.16‘da tanımlamada, e ve f değerleri ölçeklendirme parametreleridir. Bu değerler sırası ile 2 ve 1 alındığı durumlarda veri seti aralığı [-1;1], 1,8 ve 0,9 alınması durumunda [-0,9;0,9] aralığında standardize edilmiĢ olunur.

Verilerin standardizasyonu tamamlandıktan sonra, eĢik değerin ve yapay sinir hücrelerindeki bilgilerin bir sonraki katmana ne oranda aktarılacağını belirleyen ağırlık katsayıları, ağın eğitimine baĢlamadan önce rastgele olarak atanmaktadır. Eğer ağırlık katsayısına 0 değeri atanırsa bağlı olduğu sinir hücresinden veya eĢik değerden diğer katmana herhangi bir bilgi taĢınamamaktadır.

Yapay sinir ağında kullanılacak veriler standardize edilip, ağırlık katsayıları atandıktan sonra ağın eğitim aĢamasına geçilir. Yapay sinir ağlarının eğitimleri 3 farklı yöntemle yapılmaktadır. Bunlar;

 Güdümlü öğrenme

 Destekleyici öğrenme

 Güdümsüz öğrenmedir.

Güdümlü öğrenme yönteminde, yapay sinir ağının eğitimi yapılırken kullanıcı ağın öğrenmesini istediği durumlar ile ilgili örnekleri Girdi/Çıktı seti olarak ağa tanıtmaktadır. Aynı zamanda kullanıcı yapay sinir ağlarının eğitiminde kullanılacak olan eğitim algoritmasını, bu algoritmanın parametrelerinin belirlenmesini, ağırlık katsayılarının atanmasını ve ağın eğitimini durdurma kriterlerini de belirlemektedir.

Destekleyici öğrenme yönteminde kullanıcı, yapay sinir ağının eğitimine yardımcı olmaktadır. Kullanıcı, ağın öğrenmesini istediği olayların gerçeklemesi için gerekli durumları Girdi seti olarak ağa tanıtır ve sadece ağın eğitimini durdurma kriterini belirler. Yapay sinir ağı, eğitimde verilen girdi setine karĢı çıktı setini türetir. Türetilen çıktı setindeki değerlerin geçerliliği yani ağın ne kadar iyi eğitildiği tanımlanan durdurma kriterinin etkinliğine göre belirlenir. Kullanıcı tarafından tanımlanan kritere ulaĢıldığında ağın eğitimi tamamlanmıĢ olur.

Güdümsüz öğrenmede ise, ağa sadece Girdi seti tanıtılmaktadır. Ağdan eğitim aĢamasında, parametreler arasındaki iliĢkiyi belirlemesi istenilmektedir. Doğru bilgilerin öğrenilerek hafızaya alınması daha sonra bu bilgilerle, önceden tanıtılmamıĢ Girdi setlerinden çıktı setlerinin oluĢturulması Ģeklinde yapılmaktadır. Genellikle bu tür öğrenme yöntemi sınıflandırma problemlerinin çözümünde kullanılmaktadır.

Yapay sinir ağlarının eğitimi belirli öğrenme kuralları dahilinde yapılmaktadır. Bu kuralların birçoğu, ilk öğrenme kuralı olan Hebb öğrenme kuralına dayanarak geliĢtirilmiĢtir. Bu kurallardan en sık kullanılanları aĢağıdaki gibidir.

 Hebb öğrenme kuralı

 Hopfield öğrenme kuralı

 Kohonen öğrenme kuralıdır

Hebb öğrenme kuralı Donald Hebb tarafından 1949 yılında geliĢtirilmiĢtir. Hebb öğrenme kuralı, bir yapay sinir hücresi diğer bir yapay sinir hücresinden bilgi alıyorsa ve her iki yapay sinir hücresi de matematiksel olarak aynı iĢareti taĢıyorsa (aktif) bu iki yapay sinir hücreleri arasındaki ağırlık katsayısının arttırılmasına dayanır.

Hebb öğrenme kuralına benzeyen Hopfield öğrenme kuralının farkı ise, yapay sinir hücreleri arasındaki ağırlık katsayılarının ne kadar artırılacağını veya azaltılacağını belirlemesidir. Bir baĢka ifadeyle, bu kural girdi ve beklenen çıktı değerlerinin her ikisi de aktif veya pasif ise ağırlıkların (ağırlık katsayılarının) öğrenme oranı ile arttırılması veya azaltılması olarak tanımlanabilir.

Delta öğrenme kuralı, yapay sinir ağlarının eğitimde sıkça kullanılmaktadır. Bu öğrenme kuralı da Hebb öğrenme kuralının daha geliĢtirilmiĢtir halidir. Delta öğrenme kuralında, beklenen çıktı ile ölçülen çıktı değerleri arasındaki farklılığı minimuma indirmek için ağırlık katsayı değerlerinin değiĢtirilmesine dayanmaktadır. Bu kural, ağırlık katsayılarını ağın hata karelerinin ortalamasını minimize edecek Ģekilde değiĢtirmektedir. Delta öğrenme kuralının uygulanmasında Rumelhart ve diğerlerinin (1986) geliĢtirdiği geri yayılma algoritmaları kullanılmaktadır. Ağ eğitimde tanımlanan girdi setlerine karĢılık ileri besleme yaparak çıktı setini hesaplamaktadır. Hesaplanan çıktı setindeki değerler ile ölçülen çıktı değerleri arasındaki hata karelerinin ortalaması bulunur. Bulunan hata değeri geri yayılma algoritmaları ile çıktı tabakasından girdi tabakasına kadar mevcut olan tüm ağırlık katsayılarına yayılarak gidilir. Geriye yayılmada hata değerinin ağırlık katsayılarına dağıtılmasıyla ağırlık katsayı değerleri değiĢtirilmiĢ olunur. Yeni ağırlık katsayı değerleri ile ağ tekrar çıktı değerlerini hesaplar. Bu iĢleme, bulunan hata terimi minimum oluncaya kadar devam edilir.

Kohonen öğrenme kuralı biyolojik sistemin öğrenme Ģeklinden esinlenerek Teuvo Kohonen (1982) tarafından geliĢtirilmiĢtir. Kohonen öğrenme kuralına göre, yapay

sinir hücreleri öğrenmek ve ağırlık katsayılarını değiĢtirmek için birbirleri ile yarıĢmaktadırlar. En iyi çıktıyı veren yapay sinir hücresinin ve ona komĢu hücrelerin ağırlık katsayıları değiĢtirilerek ağın eğitimi yapılır.

Yapay sinir ağının test aĢamasında ise, eğitimi tamamlanan yapay sinir ağına daha önce tanıtılmayan yeni girdi verileri ile sadece ileri besleme yapılarak çıktı sonuçları elde edilir. Çıktı sonuçları ile ölçülen sonuçlar arasında belirlenen performans kriteri de beklenen değerinin üstünde bulunursa, ağın eğitimi ve test aĢaması tamamlanmıĢ olur.

Benzer Belgeler