nsg ders notu
DESCRIPTION
Nöral network, yapay sinir ağları konusunda çaılmaTRANSCRIPT
1
NÖRAL SİSTEMLERE GİRİŞ
Ders Notu
2
1. GİRİŞ ............................................................................................................................. 4 2. ZEKA ............................................................................................................................. 5 3. YAPAY ZEKA .............................................................................................................. 5 4. YAPAY ZEKA’NIN GELİŞİM SÜRECİ ..................................................................... 5 5. YAPAY ZEKANIN AMAÇLARI ................................................................................. 7 6. YSA TESTLERİ ............................................................................................................ 7 6.1 Turing Testi ................................................................................................................ 7 6.2 Çin Odası Testi ........................................................................................................... 8 7. YAPAY ZEKA TEKNİKLERİ..................................................................................... 8 8. YAPAY SiNİR AİLARI .............................................................................................. 9 8.1 YSA’nın Tanımı ve Tarihçesi ................................................................................... 9 8.2 Literatüreki YSA Tanımları ..................................................................................... 10 8.3 YSA’nın Uygulama Alanları.................................................................................... 10 8.4 YSA’nın Üstünlükleri .............................................................................................. 12 8.5 YSA Nasıl Çalışır ? .................................................................................................. 14 8.6 YSA’nın Eğitimi ve Testi....................................................................................... 15 8.7 Biyolojik Sinir Sistemi ............................................................................................. 18 8.8 Sinir Hücresi (Nöron) ............................................................................................... 19 8.9 YSA’nın Yapısı ........................................................................................................ 20
8.9.1 Girdi Katmanı................................................................................................... 21 8.9.2 Ara Katman (Gizli Katman) ............................................................................. 21 8.9.3 Çıktı Katmanı ................................................................................................... 21
8.10 Yapay Sinir Hücresi ................................................................................................. 22 8.10.1 Girdiler ............................................................................................................. 22 8.10.2 Ağırlıklar .......................................................................................................... 22 8.10.3 Birleştirme Fonksiyonu .................................................................................... 22 8.10.4 Aktivasyon Fonksiyonu.................................................................................... 23
8.10.4.1 Doğrusal Aktivasyon Fonksiyon ............................................................. 23 8.10.4.2 Sigmoid Aktivasyon Fonksiyonu ............................................................. 24 8.10.4.3 Tanjant Hiperbolik ................................................................................... 24
8.10.5 Çıktı .................................................................................................................. 25 8.11 Yapay Sinir Ağlarının Sınıflandırılması .................................................................. 26
8.11.1 YSA’ların Yapılarına Göre Sınıflandırılması .................................................. 26 8.11.1.1 İleri Beslemeli Ağlar ................................................................................ 26 8.11.1.2 Geri Beslemeli Ağlar................................................................................ 28
8.11.2 YSA’ların Öğrenme Algoritmalarına Göre Sınıflandırılması .......................... 29 8.11.2.1 Danışmanlı Öğrenme................................................................................ 29 8.11.2.2 Danışmansız Öğrenme ............................................................................. 30 8.11.2.3 Takviyeli Öğrenme................................................................................... 30
8.11.3 Uygulamaya Göre Öğrenme Algoritmaları ...................................................... 31 8.11.3.1 Çevrim İçi (On-line) Öğrenme ................................................................. 31 8.11.3.2 Çevrim Dışı (Offline) Öğrenme ............................................................... 31
8.12 Yapay Sinir Ağ Yapıları........................................................................................... 31 8.12.1 Bir YSA’nın Tasarımı ...................................................................................... 32
8.12.1.1 YSA Ağ Yapısının Seçimi ....................................................................... 32 8.12.1.2 Öğrenme Algoritmasının Seçimi.............................................................. 33 8.12.1.3 Ara Katman Sayısını Belirleme................................................................ 34
3
8.12.1.4 Nöron Sayısının Belirlenmesi .................................................................. 34 8.12.1.5 Normalizasyon ......................................................................................... 35
8.12.1.6 Performans Fonksiyonun Seçimi ............................................................. 36 8.12.2 Basit Algılayıcı Modeli (Perseptron) ............................................................... 36 8.12.3 Adaline ............................................................................................................. 41 8.12.4 Çok Katlı Algılyıcılar ÇKA (Multi Layer Perceptron MLP) .......................... 45 8.12.5 Radyal Tabanlı Sinir Ağı.................................................................................. 46 8.12.6 LVQ (Learning Vector Quantisation) .............................................................. 48
8.12.6.1 Ceza Mekanizmalı LVQ........................................................................... 50 8.12.6.2 LVQ2........................................................................................................ 50
8.12.7 Hopfield Ağı..................................................................................................... 51 8.12.8 Elman ve Jordan Ağları .................................................................................... 53 8.12.9 Kohonen Ağı .................................................................................................... 54 8.12.10 ART (Adaptive Resonance Theory)................................................................. 56 8.12.11 Olasılık Tabanlı YSA ....................................................................................... 58
8.13 YSA Öğrenme Algoritmaları ................................................................................... 58 8.14 Temel Öğrenme Kuralları ........................................................................................ 58
8.14.1 Hebb Kuralı ...................................................................................................... 58 8.14.2 Delta Kuralı ...................................................................................................... 59 8.14.3 Kohonen Kuralı ................................................................................................ 61 8.14.4 Hopfield Kuralı ................................................................................................ 61
8.15 Öğrenme Algoritmaları ............................................................................................ 61 8.15.1 Geriyayılım Algoritması .................................................................................. 61 8.15.2 Delta-Bar-Delta ................................................................................................ 65 8.15.3 Geliştirilmiş Delta Bar Delta ............................................................................ 67 8.15.4 Hızlı Yayılım (QuickProp) ............................................................................... 69 8.15.5 Genetik Algoritma ............................................................................................ 71
4
1. GİRİŞ Son yıllarda bilgisayar bilimlerinde yaşanan teknolojik gelişmeler, neredeyse
takip edilemeyecek bir hızda ilerlemektedir. Bu ilerleme, insanoğlunun da yaratıcılığını ve
sınır tanımazlığını arttırmış, daha önce hiç hayal bile edilemeyen yeni gelişmelerin
doğmasına neden olmuştur. Bu gelişmelerden bir tanesi de Yapay Zeka’dır. Bilim
adamları, adına Yapay Zeka dedikleri, insanın düşünebilme, anlayabilme, öğrenebilme ve
yorumlayabilme yeteneklerini, programlamayla taklit ederek problem çözümüne
kullanmaktadırlar. Yapay Sinir Ağları (YSA)’da, Yapay Zeka biliminin altında araştırmacıların çok yoğun
ilgi gösterdikleri bir araştırma alanıdır. YSA’ların örnekler ile öğrenebilme ve
genelleme yapabilme özellikleri onlara çok esnek ve güçlü araçlar olma özelliği sağlamaktadır. Bu çalışmada YSA teorik olarak anlatılmış ve günlük hayatta kullanılan değişik YSA
uygulamalarından bahsedilmiştir.
5
2. ZEKA Öğrenme ve çevreye uyabilme yeteneğinin koşulu zeki olmaktır. Zeka, anlama ve kavrama
yeteneği olarak tanımlanabilir. 3. YAPAY ZEKA
Yapay zeka, insanın düşünme yapısını anlamak ve bunun benzerini ortaya
çıkaracak bilgisayar işlemlerini geliştirmeye çalışmak olarak tanımlanır. Bir başka
deyişle, yapay zeka programlanmış bir bilgisayarın düşünme girişimidir. Daha geniş bir
tanıma göre ise, yapay zeka, bilgi edinme, algılama, görme, düşünme ve karar verme
gibi insan zekasına özgü kapasitelerle donatılmış bilgisayarlardır.
4. YAPAY ZEKA’NIN GELİŞİM SÜRECİ
Yapay zeka konusundaki ilk çalışma McCulloch ve Pitts tarafından yapılmıştır.
Bu araştırmacıların önerisi; “Her hangi bir hesaplanabilir fonksiyonun sinir hücrelerinden
oluşan ağlarla hesaplanabileceğini ve mantıksal 've' ve 'veya' işlemlerinin
gerçekleştirilebileceği” idi. Bu ağ yapılarının uygun
şekilde tanımlanmaları halinde öğrenme becerisi kazanabileceğini de ileri sürdüler.
Hebb, sinir hücreleri arasındaki bağlantıların şiddetlerini değiştirmek için basit bir
kural önerince, öğrenebilen yapay sinir ağlarını gerçekleştirmek de olası hale gelmiştir.
1950’lerde Shannon ve Turing bilgisayarlar için satranç programları yazıyorlardı. SNARC
isimli ilk yapay sinir ağı temelli bilgisayar MIT’de Minsky ve Edmonds tarafından 1951’de
yapıldı. Çalışmalarını Princeton Üniversitesi’nde sürdüren Mc Carthy, Minsky, Shannon
ve Rochester’le birlikte 1956 yılında Dartmouth’da iki aylık bir toplantı düzenledi. Bu
toplantıda
bir çok çalışmanın temelleri atılmakla birlikte, toplantının en önemli özelliği Mc
Carthy tarafından önerilen Yapay zeka adının konmasıdır. İlk kuram ispatlayan programlardan
Logic Theorist (Mantık kuramcısı) burada Newell ve Simon tarafından tanıtılmıştır.
Daha sonra Newell ve Simon, 'insan gibi düşünme' yaklaşımına göre üretilmiş ilk
program olan General
Problem Solver (Genel sorun çözücü)‘ı geliştirmişlerdir. Simon, daha sonra fiziksel simge
6
varsayımını ortaya atmış ve bu kuram, insandan bağımsız zeki sistemler yapma
çalışmalarıyla uğraşanların hareket noktasını oluşturmuştur. Bundan sonraki yıllarda
mantık temelli çalışmalar egemen olmuş ve programların başarımlarını göstermek için
bir takım yapay sorunlar ve dünyalar kullanılmıştır. Daha sonraları bu sorunlar gerçek
yaşamı hiçbir şekilde temsil etmeyen oyuncak dünyalar olmakla suçlanmış ve yapay
zekanın yalnızca bu alanlarda başarılı olabileceği ve gerçek yaşamdaki sorunların
çözümüne ölçeklenemeyeceği ileri sürülmüştür. Geliştirilen programların gerçek sorunlarla karşılaşıldığında çok kötü bir
başarım göstermesinin ardındaki temel neden, bu programların yalnızca sentaktik bir
şekilde çalışıp konu ile ilgili bilgileri kullanmamasıydı. Bu dönemin en ünlü
programlarından Weizenbaum tarafından geliştirilen Eliza, karşısındaki ile sohbet
edebiliyor gibi görünmesine karşın, yalnızca karşısındaki insanın cümleleri üzerinde bazı
işlemler yapıyordu. İlk makine çeviri çalışmaları sırasında benzeri yaklaşımlar kullanılıp
çok gülünç çevirilerle karşılaşılınca bu çalışmaların desteklenmesi durdurulmuştur.
Zeki davranışı üretmek için bu çalışmalarda kullanılan temel yapılardaki bazı
önemli yetersizliklerin de ortaya konmasıyla bir çok araştırmacılar çalışmalarını durdurdular.
Buna en temel örnek, sinir ağları konusundaki çalışmaların Minsky ve Papert’in 1969’da
yayınlanan Perceptrons adlı kitaplarında tek katmanlı YSA ların bazı basit problemleri
çözemeyeceğini gösterip aynı kısırlığın çok katmanlı YSA larda da beklenilmesi gerektiğini
söylemeleri ile bıçakla kesilmiş gibi durmasıdır.
Her sorunu çözecek genel amaçlı program yerine belirli bir uzmanlık alanındaki bilgiyle
donatılmış programlar kullanma fikri yapay zeka alanında yeniden bir canlanmaya yol
açtı. Kısa sürede uzman sistemler adı verilen bir metodoloji gelişti. Fakat burada çok sık
rastlanan tipik bir durum, bir otomobilin tamiri için önerilerde bulunan uzman sistem
programının otomobilin ne işe yaradığından haberi olmamasıydı. İnsanların iletişimde
kullandıkları Türkçe, İngilizce gibi doğal dilleri anlayan bilgisayarlar konusundaki
çalışmalar bu sıralarda hızlanmaya başladı. Doğal dil anlayan programların dünya
hakkında genel bilgiye sahip olması ve bu bilgiyi kullanabilmek için genel bir
metodolojisi olması gerektiği belirtilmekteydi. Uzman dizgelerin başarıları beraberinde ilk ticari uygulamaları da getirdi. Yapay zeka yavaş
7
yavaş bir endüstri haline geliyordu. DEC tarafından kullanılan ve müşteri siparişlerine
göre donanım seçimi yapan R1 adlı uzman sistem şirkete bir yılda 40 milyon dolarlık
tasarruf sağlamıştı. Birden diğer ülkeler de yapay zekayı yeniden keşfettiler ve
araştırmalara büyük kaynaklar ayrılmaya başlandı. 1988’de yapay zeka endüstrisinin
cirosu 2 milyar dolara ulaşmıştı. 1975 yılında Holland canlılarda doğal gelişim prensibnine dayanan genetik
algoritmayı önermiştir. 1976 yılında da, Sejnowski Boltzman Makinesini geliştirmiş ve
buna geri yayılım algoritmasını uygulamıştır. Sutton ve Barto 1978 yılında takviyeli
öğrenme modeli geliştirdiklerini rapor etmişlerdir. Hecht-Nielsen ilk modern elektronik
nöro bilgisayar olan TRW MARK III ile PC tabanlı nöro bilgisayar olan ANAZA’yı 1982
yılında tasarlamışlardır.
1987 yılında yapılan ilk uluslar arası YSA konferansında sunulan yüzlerce çalışma ve
uygulama ile artık bu alandaki çalışmalar yaygınlaşmaya başlamıştır.
5. YAPAY ZEKANIN AMAÇLARI
Yapay Zeka çalışmalarında hedeflenen amaçlar:
° İnsan beyninin fonksiyonlarını modellerle anlamaya çalışmak
° İnsanın zihinsel yeteneklerini, bilgi kazanma, öğrenme ve buluş yapmada
uyguladıkları strateji ve metotları araştırmak
° Bu metotları formel hale getirmek, bilgisayarlarda uygulamak
° Bilgisayar kullanımını kolaylaştıracak arayüzler geliştirmek
° Uzman Sistemler ve Genel Bilgi Sistemleri geliştirmek
° YZ iş yardımcıları ve zeki robot timleri geliştirmek
° Bilimsel araştırma ve buluşlar için Araştırma Yardımcıları geliştirmek 6. YSA TESTLERİ
Geliştirilen sistemlerin zeki olup olmadıklarını anlamak için zeka testleri geliştirilmiştir.
Bunlardan en çok bilineni Turing Testi ve Çin Odası testleridir. 6.1 Turing Testi
8
Bir kimsenin klavye aracılığı ile bir insana ve bir zeki makinaya soru sormasından
oluşmaktadır. Testte soru soran bir sorgulayıcı ve cevap veren bir taraf bulunur.
Taraflar birbirlerini görmemekte, aralarındaki iletişim bilgisayar terminali ile
sağlanmaktadır. Eğer sorgulayıcı, karşıdaki tarafın insan mı yoksa makine mi olduğunu
ayırt edemezse, denek Turing testini geçmiş sayılır. Bunun anlamı, bilgisayar zekidir. 6.2 Çin Odası Testi
Bu testte, bir odada kilitli olduğunuzu düşünün ve odada da üzerlerinde çince
tabelalar bulunan sepetler olsun. Fakat siz çince bilmiyorsunuz. Ama elinizde çince tabelaları
ingilizce olarak açıklayan bir kural kitabı bulunsun. Kurallar çinceyi tamamen biçimsel olarak,
yani söz dizimlerine uygun olarak açıklamaktadır. Daha sonra odaya başka çince
simgelerin getirildiğini ve size çince simgeleri odanın dışına götürmek için, başka
kurallarda verildiğini varsayın. Odaya getirilen ve sizin tarafınızdan bilinmeyen
simgelerin oda dışındakilerce
`soru` diye, sizin oda dışına götürmeniz istenen simgelerin ise `soruların yanıtları`
diye adlandırıldığını düşünün. Siz kilitli odanın içinde kendi simgelerinizi
karıştırıyorsunuz ve gelen çince simgelere yanıt olarak en uygun çince simgeleri
dışarı veriyorsunuz. Dışta bulunan bir gözlemcinin bakış açısından sanki çince
anlayan bir insan gibisiniz. Çince anlamanız için en uygun bir program bile çince
anlamanızı sağlamıyorsa, o zaman herhangi
bir sayısal bilgisayarın da çince anlaması olanaklı değildir. Bilgisayarda da sizde olduğu gibi,
açıklanmamış çince simgeleri işleten bir biçimsel program vardır ve bir dili anlamak demek,
bir takım biçimsel simgeleri bilmek demek değil, akıl durumlarına sahip olmak demektir. 7. YAPAY ZEKA TEKNİKLERİ
° Yapay Sinir Ağları
° Bulanık Mantık
° Sezgisel Algoritmalar (Genetik Algoritmalar, Tabu Arama, Tavlama
Benzetimi, Karınca Algoritması gibi)
° Uzman Sistemler Seminer konusu olarak “YSA’nın Tahmin Amacıyla Kullanılması” konusu seçilmiştir.
Bu nedenle bu dokümanda, yukarıda sayılan YSA tekniklerinden yalnızca “Yapay Sinir
9
Ağları” tekniği anlatılacaktır.
10
8. YAPAY SİNİR A¾LARI
8.1 YSA’nın Tanımı ve Tarihçesi YSA, beyindeki sinirlerin çalışmasını taklit ederek sistemlere öğrenme, genelleme yapma,
hatırlama gibi yetenekler kazandırmayı amaçlayan bilgi işleme sistemidir.
İnsan beyninin ve düşünme yeteneğinin taklit edilmesi isteği sanıldığının aksine çok eski
zamanlarda var olmuş bir istektir. İnsan beyni ve düşünebilme yeteneğine ilişkin ilk
açıklayıcı teori geliştirme denemeleri Antik Yunan düşünürleri olan Plato (İ.Ö. 427-327) ve
Aristoteles'e (İ.Ö. 384-322) kadar uzanmaktadır. Daha sonra ise Descartes (1596-1650)
insanın düşünme yeteneğiyle ilgilenen 18. yüzyıl düşünürü olmuştur. Beyinin üstün özellikleri, bilim adamlarını üzerinde çalışmaya zorlamış ve
beynin nörofiziksel yapısından esinlenerek matematiksel modeli çıkarılmaya çalışılmıştır.
Beynin bütün davranışlarını modelleyebilmek için fiziksel bileşenlerinin doğru olarak
modellenmesi gerektiği düşüncesi ile çeşitli yapay hücre ve ağ modelleri geliştirilmiştir.
Böylece, Yapay Sinir Ağları denen günümüz bilgisayarlarının algoritmik hesaplama
yöntemlerinden farklı bir bilim alanı ortaya çıkmıştır. Genel anlamda YSA, beynin bir işlevini yerine getirme yöntemini modellemek için tasarlanan
bir sistem olarak tanımlanabilir. Bir YSA, yapay sinir hücrelerinin birbirleri ile
çeşitli şekillerde bağlanmasında oluşur. YSA’lar öğrenme algoritmaları ile öğrenme
sürecinden geçtikten sonra, bilgiyi toplama, hücreler arasındaki bağlantı ağırlıkları ile bu
bilgiyi saklama
ve genelleme yeteneğine sahip olurlar. YSA lar yapılarına göre farklı öğrenme yaklaşımları
kullanırlar.
Yapay sinir ağlarının dayandığı ilk hesaplama modelinin temelleri 1940'ların
başında araştırmalarına başlayan W.S. McCulloch ve W.A. Pitts'in, 1943 yılında
yayınladıkları bir makaleyle atılmış olmuştur. Daha sonra 1954 yılında B.G. Farley ve
W.A. Clark tarafından
bir ağ içerisinde uyarılara tepki veren, uyarılara adapte olabilen model oluşturulmuştur.
1960 yılı ise ilk neural bilgisayarın ortaya çıkış yılıdır. 1963 yılında basit
modellerin ilk eksiklikleri fark edilmiş, ancak başarılı sonuçların alınması 1970
11
ve 1980'lerde
termodinamikteki teorik yapıların doğrusal olmayan ağların geliştirilmesinde kullanılmasına
kadar gecikmiştir. 1985 yapay sinir ağlarının oldukça tanındığı, yoğun araştırmaların
başladığı yıl olmuştur.1
8.2 Literatüreki YSA Tanımları
Yapay sinir ağının genel bir tanımı yapılması gerekirse, Yapay Sinir Ağı, insan beyninin
çalışma ve düşünebilme yeteneğinden yola çıkılarak oluşturulmuş bir bilgi
işlem teknolojisidir. Yapay sinir ağının işleyiş özelliklerine dayanan ikinci tür tanımı ise ilk ticari yapay
sinir ağının geliştiricisi olan Dr. Robert HECHT-NIELSEN'e ait bir tanımdır: "Yapay
sinir ağı dışarıdan gelen girdilere dinamik olarak yanıt oluşturma yoluyla bilgi işleyen,
birbiriyle bağlantılı basit elemanlardan oluşan bilgiişlem sistemidir.2
Bu tanıma yakın bir tanımda yapay sinir ağı yazınında çok tanınan Teuvo KOHONEN'e ait
bir tanımdır :" Yapay sinir ağları paralel olarak bağlantılı ve çok sayıdaki basit elemanın,
gerçek dünyanın nesneleriyle biyolojik sinir sisteminin benzeri yolla etkileşim kuran
olan, hiyararşik bir organizasyonudur 8.3 YSA’nın Uygulama Alanları
Son yıllarda YSA’ ları, özellikle günümüze kadar çözümü güç ve karmaşık olan
yada ekonomik olmayan çok farklı alanlardaki problemlerin çözümüne uygulanmış ve
genellikle başarılı sonuçlar alınabilmiştir. Yapay sinir ağları aşağıdaki özellikleri
gösteren alanlarda kullanıma uygun bir araçtır:
° Çok değişkenli problem uzayı,
° Probleme ilişkin değişkenler arasında karmaşık etkileşim,
° Çözüm uzayının bulunmaması, tek bir çözümün olması veya çok sayıda çözüm
bulunması.
1 Mehra Pankaj Wah W Benjamin, Artifisal Neural Networks Concepts and Theory, IEEE Computer Society Press, Washington, 1992, page 45
2 CAUDILL, Maureen “Neural Network Primar Part 1” AI Expert, December 1987,pp47
12
13
YSA’lar insan beyninin fonksiyonel özelliklerine benzer şekilde aşağıdaki konularda başarılı
bir şekilde uygulanmaktadır.
° Öğrenme
° İlişkilendirme
° Sınıflandırma
° Genelleme
° Tahmin
° Özellik Belirleme
° Optimizasyon YSA’ ları çok farklı alanlara uygulanabildiğinden bütün uygulama alanlarını burada sıralamak
zor olmakla birlikte genel bir sınıflandırma ile YSA’ nın uygulama alanları aşağıdaki gibi
6 grup içerisinde toplanabilir.
Arıza Analizi ve Tespiti
Bir sistemin, cihazın yada elemanın düzenli (doğru) çalışma şeklini öğrenen bir
YSA yardımıyla bu sistemlerde meydana gelebilecek arızaların tanımlanma olanağı
vardır. Bu amaçla YSA; elektrik makinelerinin, uçakların yada bileşenlerinin, entegre
devrelerin v.s. arıza analizinde kullanılmıştır.
Tıp Alanında
EEG ve ECG gibi tıbbi sinyallerin analizi, kanserli hücrelerin analizi, protez tasarımı,
transplantasyon zamanlarının optimizasyonu ve hastanelerde giderlerin optimizasyonu v.s gibi
uygulama yeri bulmuştur.
Savunma Sanayi
Silahların otomasyonu ve hedef izleme, nesneleri/görüntüleri ayırma ve tanıma, yeni
algılayıcı tasarımı ve gürültü önleme v.s gibi alanlara uygulanmıştır.
Haberleşme
Görüntü ve veri sıkıştırma, otomatik bilgi sunma servisleri, konuşmaların gerçek zamanda
çevirisi v.s gibi alanlarda uygulama örnekleri vardır.
14
Üretim Üretim sistemlerinin optimizasyonu, ürün analizi ve tasarımı, ürünlerin (entegre, kağıt,
kaynak v.s.) kalite analizi ve kontrolü, planlama ve yönetim analizi v.s. alanlarına
uygulanmıştır.
Otomasyon ve Kontrol
Uçaklarda otomatik pilot sistemi otomasyonu, ulaşım araçlarında otomatik yol
bulma/gösterme, robot sistemlerin kontrolü, doğrusal olmayan sistem modelleme ve kontrolü,
elektrikli sürücü sistemlerin kontrolü v.s. gibi yaygın bir uygulama yeri bulmuştur. 8.4 YSA’nın Üstünlükleri
Yapay sinir ağları modelleri, biyolojik sinir ağlarının çalışma biçimlerinden
esinlenerek ortaya çıkarılmıştır.Yapay sinir ağları, biyolojik olmayan yapı taşlarının düzgün
bir tasarımla birbirlerine yoğun olarak bağlanmalarından oluşmaktadırlar. Sinir sisteminin
modellenmesi için yapılan çalışmalar sonucu oluşturulan yapay sinir ağları, biyolojik
sinir sisteminin üstünlüklerine de sahiptir. Bu üstünlükleri şu şekillerde özetleyebilmek
mümkündür. Yapay sinir ağı özellikle doğrusal olmayan sistemlerde öngörüler açısından istatistik
tekniklere göre daha kolaylık sağlayan bir özelliğe sahiptir. Bundan dolayı başta işletmecilik
ve finans olmak üzere bir çok değişik alanlarda kullanım imkanı bulur. Doğrusal Olmama: YSA’ nın temel işlem elemanı olan hücre doğrusal değildir.
Dolayısıyla hücrelerin birleşmesinden meydana gelen YSA da doğrusal değildir ve bu
özellik bütün ağa yayılmış durumdadır. Bu özelliği ile YSA, doğrusal olmayan
karmaşık problemlerin çözümünde en önemli araç olmuştur. Paralellik: Alışılmış bilgi işlem yöntemlerinin çoğu seri işlemlerden oluşmaktadır.Bu da hız
ve güvenilirlik sorunlarını beraberinde getirmektedir.Seri bir işlem gerçeklenirken herhangi
bir birimin yavaş oluşu tüm sistemi doğruca yavaşlatırken ,paralel bir sistemde yavaş
bir birimin etkisi çok azdır.Nitekim seri bir bilgisayarın bir işlem elemanı beyine göre
binlerce kez daha hızlı işlemesine rağmen , beynin toplam işlem hızı seri çalışan bir
bilgisayara göre
15
kıyaslanamayacak kadar yüksektir.
16
Gerçeklenme Kolaylığı: Yapay sinir ağlarında basit işlemler gerçekleyen türden
hücrelerden oluşması ve bağlantıların düzgün olması,ağların gerçeklenmesi ki açısından
büyük kolaylık olmasını sağlamaktadır Yerel Bilgi İşleme: Yapay sinir ağlarında her bir işlem birimi ,çözülecek problemin tümü
ile ilgilenmek yerine ,sadece problemin gerekli parçası ile ilgilenmektedir ve problemin
bir parçası işlemektedir.Hücrelerin çok basit işlem yapmalarına rağmen , sağlanan
görev paylaşımı sayesinde, çok karmaşık problemler çözülebilmektedir.
Hata Toleransı: Sayısal bir bilgisayarda,herhangi bir işlem elemanını yerinden almak,
onu etkisiz bir makineye dönüştürmektedir.Ancak yapay sinir ağlarında bir elemanda
meydana gelebilecek hasar çok büyük önem teşkil etmez.Yapay sinir ağlarının paralel
çalışması hız avantajı ile birlikte yüksek hata sağlamaktadır.Seri bilgi işlem yapan bir
sistemde herhangi bir birimin hatalı çalışması,hatta bozulmuş olması tüm sistemin
hatalı çalışmasına veya bozulmasına sebep olacaktır.Paralel bilgi işleme yapan bir
sistemde ise,sistemin ayrı ayrı işlem elemanlarında meydana gelecek olan hatalı çalışma
veya hasar,sistemin performansında keskin bir düşüşe yol açmadan, performansın sadece
hata birimlerinin bir oranınca düşmesine sebep olur. YSA, çok sayıda hücrenin çeşitli
şekillerde bağlanmasından oluştuğundan paralel dağılmış bir yapıya sahiptir ve ağın
sahip olduğu bilgi, ağdaki bütün bağlantılar üzerine dağılmış durumdadır. Bu nedenle,
eğitilmiş bir YSA’nın bazı bağlantılarının hatta bazı hücrelerinin etkisiz hale gelmesi,
ağın doğru bilgi üretmesini önemli ölçüde etkilemez. Bu nedenle, geleneksel yöntemlere
göre hatayı tolere etme yetenekleri son derece yüksektir
Öğrenebilirlik: Alışılagelmiş veri işleme yöntemlerinin çoğu programlama yolu
ile hesaplamaya dayanmaktadır.Bu yöntemler ile, tam tanımlı olmayan bu problemin
çözümü yapılamaz.Bunun yanında , herhangi bir problemin çözümü için probleme
yönelik bir algoritmanın geliştirilmesi gerekmektedir.Yapay sinir ağları problemleri
verilen örneklerle çözer.Çözülecek problemler için yapı aynıdır. YSA’ nın arzu edilen
davranışı gösterebilmesi için amaca uygun olarak ayarlanması gerekir. Bu, hücreler
arasında doğru bağlantıların yapılması ve bağlantıların uygun ağırlıklara sahip olması
gerektiğini ifade eder. YSA’ nın karmaşık yapısı nedeniyle bağlantılar ve ağırlıklar
önceden ayarlı olarak verilemez yada tasarlanamaz. Bu nedenle YSA, istenen davranışı
gösterecek şekilde ilgilendiği problemden
17
aldığı eğitim örneklerini kullanarak problemi öğrenmelidir.
18
Genelleme: YSA, ilgilendiği problemi öğrendikten sonra eğitim sırasında karşılaşmadığı
test örnekleri için de arzu edilen tepkiyi üretebilir. Örneğin, karakter tanıma amacıyla
eğitilmiş bir YSA, bozuk karakter girişlerinde de doğru karakterleri verebilir yada bir
sistemin eğitilmiş YSA modeli, eğitim sürecinde verilmeyen giriş sinyalleri için de
sistemle aynı davranışı gösterebilir.
Uyarlanabilirlik: YSA, ilgilendiği problemdeki değişikliklere göre ağırlıklarını
ayarlar. Yani, belirli bir problemi çözmek amacıyla eğitilen YSA, problemdeki
değişimlere göre tekrar eğitilebilir, değişimler devamlı ise gerçek zamanda da eğitime
devam edilebilir. Bu özelliği ile YSA, uyarlamalı örnek tanıma, sinyal işleme, sistem
tanılama ve denetim gibi alanlarda etkin olarak kullanılır.
Donanım ve Hız: YSA, paralel yapısı nedeniyle büyük ölçekli entegre devre (VLSI)
teknolojisi ile gerçeklenebilir. Bu özellik, YSA’nın hızlı bilgi işleme yeteneğini artırır
ve gerçek zamanlı uygulamalarda arzu edilir.
Analiz ve Tasarım Kolaylığı: YSA’ nın temel işlem elemanı olan hücrenin yapısı ve
modeli, bölüm 1.3’de açıklandığı gibi bütün YSA yapılarında yaklaşık aynıdır. Dolayısıyla,
YSA’ nın farklı uygulama alanlarındaki yapıları da standart yapıdaki bu hücrelerden
oluşacaktır. Bu nedenle, farklı uygulama alanlarında kullanılan YSA’ ları benzer öğrenme
algoritmalarını ve teorilerini paylaşabilirler. Bu özellik, problemlerin YSA ile çözümünde
önemli bir kolaylık getirecektir.
8.5 YSA Nasıl Çalışır ?
Sinir ağı ile hesaplamalarda istenilen dönüşüm için, adım adım yürütülen bir
yöntem gerekmez. Sinir ağı ilişkilendirmeyi yapan iç kuralları kendi üretir ve bu kuralları,
bunların sonuçlarını örneklerle karşılaştırarak düzenler. Deneme ve yanılma ile, ağ kendi
kendine işi nasıl yapması gerektiğini öğretir. YSA'larda bilgi saklama, verilen
eğitim özelliğini kullanarak eğitim örnekleri ile yapılır. Sinirsel hesaplama, algoritmik
programlamaya bir seçenek oluşturan, temel olarak yeni ve farklı bir bilgi işleme olayıdır.
Uygulama imkanının olduğu her yerde, tamamen yeni bilgi işleme yetenekleri geliştirebilir.
Bu sayede de geliştirme harcamaları ile geliştirme süresi büyük ölçüde azalır.
Bir yapay sinir ağı girdi setindeki değişiklikleri değerlendirerek öğrenir ve buna bir çıktı
üretir. Öğrenme işlemi benzer girdi setleri için aynı çıktıyı üretecek bir öğrenme algoritması
ile gerçekleşir. Öğrenme setindeki girdilerin istatistiksel özelliklerinin çıkarılarak benzer
girdilerin gruplandırılmasını sağlayan bir işlemdir.3
Sinir yapılarına benzetilerek bulunan ağların eğitimi de, normal bir canlının eğitimine
benzemektedir. Sınıfların birbirinden ayrılması işlemi (dolayısıyla kendini
geliştirmesi), öğrenme algoritması tarafından örnek kümeden alınan bilginin adım adım
işlenmesi ile gerçeklenir. YSA kullanılarak makinelere öğrenme genelleme yapma,
sınıflandırma, tahmin yapma ve algılama gibi yetenekler kazandırılmıştır. 8.6 YSA’nın Eğitimi ve Testi
Geleneksel bilgisayar uygulamalarının geliştirilmesinde karşılaşılan durum, bilgisayarın
belli bilgisayar dilleri aracılığıyla ve kesin yazım
algoritmalarına uygun ifadelerle programlanmasıdır. Bu oldukça
zaman alan, uyumluluk konusunda zayıf, teknik personel gerektiren, çoğu zaman pahalı
olan bir süreçtir. Oysa biyolojik temele dayalı yapay zeka teknolojilerinden biri olan
yapay sinir ağlarının geliştirilmesinde programlama, yerini büyük ölçüde "eğitime"
bırakmaktadır. Proses elemanlarının bağlantı ağırlık değerlerinin
belirlenmesi işlemine “ağın eğitilmesi” denir.4 Yapay sinir ağının eğitilmesinde
kullanılan girdi ve çıktı dizileri çiftinden oluşan verilerin tümüne "eğitim seti" adı verilir.
Yapay sinir ağı öğrenme sürecinde, gerçek hayattaki problem alanına ilişkin veri
ve sonuçlardan, bir başka deyişle örneklerden yararlanır. Gerçek hayattaki problem
alanına ilişkin değişkenler yapay sinir ağının girdi dizisini, bu değişkenlerle elde
edilmiş gerçek hayata ilişkin sonuçlar ise yapay sinir ağının ulaşması gereken hedef
çıktıların dizisini oluşturur.
Öğrenme süresinde, seçilen öğrenme yaklaşıma göre ağırlıklar değiştirilir. Ağırlık
değişimi, öğrenmeyi ifade eder. YSA’da ağırlık değişimi yoksa, öğrenme işlemi de
durmuştur. Başlangıçta bu ağırlık değerleri rastgele atanır. YSA’lar kendilerine örnekler
gösterildikçe, bu ağırlık değerlerini değiştirirler. Amaç, ağa gösterilen örnekler için doğru
çıktıları üretecek
ağırlık değerlerini bulmaktır. Ağın doğru ağırlık değerlerine ulaşması örneklerin temsil ettiği
3 B. Dengiz, Sağlık Bilimlerinde Yapay Sinir Ağları
19
20
4 E. Öztemel, Yapay Sinir Ağları, 2003, s.55
21
olay hakkında, genellemeler yapabilme yeteneğine kavuşması demektir. Bu genelleştirme
özelliğine kavuşması işlemine, “ağın öğrenmesi” denir.
Yapay sinir ağının öğrenme sürecinde temel olarak üç adım bulunmaktadır.
° Çıktıları hesaplamak,
° Çıktıları hedef çıktılarla karşılaştırmak ve hatayı hesaplanmak,
° Ağırlıkları değiştirerek süreci tekrarlamak. Eğitim süreci sonucunda yapay sinir ağında hesaplanan hatanın kabul edilebilir bir hata
oranına inmesi beklenir. Ancak hata kareleri ortalamasının düşmesi her zaman için yapay
sinir ağının genellemeye (generalization) ulaştığını göstermez. Yapay sinir ağının gerçek
amacı girdi-çıktı örnekleri için genellemeye ulaşmaktadır.
Genelleme, yapay sinir ağının eğitimde kullanılmamış ancak aynı evrenden gelen girdi-çıktı
örneklerini ağın doğru bir şekilde sınıflandırabilme yeteneğidir. İstatistiksel açıdan genelleme
bir uygun eğrinin bulunması (curve-fitting) veya doğrusal olmayan ara değer atama
işi (interpolation) olarak görülebilir. ğekil 1-a 'da genellemenin nasıl gerçekleştiği
görülmektedir. ğekilde (x) ile görülen noktalar eğitim verileridir. Bunların arasında
kalan eğri ise ağ tarafından oluşturulmaktadır. Bu eğri üzerindeki farklı bir girdi değeri
için üretilen doğru çıktı değeri, ağın iyi bir genelleme yaptığını gösterir. Ancak ağ
gereğinden fazla girdi-çıktı ilişkisini öğrendiğinde, ağ verileri "ezberlemektedir"
(memorization). Bu durum genellikle gereğinden fazla gizli katman kullanıldığında
verilerin synaptic bağlantılar üzerinde saklanmasından veya gereğinden fazla veri
kullanılarak eğitilmesinden (overtraining) kaynaklanmaktadır. Ezberleme, genellemenin
iyi gerçekleşmediğini ve girdi-çıktı eğrisinin düzgün olmadığını gösterir (ğekil 1-b).
Verilerin ezberlenmiş olması yapay sinir ağı için istenmeyen bir durum olup, verileri
ezberleyen ağa ait eğitim hatası oldukça düşme, test verilerinde ise hata artma eğilimi
gösterir. Bundan dolayı bir çok yapay sinir ağı yazılımı ağın eğitim ve test verilerine ait
hataları grafik olarak göstermektedir. Verileri ezberleyen ağ gerçek hayattaki örüntüyü iyi
temsil edemeyeceği için kullanılamaz. ğekil 2-a 'da ağ verileri ezberlediği için eğitim hatası
azalma, test hatası ise artma eğilimi göstermektedir. ğekil 2-b
'de ise ağ kabul edilebilir bir genellemeye ulaşmıştır.
22
Çıktı Çıktı x x
x x
x • x x x
•
Girdi Girdi
(a) (b)
ğ şekil 1: Genelleme (a) ve Ezberleme (b)
Eğitim Hatası Test Hatası
(a) (b)
Şekil 2 :Verileri Ezberleyen (a) ve İyi Genellemeye Ulaşan (b) Ağlardaki Hata Eğrileri En uygun öğrenme seviyesi, öğrenme fonksiyonunun önceden amaçlanan bir değere ulaşması
ile sağlanamayabilir. Uygulamalarda eğitim süreci boyunca performans fonksiyonunun
izlenmesi ile birlikte sık sık genelleme testlerinin gerçekleştirilmesi yolu ile en
uygun öğrenme seviyesi elde edilebilir. Eğer en uygun öğrenme seviyesine,
performans fonksiyonunun öngörülerinden önce ulaşılmış ise eğitim süresi daha erken
dönemlerde de sona erdirilebilir.
YSA sistemlerinin problemi öğrenme başarısı, gerçekleştirilen testlerle sınanmalıdır. Yapay
sinir ağı geliştirme sürecinde veriler ikiye ayrılır; bir bölümü ağın eğitilmesi için kullanılır ve
eğitim seti adını alır, diğer bölümü ise ağın eğitim verileri dışındaki performansını ölçmede
kullanılır ve “test seti” olarak adlandırılır.
Eğitim ve test setleriyle ilgili temel sorun, yeterli eğitim ve test verisinin miktarının ne
olduğudur. Sınırsız sayıda verinin bulunabildiği durumlarda, yapay sinir ağı mümkün olan en
çok veriyle eğitilmelidir. Eğitim verisinin yeterli olup olmadığı konusunda emin olmanın
yolu; eğitim verisinin miktarının arttırılmasının, ağın performansında bir
değişiklik yaratmadığını takip etmektir. Ancak bunun mümkün olmadığı durumlarda yapay
sinir ağının eğitim ve test verileri üzerindeki performansının yakın olması da verilerin
sayıca yeterli olduğuna ilişkin bir gösterge olarak kabul edilebilir. Bununla birlikte eğitim
setinin içermesi gereken veri miktarı değişik yapay sinir ağı modellerine göre ve
özellikle problemin gösterdiği karmaşıklığa göre farklılık gösterebilmektedir. Test işlemi için, eğitim setinde kullanılmayan verilerden oluşan test seti kullanılır.
Test setindeki girdiler YSA modeline verilir ve YSA’nın çıktı değeri ile istenilen çıktı
değeri karşılaştırılır. Amaç, YSA modelinin yeterli bir genelleme yapıp yapamadığını
görmektir. Eğitim ve test aşamalarında istenilen başarı elde edilirse YSA modeli
kullanılabilir. (train and test ) ile çapraz geçerlilik (cross validation) setinin %25 ile %90
arasında değişen miktarı eğitim seti olarak seçilir. Geri kalan kısım ise test seti olarak
ayrılır. Çapraz geçerlilik tekniğinde ise, YSA’nın eğitilmesinde ve test edilmesinde tüm
veri seti kullanılır. Bu yaklaşımda, tüm veri seti k adet örtüşmeyen kümeye ayrılır ve k
farklı YSA elde edilir. Her YSA’nın testinde farklı bir küme kullanılmak üzere, eğitim
işlemi geri kalan k-1 adet küme
ile gerçekleştirilir. Uygulama kullanılacak YSA ise, tüm veri seti kullanılarak eğitilir. Bu
YSA’nın performansı, k farklı YSA’nın test sonuçlarının ortalaması ile ölçülür.5
8.7 Biyolojik Sinir Sistemi Biyolojik sinir sistemi, merkezde sürekli olarak bilgiyi alan, yorumlayan ve uygun bir karar
üreten beynin bulunduğu üç katmanlı bir sistem olarak açıklanır. Bunlar; çevreden gelen
girdileri elektriksel sinyallere dönüştürerek beyine ileten Alıcı Sinirler (Receptor),
beynin ürettiği elektriksel sinyalleri çıktı olarak uygun tepkilere dönüştüren Tepki Sinirleri ile
alıcı ve tepki sinirleri arasında ileri ve geri besleme yaparak uygun tepkiler üreten Merkezi
Sinir Ağı.
23
24
5 Dengiz, Sağlık Bilimlerinde Yapay Sinir Ağları
şekil 3 8.8 Sinir Hücresi (Nöron)
Sinir Hücreleri, sinir sisteminin temel işlem elemanıdır. Birbiriyle bağlantılı iki nöronun axon,
dentrite, synapse ve soma olma üzere dört önemli bölümü bulunmaktadır.
° Dendritler
° Hücre Gövdesi (Soma)
° Axonlar
° Synapse Dentrites : Nöronun ağaç köküne benzeyen, görevi hücreye girdilerin sağlanması olan
uzantılardır.
Hücre Gövdesi (Soma) : Bir nöronun gövdesine soma adı verilir. Soma nucleus adı verilen
hücre çekirdeğini içermektedir. Hücrenin yaşamasını sağlayan işlevleri görür.
Synapslar aracılığıyla dentriteslere geçirilen iletiler birleşerek axon üzerinde elektriksel
bir çıktı oluştururlar. Bu çıktının olup olmayacağı veya çıktının elektriksel olarak
yoğunluğu, synapsların etkileri sonucu hücreye gelen tüm girdilerin, toplam değeri
tarafından belirlenmektedir. Somaya gelen girdilerin ağırlıklı toplamı axon üzerinde çıktı
oluşturacak değere ulaştığında, bu değere "eşik değer" adı verilmektedir ve nöron
ateşlendi (fired) olarak ifade edilmektedir. Bu şekilde girdiler nöron tarafından
değerlendirilerek çıktıya dönüştürülmüş olur.
Axon: Hücre çıktısını göndermeye yarayan uzantısıdır. Bir hücrenin tek bir axon uzantısı
bulunur. Ancak bu axon uzantıdan çıkan çok sayıda uzantı ve bunların ucunda synapstik
bağlantılar bulunur.
Synapse: synapslar, sinir hücrelerindeki axonlarının, diğer sinir hücreleri ve/veya onların
dentriteleri üzerinde sonlanan özelleşmiş bağlantı noktalarıdır. Bu bağlantı
noktalarının görevi axondaki elektriksel iletinin diğer hücrelere aktarılmasıdır. Bu bağlantı
noktalarında
iletiler elektro-kimyasal süreçlerle diğer hücrelere geçirilir. Synapslar bağlandıkları dentrite
25
veya nöronda bölgesel olarak elektrik kuvvetini pozitif veya negatif yönde etkileyebilme
yeteneğine sahiptirler. Böylelikle bir nöronun diğerini etkileyebilmesi söz konusu olmaktadır
26
Dendrite Synaps
Axon
Soma
şekil 4 Biyolojik Sinir Hücresi
İnsan beyninde yaklaşık 10 milyar sinir hücresi ve 60 trilyon synapse bulunmaktadır. Bir sinir hücresinin çalışma şekli şöyledir;
Sinir hücresi, diğer sinir hücrelerinden gelen uyarıları (elektriksel sinyaller) snapsları
üzerinden dentritlerine alır. Bu sırada gelen sinyaller snapslar tarafından güçlendirilir ya da
zayıflatılır. Dentritler sinyalleri hücre gövdesine iletirler. Hücre gövdesi gelen sinyalleri
birbirlerini kuvvetlendirme ve zayıflatma etkilerine göre işler. Eğer sonuçta
sinyaller birbirlerini yeteri kadar kuvvetlendirerek bir eşik değerini aşabilirlerse,
aksona sinyal gönderilir ve sinir aktif hale getirilir. Aksi halde, aksona sinyal gönderilmez
ve sinir pasif durumda kalır. 8.9 YSA’nın Yapısı
Sinir hücreleri bir grup halinde işlev gördüklerinde ağ (network) olarak adlandırılırlar
ve böyle bir grupta binlerce nöron bulunur. Yapay nöronların birbirleriyle
bağlantılar
aracılığıyla bir araya gelmeleri yapay sinir ağını oluşturmaktadır.
Yapay sinir ağıyla aslında biyolojik sinir ağının bir modeli oluşturulmak istenmektedir.
Nöronların aynı doğrultu üzerinde bir araya gelmeleriyle katmanlar oluşmaktadır.
Katmanların değişik şekilde bir birleriyle bağlanmaları değişik ağ mimarilerini doğurur. YSA
lar üç katmadan oluşur. Bu katmanlar sırasıyla;
° Girdi katmanı
° Ara Katman
° Çıktı Katmanıdır. 8.9.1 Girdi Katmanı
Bu katmandaki proses elemanları dış dünyadan bilgileri alarak ara katmanlara transfer
ederler. Bazı ağlarda girdi katmanında herhangi bir bilgi işleme olmaz. 8.9.2 Ara Katman (Gizli Katman)
Girdi katmanından gelen bilgiler işlenerek çıktı katmanına gönderilirler. Bu bilgilerin
işlenmesi ara katmanlarda gerçekleştirilir. Bir ağ içinde birden fazla ara katman olabilir. 8.9.3 Çıktı Katmanı
Bu katmandaki proses elemanları ara katmandan gelen bilgileri işleyerek ağın
girdi katmanından sunulan girdi seti için üretmesi gereken çıktıyı üretirler. Üretilen
çıktı dış dünyaya gönderilir.
Bağlantı Neuron
Giriş Katmanı Gizli Katman Çıkış Katmanı
şekil 5: Yapay Sinir Ağı Modeli
27
28
8.10 Yapay Sinir Hücresi Biyolojik sinir ağlarında olduğu gibi yapay sinir ağlarında da temel unsur, yapay sinir
hücresidir. Yapay sinir hücresi, YSA’ nın çalışmasına esas teşkil eden en küçük ve temel
bilgi işleme birimidir Ağ içinde yer alan tüm nöronlar bir veya birden fazla girdi alırlar ve
tek bir çıktı verirler. Bu çıktı yapay sinir ağının dışına verilen çıktılar olabileceği
gibi başka nöronlara girdi olarak da kullanılabilirler. Geliştirilen hücre modellerinde
bazı farklılıklar olmakla birlikte genel özellikleri ile bir yapay hücre modeli 5
bileşenden oluşmaktadır. Bunlar;
° Girdiler
° Ağırlıklar
° Birleştirme Fonksiyonu
° Aktivasyon Fonksiyonu
° Çıktı 8.10.1 Girdiler
Girdiler, diğer hücrelerden ya da dış ortamlardan hücreye giren bilgilerdir. 8.10.2 Ağırlıklar
Bilgiler, bağlantılar üzerindeki ağırlıklar üzerinden hücreye girer ve ağırlıklar, ilgili
girişin hücre üzerindeki etkisini belirler. Ağırlıklar bir nöronda girdi olarak kullanılacak
değerlerin göreceli kuvvetini (matematiksel katsayısını) gösterir. Yapay sinir ağı içinde
girdilerin nöronlar arasında iletimini sağlayan tüm bağlantıların farklı ağırlık değerleri
bulunmaktadır. Böylelikle ağırlıklar her işlem elemanının her girdisi üzerinde etki
yapmaktadır. 8.10.3 Birleştirme Fonksiyonu
Birleştirme fonksiyonu, bir hücreye gelen net girdiyi hesaplayan bir fonksiyondur ve
genellikle net girdi, girişlerin ilgili ağırlıkla çarpımlarının toplamıdır. Birleştirme fonksiyonu,
ağ yapısına göre maksimum alan, minimum alan ya da çarpım fonksiyonu olabilir.
v = ƒ xi wi + θ , y=F(v)
29
w: Hücrenin ağırlıklar matrisini
x: Hücrenin giriş vektörünü
v: Hücrenin net girişini
y: Hücre çıkışını s
8.10.4 Aktivasyon Fonksiyonu
Transfer fonksiyonu olarak da geçen aktivasyon fonksiyonu, birleştirme fonksiyonundan
elde edilen net girdiyi bir işlemden geçirerek hücre çıktısını belirleyen ve genellikle
doğrusal olmayan bir fonksiyondur. Hücre modellerinde, hücrenin gerçekleştireceği işleve
göre çeşitli tipte aktivasyon fonksiyonları kullanılabilir. Aktivasyon fonksiyonları sabit
parametreli yada uyarlanabilir parametreli seçilebilir. En uygun aktivasyon fonksiyonu
tasarımcının denemeleri sonucunda belli olur. Aktivasyon fonksiyonunun seçimi büyük
ölçüde yapay sinir ağının verilerine ve ağın neyi öğrenmesinin istendiğine bağlıdır. Geçiş
fonksiyonları içinde en çok kullanılanı simoid ve hiperbolik tanjant fonksiyonlarıdır.
Örneğin eğer ağın bir modelin ortalama davranışını öğrenmesi isteniyorsa sigmoid
fonksiyon, ortalamadan sapmanın
öğrenilmesi isteniyorsa hiperbolik tanjant fonksiyon kullanılması önerilmektedir.
Aktivasyon fonksiyonları bir YSA’da nöronun çıkış genliğini, istenilen değerler arasında
sınırlar. Bu değerler genellikle [0,1] veya [-1,1] arasındadır. YSA’da kullanılacak aktivasyon fonksiyonlarının
türevi alınabilir olması ve süreklilik arz etmesi gereklidir. Lineer veya
doğrusal olmayan transfer fonksiyonlarının kullanılması YSA’ların karmaşık ve çok farklı problemlere
uygulanmasını sağlamıştır.
Aşağıda, hücre modellerinde yaygın olarak kullanılan çeşitli aktivasyon fonksiyonları tanıtılmıştır.
8.10.4.1 Doğrusal Aktivasyon Fonksiyon
Doğrusal bir problemi çözmek amacıyla kullanılan doğrusal hücre ve YSA’ da yada genellikle
katmanlı YSA’ nın çıkış katmanında kullanılan doğrusal fonksiyon, hücrenin net girdisini doğrudan
hücre çıkışı olarak verir. Doğrusal aktivasyon fonksiyonu matematiksel olarak y=Av şeklinde
tanımlanabilir. “A” sabit bir katsayıdır. YSA ların çıkış katmanında
kullanılan doğrusal fonksiyon şekilde verilmiştir.
30
8.10.4.2 Sigmoid Aktivasyon Fonksiyonu
Sigmoid Aktivasyon Fonksiyonu, türevi alınabilir, sürekli ve doğrusal olmayan bir fonksiyon
olması nedeniyle uygulamada en çok kullanılan aktivasyon fonksiyonudur. Bu fonksiyon,
girdinin her değeri için sıfır ile bir arasında bir değer üretir.
Sigmoid Fonksiyon Sigmoid fonksiyonunu denklemi;
y = 1 1 + e −v
8.10.4.3 Tanjant Hiperbolik
Tanjant hiperbolik fonksiyonu, sigmoid fonksiyonunun biraz farklı şeklidir. Giriş uzayının
genişletilmesinde etkili bir aktivasyon fonksiyonudur. Sigmoid fonksiyonun çıktı aralığı 0 ve
1 olurken, hiperbolik tanjant fonksiyonunun çıktısı -1 ve 1 aralığında oluşmaktadır.
31
Tanjant fonksiyonunun formülü;
1 − e −2v
y = 1 + e 2v
Yukarıda anlatılan aktivasyon fonksiyonlarından başka, literatürde geçen diğer aktivasyon
fonksiyonları;
° Basamak Fonksiyonu
° Kutuplamalı Basamak Fonksiyonu
° Parçalı Doğrusal Fonksiyon 8.10.5 Çıktı
Aktivasyon fonksiyonundan geçirildikten sonra elde edilen değer, çıktı değeridir. Örnek
Bir yapay sinir hücresinin çalışma örneği
0.5 0.1
32
0.6
-0.2 Çıktı: 0.77 F(NET) NET:1.225 1/1+e-1.225
0.9 -0.1
0.7
0.5
Ağırlıklı toplam alınarak hücreye gelen net bilgi, şu şekilde hesaplanır;
NET: 0.5 * (0.1) + 0.6 * (-0.2) + 0.9 (-0.1) + 0.5 (0.7) = 1.225
Hücrenin sigmoid fonksiyonuna göre çıktısı;
Çıktı = 1/(1+e-1.225) = 0.77
8.11 Yapay Sinir Ağlarının Sınıflandırılması
YSA’lar, genel olarak birbirleri ile bağlantılı işlemci birimlerden (sinir hücresi) oluşurlar. Her
bir sinir hücresi arasındaki bağlantıların yapısı ağın yapısını belirler. İstenilen hedefe ulaşmak
için bağlantıların nasıl değiştirileceği öğrenme algoritması tarafından belirlenir.
Kullanılan öğrenme algoritmasına göre, hatayı sıfıra indirecek şekilde, ağın ağırlıkları
değiştirilir. YSA’lar yapılarına ve öğreneme algoritmalarına göre sınıflandırılırlar. 8.11.1 YSA’ların Yapılarına Göre Sınıflandırılması
Yapay sinir ağları, yapılarına göre, ileri beslemeli (feedforward) ve geri beslemeli (feedback)
ağlar olmak üzere iki şekilde sınıflandırılırlar. 8.11.1.1 İleri Beslemeli Ağlar
İleri beslemeli bir ağda işlemci elemanlar (İE) genellikle katmanlara ayrılmışlardır.
İşaretler, giriş katmanından çıkış katmanına doğru tek yönlü bağlantılarla iletilir. İE’ler bir
katmandan diğer bir katmana bağlantı kurarlarken, aynı katman içerisinde bağlantıları
bulunmaz. ğekil
’de ileri beslemeli ağ için blok diyagram gösterilmiştir. İleri beslemeli ağlara örnek olarak çok
katmanlı perseptron (Multi Layer Perseptron-MLP) ve LVQ (Learning Vector Quantization)
ağları verilebilir.
33
şekil 6: İleri Beslemeli Ağ İçin Blok Diyagram
İleri beslemeli YSA’ da, hücreler katmanlar şeklinde düzenlenir ve bir katmandaki hücrelerin
çıkışları bir sonraki katmana ağırlıklar üzerinden giriş olarak verilir. Giriş katmanı,
dış ortamlardan aldığı bilgileri hiçbir değişikliğe uğratmadan orta (gizli) katmandaki
hücrelere iletir. Bilgi, orta ve çıkış katmanında işlenerek ağ çıkışı belirlenir. Bu yapısı ile
ileri beslemeli ağlar, doğrusal olmayan statik bir işlevi gerçekleştirir. İleri beslemeli 3
katmanlı YSA’ nın, orta katmanında yeterli sayıda hücre olmak kaydıyla, herhangi bir sürekli
fonksiyonu istenilen doğrulukta yaklaştırabileceği gösterilmiştir. En çok bilinen
geriye yayılım öğrenme algoritması, bu tip YSA ların eğitiminde etkin olarak
kullanılmakta ve bazen bu ağlara geriye yayılım ağları da denmektedir. ğekil 7’de giriş, orta
ve çıkış katmanı olmak üzere 3 katmanlı
ileri beslemeli YSA yapısı verilmiştir.
şekil 7 İleri beslemeli 3 katmanlı YSA.
NET : j = ƒ Akj Çk
a i Akj= k. girdi katmanı elemanını j.ara katman elemanına bağlayan bağlantının ağırlık değeri.
J.ara katman elemanının çıktı değeri ise, bu net girdinin aktivasyon fonksiyonundan
geçirilmesi ile elde edilir.
Herhangi bir problemi çözmek amacıyla kullanılan YSA da, katman sayısı ve orta katmandaki
hücre sayısı gibi kesin belirlenememiş bilgilere rağmen nesne tanıma ve sinyal işleme
gibi alanların yanı sıra, ileri beslemeli YSA, sistemlerin tanılanması ve denetiminde de
yaygın
34
35
olarak kullanılmaktadır.
8.11.1.2 Geri Beslemeli Ağlar Bir geri beslemeli sinir ağı, çıkış ve ara katlardaki çıkışların, giriş birimlerine veya önceki
ara katmanlara geri beslendiği bir ağ yapısıdır. Böylece, girişler hem ileri yönde hem de
geri yönde aktarılmış olur. ğekil 8’de bir geri beslemeli ağ görülmektedir. Bu çeşit sinir
ağlarının dinamik hafızaları vardır ve bir andaki çıkış hem o andaki hem de önceki
girişleri yansıtır. Bundan dolayı, özellikle önceden tahmin uygulamaları için uygundurlar.
Geri beslemeli ağlar çeşitli tipteki zaman-serilerinin tahmininde oldukça başarı
sağlamışlardır. Bu ağlara örnek
olarak Hopfield, SOM (Self Organizing Map), Elman ve Jordan ağları verilebilir.
şekil 8: Geri Beslemeli Ağ İçin Blok Diyagram Geri beslemeli YSA’ da, en az bir hücrenin çıkışı kendisine ya da diğer hücrelere giriş olarak
verilir ve genellikle geri besleme bir geciktirme elemanı üzerinden yapılır. Geri besleme, bir
katmandaki hücreler arasında olduğu gibi katmanlar arasındaki hücreler arasında da olabilir.
Bu yapısı ile geri beslemeli YSA, doğrusal olmayan dinamik bir davranış
gösterir. Dolayısıyla, geri beslemenin yapılış şekline göre farklı yapıda ve davranışta
geri beslemeli YSA yapıları elde edilebilir.
Geriye doğru hesaplamada, ağın ürettiği çıktı değeri, ağın beklenen çıktıları ile kıyaslanır.
Bunların arasındaki fark, hata olarak kabul edilir. Amaç bu hatanın düşürülmesidir.
Çıktı katmanında m. proses için oluşan hata, Em= Bm- Çm olacaktır. Çıktı katmanında oluşan
toplam hatayı bulmak için, bütün hataların toplanması gereklidir. Bazı hata
değerledi negatif olacağından, toplamın sıfır olmasını önlemek amacıyla ağırlıkların
kareleri hesaplanarak
sonucun karekökü alınır. Toplam hata aşağıdaki formül ile bulunur.
36
37
1 Toplam Hata= ƒ Em 2
2 m
Toplam hatayı en azlamak için, bu hatanın kendisine neden olan proses elemanlarına
dağıtılması gerekmektedir. Bu da, proses elemanlarının ağırlıklarını değiştirmek demektir. 8.11.2 YSA’ların Öğrenme Algoritmalarına Göre Sınıflandırılması
Öğrenme; gözlem, eğitim ve hareketin doğal yapıda meydana getirdiği davranış
değişikliği olarak tanımlanmaktadır. Birtakım metot ve kurallar, gözlem ve eğitime ile ağdaki
ağırlıkların değiştirilmesi sağlanmalıdır. Bunun için genel olarak üç öğrenme metodundan
ve bunların uygulandığı değişik öğrenme kurallarından söz edilebilir. Bu öğrenme
kuralları aşağıda açıklanmaktadır.
8.11.2.1 Danışmanlı Öğrenme
Bu tip öğrenmede, YSA’ya örnek olarak bir doğru çıkış verilir. Bu öğrenmede ağın
ürettiği çıktılar ile hedef çıktılar arasındaki fark hata olarak ele alınır ve bu hata minimize
edilmeye çalışılır. Bunun için de bağlantıların ağırlıkları en uygun çıkışı verecek şekilde
değiştirilir. Bu sebeple danışmanlı öğrenme algoritmasının bir “öğretmene” veya
“danışmana” ihtiyacı vardır. ğekil 9’da danışmanlı öğrenme yapısı gösterilmiştir.
Widrow-Hoff tarafından geliştirilen delta kuralı ve Rumelhart ve McClelland tarafından
geliştirilen genelleştirilmiş delta kuralı veya geri besleme (back propagation)
algoritması danışmanlı öğrenme
algoritmalarına örnek olarak verilebilir.
şekil 9: Danışmanlı Öğrenme Yapısı
8.11.2.2 Danışmansız Öğrenme Bu tür öğrenmede ağa sadece girdiler verilir. Ağın ulaşması gereken hedef çıktılar
verilmez. Girişe verilen örnekten elde edilen çıkış bilgisine göre ağ sınıflandırma
kurallarını kendi kendine geliştirir. Ağ daha sonra bağlantı ağırlıklarını aynı özellikleri
gösteren desenler (patterns) oluşturmak üzere ayarlar. ğekil 10’da danışmansız öğrenme
yapısı gösterilmiştir. Grossberg tarafından geliştirilen ART (Adaptive Resonance
Theory) veya Kohonen
tarafından geliştirilen SOM (Self Organizing Map) öğrenme kuralı danışmansız
öğrenmeye
örnek olarak verilebilir.
şekil 10: Danışmansız öğrenme yapısı 8.11.2.3 Takviyeli Öğrenme
Takviyeli öğrenme algoritması, istenilen çıkışın bilinmesine gerek duymaz.
Takviyeli öğrenme (reinforcement training) yöntemi öğreticili öğrenme yöntemine
benzemekle birlikte, ağa hedef çıktılar yerine, ağın çıktılarının ne ölçüde doğru olduğunu
belirten bir skor veya derece bildirilir. ğekil 11’de takviyeli öğrenme yapısı
gösterilmiştir. Optimizasyon problemlerini çözmek için Hinton ve Sejnowski’nin
geliştirdiği Boltzmann kuralı veya GA
takviyeli öğrenmeye örnek olarak verilebilirler.
38
şekil 11: Takviyeli öğrenme yapısı.
8.11.3 Uygulamaya Göre Öğrenme Algoritmaları
8.11.3.1 Çevrim İçi (On-line) Öğrenme
Bu kurala göre öğrenen sistemler, gerçek zamanda çalışırken bir taraftan
fonksiyonlarını yerine getirmekte, bir taraftan da öğrenmeye devam etmektedirler. ART ve
Kohonen öğrenme kuralı bu sınıfta bulunan öğrenme bu öğrenme kuralına örnek olarak
verilebilir.
8.11.3.2 Çevrim Dışı (Offline) Öğrenme
Bu kurala dayalı sistemler, kullanıma alınmadan önce örnekler üzerinde eğitilirler. Bu kuralı
kullanan sistemler eğitildikten sonra gerçek hayatta kullanıma alındığında artık öğrenme
olmamaktadır. Delta öğrenme kuralı bu tür öğrenmeye örnek olarak verilebilir.
8.12 Yapay Sinir Ağ Yapıları
YSA’daki sinir sayısı, sinirlerin birbirine göre konumu ve sinirler arası sinyallerin akış
yönleri YSA yapısını belirlemektedir. Yapısı belirlenmiş bir YSA eğitilerek YSA
ile ilgili uygulamalarda kullanılır.
YSA yapıları arasında performans ve karakteristik özellikleri bakımın farklar vardır. YSA
yapıları, özellikle ağın modelleme yeteneğini belirledikleri için oldukça önemlidirler. Yapay
sinir ağının tasarımı aşamasında bu ağ yapıları arasından uygulamaya en elverişli olanı
seçilir.
39
40
8.12.1 Bir YSA’nın Tasarımı
YSA uygulamasının başarısı, uygulanacak olan yaklaşımlar ve deneyimlerle
yakından ilgilidir. Uygulamanın başarısında uygun metodolojiyi belirlemek büyük önem
taşır. Yapay sinir ağının geliştirilmesi sürecinde ağın yapısına ve işleyişine ilişkin şu
kararların verilmesi gerekir.
° Ağ mimarisinin seçilmesi ve yapı özelliklerinin belirlenmesi (katman sayısı,
katmandaki nöron sayısı gibi)
° Nörondaki fonksiyonların karakteristik özelliklerinin belirlenmesi,
° Öğrenme algoritmasının seçilmesi ve parametrelerinin belirlenmesi,
° Eğitim ve test verisinin oluşturulması
Bu kararların doğru verilememesi durumunda, YSA’ları sistem karmaşıklığı artacaktır.
Sitem karmaşıklığı yapısal ve toplam hesaplama karmaşıklığının bir fonksiyonudur.
Toplam hesaplama karmaşıklığı ise, genellikle yapısal karmaşıklığın bir fonksiyonu
olarak ortaya çıkar ve bu hesaplamanın en aza indirilmesi amaçlanır. Bu hesaplama
karmaşıklığının ölçülmesinde de genellikle YSA sisteminin toplam tepki süresi veya
sisteme ait bir işlemci elemanın tepki süresi değeri temel alınır. Bunun yanında
kapladığı hafıza ve zaman karmaşıklığı bazı uygulamalarda hesaplanmaktadır.
Bir YSA’nın uygun parametrelerle tasarlanması durumunda YSA sürekli olarak kararlı ve
istikrarlı sonuçlar üretecektir. Ayrıca sistemin tepki süresinin yeterince kısa olabilmesi için de
ağ büyüklüğünün yeterince küçük olması gerekir. İhtiyaç duyulan toplam hesaplama da bu
sayede sağlanmış olacaktır.
8.12.1.1 YSA Ağ Yapısının Seçimi
YSA’nın tasarımı sürecinde ağ yapısının seçilmesi, uygulama problemine bağlı olarak
seçilmelidir. Hangi problem için hangi ağın daha uygun olduğunun bilinmesi önemlidir.
Kullanım amacı ve o alanda başarılı olan ağ türleri Tablo 2’de verilmiştir.
Kullanım Amacı Ağ Türü Ağın Kullanımı Tahmin
° ÇKA Ağın girdilerinden bir çıktı
değerinin tahmin edilmesi
41
Sınıflandırma
° LVQ
° ART
° Counterpropagation
° Olasılıklı Sinir Ağları
Girdilerin hangi sınıfa ait
olduklarının belirlenmesi
Veri İlişkilendirme
° Hopfield
° Boltzman Machine
° Bidirectional Associative Memory
Girdilerin içindeki hatalı
bilgilerin bulunması ve eksik
bilgilerin tamamlanması
Tablo 1 - Ağ Türleri ve Başarılı Oldukları Alanlar
Uygun YSA yapısının seçimi, büyük ölçüde ağda kullanılması düşünülen
öğrenme algoritmasına da bağlıdır. Ağda kullanılacak öğrenme algoritması
seçildiğinde, bu algoritmanın gerektirdiği mimaride zorunlu olarak seçilmiş olacaktır.
Örneğin geriyayılım algoritması ileri beslemeli ağ mimarisi gerektirir.
Bir YSA’nın karmaşıklığının azaltılmasında en etkin araç, YSA ağ yapısını
değiştirmektir. Gereğinden fazla sayıda işlemci eleman içeren ağ yapılarında, daha
düşük genelleme kabiliyeti ile karşılaşılır.
8.12.1.2 Öğrenme Algoritmasının Seçimi
YSA yapısının seçiminden sonra uygulama başarısını belirleyen en önemli faktör
öğrenme algoritmasıdır. Genellikle ağ yapısı öğrenme algoritmasının seçiminde
belirleyicidir. Bu nedenle seçilen ağ yapısı üzerinde kullanılabilecek öğrenme algoritmasının
seçimi ağ yapısına bağlıdır. Yapay sinir ağının geliştirilmesinde kullanılacak çok sayıda
öğrenme algoritması bulunmaktadır. Bunlar içinde bazı algoritmaların bazı tip uygulamalar
için daha uygun olduğu bilinmektedir. Bu algoritmalar eğer
uygun oldukları uygulama alanlarına göre
sınıflandırılacak olursa, gruplar ve içinde yer alacak öğrenme algoritmaları aşağıdaki
gibi
özetlenebilir.
Uygulama Tipi Yapay Sinir Ağı Öngörü Tanıma ° Geriyayılım
° Delta Bar Delta ° Geliştirilmiş Delta Bar Delta ° Yönlendirilmiş Rastsal Tarama ° Geriyayılım içinde Self Organizing Map ° Higher Order Neural Networks
42
Sınıflandırma ° Learning Vektor Quantization
° Counter-Propagation ° Olasılıklı Yapay Sinir Ağları
Veri İlişkilendirme (Data Association)
° Hopfield ° Boltmann Makinesi ° Bidirectional Associative Memory ° Spantion -temproal Pattern Recogniation
Veri Kavramlaştırma (Data Conceptualization)
° Adaptive Resonance Network ° Self Organizing
Tablo2 - Öğrenme Algoritmaları ve Uygulandıkları Alanlar 8.12.1.3 Ara Katman Sayısını Belirleme
YSA’nın tasarımı sürecinde tasarımcının yapması gereken diğer işlemde, ağdaki
katman sayısına karar vermektir. Çoğu problem için 2 veya 3 katmanlı bir ağ tatmin edici
sonuçlar üretebilmektedir. Nöronların aynı doğrultu üzerinde bir araya gelmeleriyle
katmanlar oluşmaktadır. Katmanların değişik şekilde bir birleriyle bağlanmaları değişik
ağ yapılarını oluşturur. Girdi ve çıktı katmanlarının sayısı, problemin yapısına göre
değişir. 6 Katman sayısını belirlemenin en iyi yolu, birkaç deneme yaparak en uygun
yapının ve yapının ne olduğuna karar vermektir.
8.12.1.4 Nöron Sayısının Belirlenmesi
Ağın yapısal özelliklerinden birisi her bir katmandaki nöron sayısıdır. Katmandaki nöron
sayısının tespitinde de genellikle deneme-yanılma yöntemi kullanılır. Bunun için izlenecek
yol, başlangıçtaki nöron sayısını istenilen performansa ulaşıncaya kadar arttırmak veya
tersi şekilde istenen performansın altına inmeden azaltmaktır. Bir katmanda kullanılacak
nöron sayısı olabildiğince az olmalıdır. Nöron sayısının az olması yapay sinir ağının
"genelleme" yeteneğini arttırırken, gereğinden fazla olması ağın verileri ezberlemesine neden
olur. Ancak gereğinden az nöron kullanılmasının verilerdeki örüntünün ağ tarafından
öğrenilememesi gibi
bir sorun yaratabilir. Nörondaki fonksiyonların da karakteristik özellikleri de YSA nun tasarımında önemli
kararlardan biridir. Nöronun geçiş fonksiyonunun seçimi büyük ölçüde yapay sinir
ağının verilerine ve ağın neyi öğrenmesinin istendiğine bağlıdır. Geçiş fonksiyonları içinde
en çok kullanılanı sigmoid ve hiperbolik tanjant fonksiyonlarıdır. Daha önce belirtildiği gibi
sigmoid
fonksiyonun çıktı aralığı 0 ve 1 arasında olurken, hiperbolik tanjant fonksiyonunun çıktısı -1 43
44
6 H.Stern, 1996, Neural Networks in Applied Statistics
45
ve 1 aralığında oluşmaktadır. Eğer ağın bir modelin ortalama davranışını
öğrenmesi isteniyorsa sigmoid fonksiyon, eğer ortalamadan sapmanın öğrenilmesi isteniyorsa
hiperbolik tanjant fonksiyon kullanılması önerilmektedir.
8.12.1.5 Normalizasyon
YSA’ların en belirgin özelliklerinden olan doğrusal olmama özelliğini anlamlı kılan
yaklaşım, verilerin bir normalizasyona tabii tutulmasıdır. Verilen normalizasyonu için
seçilen yöntem YSA performansını doğrudan etkileyecektir. Çünkü normalizasyon, giriş
verilerinin transfer edilirken fonksiyonun aktif olan bölgesinden aktarılmasını sağlar.
Veri normalizasyonu, işlemci elemanlarını verileri kümülatif toplamların
oluşturacağı olumsuzlukların engellenmesini sağlar. Veri normalizasyonu,
işlemci elemanlarını verileri kümülatif toplamlarla koruma eğilimleri nedeniyle
zorunludur ve aşırı değerlenmiş kümülatif toplamların oluşturacağı olumsuzlukların
engellenmesini sağlar. Genellikle verilerin [0,1] veya [-1,+1] aralıklarından birine
ölçeklendirilmesi önerilmektedir. Ölçekleme verilerin geçerli eksen sisteminde
sıkıştırılması anlamı taşıdığından veri kalitesi aşırı salınımlar içeren problemlerin YSA
modellerini olumsuz yönde etkileyebilir. Bu olumsuzluk, kullanılacak öğrenme
fonksiyonunu da başarısız kılabilir. Örneğin, Bir transfer fonksiyonuna uygulanan girişler ile ağırlıkların çarpım toplamının 10 ve
100 olduğunu farz edelim. Bu toplamı bir tanjant hiperbolik fonksiyonundan geçirdiğimizde;
y= tanh(10)=(e10-e-10) / (e10+e-10)=1.000000
ve
y= tanh(100)=(e100-e-100) / (e10+e-10)=1.000000 sonuçları elde edilir. Görüldüğü gibi, 10 ve 100 skalar değerlerine karşılık gelen
fonksiyon sonuçları arasında fark yoktur. Bu durumda da, birbirinden oldukça farklı
skalar değerler sistemde sanki aynı değerlermiş gibi ele alınacak ve hem uygulama
hem de öğrenme algoritması açısından olumsuz sonuçlar ortaya çıkacaktır. Bunun için, X veri kümesi [-1 +1] ya da [0 1] aralığına ölçeklendirilmelidir. Veri kümesinin
[0 1] arasında bir ölçeklendirmeye tabi tutulabilmesi için o kümenin Xmin Xmax aralığı bulunur
ve aşağıdaki formüle göre ölçeklendirme yapılabilir.
X =
N ƒ
N ƒ
1 2
X − xmin yeni
xmax − xmin 8.12.1.6 Performans Fonksiyonun Seçimi
Öğrenme performansını etkileyen önemli hususlardan bir de performans fonksiyonudur. İleri
beslemeli ağlarda kullanılan tipik performans fonksiyonu karesel ortalama hatadır (Mean
Square Error)
1
N (t
i =1
MSE= i
2
− td i ) ile hesaplanır.
İleri beslemeli ağlarda kullanılan tipik performans fonksiyonlarından bir diğeri de toplam
karesel hatadır. (Sum Square Error)
1 N SSE= (ti
i =1
2
− td i ) ile hesaplanır.
Bu ağlarda kullanılan diğer bir performans fonksiyonu da karesel ortalama hata karekökü
(Root Mean Square) fonksiyonudur.
RMS= N
ƒ (ti
− td i ) N i =1 Literatürde en çok kullanılan YSA yapıları aşağıda açıklanmıştır.
8.12.2 Basit Algılayıcı Modeli (Perseptron)
Tek katmanlı YSA’lar sadece girdi ve çıktı katmanından oluşurlar. Her ağın bir ya da
daha fazla girdisi ve bir çıktısı vardır. En basit şekli ile tek katmanlı bir ağa örnek olarak
aşağıdaki şekil verilir.
X1 W1
Tek Katmanlı Algılayıcı 36
ÇIKTI
X1 W2 Her bağlantının bir ağırılığı (W1) vardır. Yukarıdaki şekilde ağın iki girdisi ve bir çıktısı
olduğu görülmektedir. Bu ağlarda, proses elemanlarının değerlerinin ve dolayısıyla ağın
çıktısının sıfır olmasını önleyen bir de eşik değeri vardır ve bu değer 1’dir. Tek
katmalı algılayıcılarda çıktı fonksiyonu doğrusal fonksiyondur. Ağa gösterilen örnekler
iki sınıf arasında paylaştırılarak iki sınıfı birbirinden ayıran doğru bulunmaya çalışılır.
Bunun için eşik değer fonksiyonu kullanılmaya çalışılır. Burada ağın çıktısı +1 veya -1
değerini almaktadır.
+1 ve -1 sınıfları temsil etmektedir. Eğer ağın çıktısı +1 ise birinci sınıfta, -1 ise ikinci sınıfta
kabul edilmektedir.
1, eğer Çıktı>0 ise
-1, eğer Çıktı<0 ise Burada öğrenme ile kast edilen, bu iki sınıfı en iyi şekilde ayırabilmektir. Bunun için
de ağırlık değerlerinin değiştirilmesi gerekir. t zaman biriminde ağırlık değeri ΔW
kadar değiştirilir ise;
Wi(t+1)= Wi(t) + ΔWi(t) olacaktır.
Öğrenme sırasında bu değişim her iterasyonda gerçekleştirilerek iki sınıfı birbirinden
ayıran sınıf ayıracının en doğru sonucu bulması amaçlanır. Aynı şekilde eşik değeri
de her iterasyonda Δφ kadar değiştirilir ve yeni eşik değeri aşağıdaki formül ile hesaplanır.
φi(t+1)= φi(t) + Δφi(t)
Tek katmanlı algılayıcılarda önemli iki modelden bahsedilebilir. Bunlar ;
° Basit Algılayıcı (Perseptron)
° Adeline / Madalinedir. Basit Algılayıcı Öğrenme Kuralı
37
Dört adımdan oluşan basit algılayıcı öğrenme kuralı adımları, uygulamalı örnek üzerinde
aşağıda anlatılmıştır.
Örnek Bu örnekte, iki girdi ve bir çıktıdan oluşan bir basit algılayıcı kullanılmıştır. Ağın
öğrenmesi gereken 2 tane örnek vardır. Belirlenen örneklerin girdileri (X), ağırlıkları (W),
beklenen çıktı değeri (B) ve eşik ünitesinin ağırlık değeri φ aşağıda verilmiştir.
1. Örnek : X1=(x1, x2) = (1,0), B1 =1
2. Örnek : X2=(x1, x2) = (0,1), B1 =1
Ağırlıklar : W=( w1, w2) = (1,2)
Eşik Değeri: φ = -1
Öğrenme Katsayısı: λ=0,5 Adım 1: Ağa girdi seti ve ona karşılık gelen çıktı seti gösterilir ve net girdi hesaplanır.
NET: w1* x1 + w2* x2 = 1*1 + 2*0 =1
Adım 2: Net girdi, eşik değeri ile kıyaslanır. Net girdinin eşik değerinden büyük veya küçük
olmasına göre çıktı değeri 0 ve 1 değerlerinden birisini alır.
Ç= 1, Eğer NET>φ
0, Eğer NET<=φ NET=1>φ olduğundan Çıktı değeri Ç=1 olacaktır.
Adım 3
Eğer beklenen çıktı ile gerçekleşen çıktı aynı ise, ağırlıklarda herhangi bir değişiklik olmaz.
Ağ, beklenmeyen bir çıktı üretmiş ise iki durum söz konusudur.
1. Durum: Ağın beklenen çıktısı 0 iken, gerçekleşen çıktısı 1 ise, ağırlık değerleri azaltılır.
Wn = W0 - λX 2. Durum: Ağın beklenen çıktısı 1 iken, gerçek çıktısı sıfır ise,
Wn = W0 + λX
İki farklı duruma göre ağırlıkların yeni değerleri bu formüllerle hesaplanır.
38
39
Örnekte çıktı değeri 1 olarak hesaplanmıştır. Ç=B1 olduğundan ağırlıklar değiştirilmez.
Öğrenmenin birinci iterasyonu tamamlanmış olur.
İkinci iterasyonda, ikinci örnek ağa tanıtılır.
NET: w1* x1 + w2* x2 = 1*0 + 2*1 =2
NET>φ olduğundan gerçekleşen çıktı Ç=1 olacaktır. Ç≠B2 olduğundan ağırlıklar
Wn = W0 - λX
Formülüne göre yeniden hesaplanır.
w1 = w1 - λ*x1 = 1-0,5*0=1
w2 = w2 - λ*x2 = 2-0,5*1=1,5 3. iterasyonda 1. örnek ağa tekrar gösterilir.
NET: w1* x1 + w2* x2 = 1*1 + 1,5*0 = 1
NET>φ olduğundan gerçekleşen çıktı Ç=1 olacaktır. Ç=B2 olduğundan ağırlıklar
değiştirilmez. 4. iterasyonda 2. örnek ağa tekrar gösterilir.
NET: w1* x1 + w2* x2 = 1*0 + 1,5*1 = 1,5
NET>φ olduğundan gerçekleşen çıktı Ç=1 olacaktır. Ç≠B2 olduğundan ağırlıklar
w1 = w1 - λ*x1 = 1-0,5*0=1
w2 = w2 - λ*x2 = 1,5-0,5*1=1
5. iterasyonda 1. örnek ağa tekrar gösterilir.
NET: w1* x1 + w2* x2 = 1*1 + 1*0 = 1
NET>φ olduğundan gerçekleşen çıktı Ç=1 olacaktır. Ç=B1 olduğundan ağırlıklar
değiştirilmez. 6. iterasyonda 2. örnek ağa tekrar gösterilir.
NET: w1* x1 + w2* x2 = 1*0 + 1*1 = 1
NET>φ olduğundan gerçekleşen çıktı Ç=1 olacaktır. Ç≠B2 olduğundan ağırlıklar
w1 = w1 - λ*x1 = 1-0,5*0=1
w2 = w2 - λ*x2 = 1-0,5*1= 0,5
40
7.iterasyonda 1. örnek ağa tekrar gösterilir.
NET: w1* x1 + w2* x2 = 1*1 + 1*0 = 1
NET>φ olduğundan gerçekleşen çıktı Ç=1 olacaktır. Ç=B1 olduğundan ağırlıklar
değiştirilmez. 8. iterasyonda 2. örnek ağa tekrar gösterilir.
NET: w1* x1 + w2* x2 = 1*0 + 0,5*1 = 0,5
NET>φ olduğundan gerçekleşen çıktı Ç=1 olacaktır. Ç≠B2 olduğundan ağırlıklar
w1 = w1 - λ*x1 = 1-0,5*0= 1
w2 = w2 - λ*x2 = 0,5-0,5*1= 0 9.iterasyonda 1. örnek ağa tekrar gösterilir.
NET: w1* x1 + w2* x2 = 1*1 + 1*0 = 1
NET>φ olduğundan gerçekleşen çıktı Ç=1 olacaktır. Ç=B1 olduğundan ağırlıklar
değiştirilmez. 10. iterasyonda 2. örnek ağa tekrar gösterilir.
NET: w1* x1 + w2* x2 = 1*0 + 0*1 = 0
NET>φ olduğundan gerçekleşen çıktı Ç=1 olacaktır. Ç≠B2 olduğundan ağırlıklar
w1 = w1 - λ*x1 = 1-0,5*0= 1
w2 = w2 - λ*x2 = 0-0,5*1= -0,5 11.iterasyonda 1. örnek ağa tekrar gösterilir.
NET: w1* x1 + w2* x2 = 1*1 + (-0,5)*0 = 1
NET>φ olduğundan gerçekleşen çıktı Ç=1 olacaktır. Ç=B1 olduğundan ağırlıklar
değiştirilmez. 12. iterasyonda 2. örnek ağa tekrar gösterilir.
NET: w1* x1 + w2* x2 = 1*0 + (-0,5)*1 = -0,5
NET>φ olduğundan gerçekleşen çıktı Ç=1 olacaktır. Ç≠B2 olduğundan ağırlıklar
w1 = w1 - λ*x1 = 1-0,5*0= 1
w2 = w2 - λ*x2 = -0,5 - 0,5*1= -1
41
13.iterasyonda 1. örnek ağa tekrar gösterilir.
NET: w1* x1 + w2* x2 = 1*1 + (-0,5)*0 = 1
NET>φ olduğundan gerçekleşen çıktı Ç=1 olacaktır. Ç=B1 olduğundan ağırlıklar
değiştirilmez. Adım 4
Yukarıdaki ilk üç adım, bütün girdi setindeki örnekleri için doğru sınıflandırmalar yapılıncaya
kadar tekrar edilir. 14.iterasyonda 1. örnek ağa tekrar gösterilir.
NET: w1* x1 + w2* x2 = 1*0 + (-1)*1 = -1
NET=φ olduğundan gerçekleşen çıktı Ç=0 olacaktır. Ç=B1 olduğundan ağırlıklar
değiştirilmez.
Bundan sonra her iki örnek de doğru olarak sınıflandırılır. Öğrenme sonunda ağırlıklar;
w1=1 w2=-1
değerlerini alıca örnekler doğru sınıflandırılabilir demektir. Bu ağırlık değerleri kullanılarak
iki örnek tekrar ağa gösterilirse ağın çıktıları şöyle olur.
NET: w1* x1 + w2* x2 = 1*1 + (-1)*0 = 1 > φ Ç1=1 = B1
NET: w1* x1 + w2* x2 = 1*0 + (-1)*1 = -1 = φ Ç2=1 = B2
Görüldüğü gibi, her iki örnek içinde ağ tarafından doğru sınıflandırma yapılmaktadır. O
nedenle, ağ öğrenmeyi tamamlamıştır denilebilir. 8.12.3 Adaline
1959’da, Stanford üniversitesinden Bernard Widrow, basit nöron benzeri elemanlara dayanan
ve “Adaline” (Adaptive Linear Nöron) olarak adlandırılan bir adaptif lineer elemanı
geliştirmiştir. Adaline yapısı tüm sinir ağlarının en basitidir ve öğrenme için
danışmanlı öğrenmeyi kullanır. Adaline ve iki tabakalı biçimi olan “madaline” (Multiple
Adaline); ses tanıma, karakter tanıma, hava tahmini ve adaptif kontrol gibi çok çeşitli
uygulamalar için
kullanılmıştır. Daha sonraları adaline, ayrık bir çıkış yerine sürekli bir çıkış üretmek için
42
geliştirilmiştir. Widrow, telefon hatları üzerindeki ekoları elimine etmeye yarayan
adaptif filtreleri geliştirmede, adaptif lineer eleman algoritmasını kullanmıştır. Bununla
ilk defa YSA’lar gerçek bir probleme uygulanmıştır. Adaline bir çok uygulama için
oldukça iyi çalışmasına rağmen lineer problem uzayıyla sınırlıdır. Lineer transfer
fonksiyonu kullanırlar. Giriş ve istenilen çıkış desenlerinin tekrar tekrar ağa
uygulanmasıyla eğitim gerçekleştirilir. Desenlerin doğru sınıflara ayrılmasıyla, hatalar
minimize edilerek öğrenme gerçekleştirilir. Eğitimden sonra adaline, yeni girişleri
kazandığı deneyime göre sınıflandırabilir. Adeline Ünitesinin Öğrenme Kuralı
Adeline ünitesinin öğrenme kuralı, YSA’lardaki geneler öğrenme prensibine göre
çalışmaktadır. Girdilerden çıktılar hesaplanır ve ağırlıklar çıktıya göre
değiştirilir. ADELİNE ünitesinin net girdisi Net ve çıktısı (Ç) aşağıdaki formül ile
hesaplanmaktadır.
NET = ƒ wi xi + φ
Eğer NET>=0 çıktı (Ç)=1
Eğer NET>=0 çıktı (Ç)=-1 Çıktı hesaplandıktan sonra, ADELİNE ünitesinin hatası aşağıdaki formül ile hesaplanır.
E=B-Ç
olacaktır. Amaç, bu hatayı en aza indirecek ağırlıkları bulmaktır. Bunun için ağa her seferinde
farklı örnekler gösterilerek hatalar hesaplanmakta ve ağırlıklar hatayı azaltacak
şekilde değiştirilmektedir. Zaman içinde hata, olması gereken en küçük değere
düşmektedir. Bu hatayı azaltmak için kullanılan kural şu formül ile gösterilmektedir. Wy = We + α*E*Xi
Her hangi bir t a anında,
Wi (t)= Wi (t-1) + α*E*Xi olacaktır. Wi (t) : Ağırlıkların t zamanındaki değerleri
Wi (t-1) : Ağırlıkların t zamanındaki değerleri
α : Öğrenme katsayısı
B : Beklenen Çıktı
E : Beklenen değer ile çıktı arasındaki hata
X : Girdiler Benzer şekilde, eşik değerinin zaman içindeki değeri de
φy= φe + α (B-Ç)
formülü ile hesaplanır.
Örneğin;
X1=(1,0) : Bu örneğin beklenen çıktısı Ç1=-1
X2=(1,0) : Bu örneğin beklenen çıktısı Ç1= 1
43
X1 W1 NET
ÇIKTI
X1 W2
φ1 Bu problemi çözmek için 2 girdisi olan bir ADELİNE ünitesi tasarlanacaktır. Öğrenmenin
amacı, problemin girdilerini doğru sınıflandıracak ağırlık değerleri ve eşik değerlerini
bulmaktır. Problemin çözümü için ağırlık değerleri ve eşik değeri başlangıçta rastgele alınacaktır.
W1 = 0.3 W2 = 0.2 α = 0.5 φ = 0.1
Birinci İterasyon
Bu iterasyonda öncelikle birinci girdi vektörünün ağa gösterilmesi sonucu ağın çıktısı
hesaplanır. NET=0.3*1 + 0.2*0 + 0.1 = 0.4
0.4>0 olduğundan, Ç=1 olur. Ç≠B olduğundan, ağın ağırlıklarının değiştirilmesi gerekir.
44
Beklenen ile gerçekleşen çıktılar arasındaki hata E=B-Ç=-1-1= -2 olarak hesaplanır.
Ağın yeni değerleri aşağıdaki gibi hesaplanır.
Wy = We + α*E*Xi
Wy =[0.3,0.2] + 0.5*(-2) [1,0]
Wy =[0.3,0.2] + -1 [1,0]
Wy =[0.3-1,0.2-0] = [-0.7,0.2]
Benzer şekilde eşik değer ünitesinin yeni ağırlığı da aşağıdaki gibi hesaplanır.
φy = φe + α (B-Ç)
φy = 0.1 + 0.5*(-2) = -0.9 İkinci İterasyon
NET=-0.7*0 + 0.2*1 - 0.9 = -0.9
-0.9<0 olduğundan, Ç=-1 olur. Ç≠B olduğundan, ağın ağırlıklarının değiştirilmesi gerekir.
Beklenen ile gerçekleşen çıktılar arasındaki hata E=B-Ç=1- (-1)= 2 olarak hesaplanır.
Ağın yeni değerleri aşağıdaki gibi hesaplanır.
Wy = We + α*E*Xi
Wy =[-0.7,0.2] + 0.5*(2) [1,0]
Wy =[-0.7,0.2] + [0,1]
Wy =[-0.7+0,0.2+1] = [-0.7,1.2]
Benzer şekilde eşik değer ünitesinin yeni ağırlığı da aşağıdaki gibi hesaplanır.
φy = φe + α (B-Ç)
φy = -0.9 + 0.5*(2) = 0.1 Üçüncü İterasyon
NET=-0.7 + 0*0.1 = 0.6
0.6<0 olduğundan, Ç=-1 olur. Ç=B olduğundan ağın sınıflandırması doğrudur, ağırlıklarda
değişiklik yapılmaz. Çünkü E=0 olacaktır.
45
Dördüncü İterasyon
NET= 0 + 1.2+0.1 = 1.3
1.3>0 olduğundan, Ç=1 olur. B=Ç olduğundan ağın sınıflandırması doğrudur.
Ağ iki örneği de doğru sınıflandırdığına göre öğrenme tamamlanmıştır. Ağırlıkların ve eşik
değerinin aşağıdaki gibi olması sonucu ağ bu örnek için sınıflandırıcı olarak kullanılabilir.
Wy = [-0.7,1.2]
φy = 0.1 8.12.4 Çok Katlı Algılyıcılar ÇKA (Multi Layer Perceptron MLP)
Girdi ile çıktı arasındaki ilişkinin doğrusal olmadığı bir problemi, ADELINE ile
çözmek mümkün olamamıştır. Özellikle, Minsky, basit algılayıcı modelin bu
probleme çözüm getirmediğini göstermiş
ve YSA’ların doğrusal olmayan problemlerin çözümünde
kullanılamayacağını iddia etmiştir. Çünkü günlük hayatta karşılaşılan problemlerin
hemen hepsi doğrusal olmayan nitelik taşımaktadır. Bu durum, YSA ile ilgili yapılan
bilimsel araştırmaların pek çoğunun durmasına neden olmuştur. Birkaç araştırmacının
çalışmalarına devam ederek YSA nın doğrusal olmayan problemlerin de çözümünde
kullanıldığını göstermeleri ile YSA ile ilgili çalışmalar tekrar hız kazanmıştır.
Doğrusal olmayan bir ilişki gösteren XOR problemini çözmek amacıyla yapılan
çalışmalar sonucunda Çok Katmanlı Algılayıcı modeli geliştirilmiştir. Rumelhart ve
arkadaşları tarafından geliştirilen bu modele hata yayma modeli veya geriye
yayılım modeli (backpropogation network) de denilmektedir. ÇKA modeli yapay sinir
ağlarına olan ilgiyi çok hızlı bir şekilde arttırmış ve YSA tarihinde yeni bir dönem
başlatmıştır. Bu ağ modeli özellikle mühendislik uygulamalarında en çok kullanılan sinir
ağı modeli olmuştur. Bir çok öğretme algoritmasının bu ağı eğitmede kullanılabilir
olması, bu modelin yaygın kullanılmasının sebebidir.
Bir ÇKA modeli, bir giriş, bir veya daha fazla ara ve bir de çıkış katmanından oluşur.
Bir katmandaki bütün işlem elemanları bir üst katmandaki bütün işlem elemanlarına
bağlıdır. Bilgi akışı ileri doğru olup geri besleme yoktur. Bunun için ileri beslemeli sinir
ağı modeli olarak adlandırılır. Giriş katmanında herhangi bir bilgi işleme yapılmaz.
Buradaki işlem elemanı sayısı tamamen uygulanan problemlerin giriş sayısına bağlıdır. Ara
katman sayısı ve
ara katmanlardaki işlem elemanı sayısı ise, deneme-yanılma yolu ile bulunur. Çıkış
katmanındaki eleman sayısı ise yine uygulanan probleme dayanılarak belirlenir. Delta
Öğrenme Kuralını kullanan bu ağ modeli, özellikle sınıflandırma, tanıma ve genelleme
yapmayı gerektiren problemler için çok önemli bir çözüm aracıdır.
ÇKA modelinin temel amacı, ağın beklenen çıktısı ile ürettiği çıktı arasındaki hatayı en aza
indirmektir. Bu ağlara eğitim sırasında hem girdiler hem de o girdilere karşılık
üretilmesi gereken (beklen) çıktılar gösterilir (danışmanlı öğrenme). Ağın görevi her girdi
için o girdiye karşılık gelen çıktıyı üretmektir. Örnekler giriş katmanına uygulanır, ara
katmanlarda işlenir
ve çıkış katmanından da çıkışlar elde edilir. Kullanılan eğitme algoritmasına göre, ağın çıkışı
ile arzu edilen çıkış arasındaki hata tekrar geriye doğru yayılarak hata minimuma düşünceye
kadar ağın ağırlıkları değiştirilir.
46
şekil 12 - ÇKA Ağ Modeli 8.12.5 Radyal Tabanlı Sinir Ağı
Katmanlı YSA’ nın tasarımında eğiticili geriye yayılım öğrenme algoritması bir en iyileme
uygulamasıdır. Ara katmandaki işlemci elemanlar girişlerin ağırlıklandırılmış şeklini
kullanmamakta ve ara katmandaki işlemci elemanların çıkışları YSA girişleri ile
temel fonksiyonun merkezi arasındaki uzaklığa göre belirlenmektedir. Radyal tabanlı
fonksiyon ağı tasarımı ise çok boyutlu uzayda eğri uydurma yaklaşımıdır ve bu nedenle
RTFA’ nın eğitimi, çok boyutlu uzayda eğitim verilerine en uygun bir yüzeyi bulma
problemine dönüşür. RTFA’ nın genellemesi ise test verilerini interpole etmek amacıyla,
eğitim sırasında bulunan çok boyutlu yüzeyin kullanılmasına eşdeğerdir. Radyal tabanlı
fonksiyonlar, sayısal analizde çok değişkenli interpolasyon problemlerinin çözümünde
kullanılmış ve YSA’ nın gelişmesi ile birlikte bu fonksiyonlardan YSA tasarımında
yararlanılmıştır. RTFA, ileri beslemeli YSA yapılarına benzer şekilde giriş, orta ve çıkış
katmanından oluşur ancak, giriş katmanından orta katmana dönüşüm, radyal tabanlı
aktivasyon fonksiyonları ile doğrusal olmayan sabit bir dönüşümdür. Orta katmandan
çıkış katmanına ise uyarlamalı ve doğrusal bir dönüşüm
gerçekleştirilir.
şekil. 13 Radyal tabanlı fonksiyon ağı Burada, ara katman işlemci elemanları, lineer yapıdaki bir çıkış katmanına bütünüyle
bağlantılıdır.
47
Ik= X − ck =
2 N
ƒ ( X i − cki ) i =1
ile ifade edilir.
2
Nöronun çıkış değeri ise, vk
− Ik
= e σ k formülü ile hesaplanır. Ck: Ağırlıklar
σk: Genişlikler
48
RTFA’da uyarlanabilecek serbest parametreler; merkez vektörleri, radyal fonksiyonların
genişliği ve çıkış katman ağırlıklarıdır. Çıkış katmanı doğrusal olduğundan ağırlıklar,
eğim düşme yada doğrusal en iyileme yöntemleri ile kolayca bulunabilir. Merkezler,
girişler arasından rastgele ve sabit olarak seçilebilmekle birlikte RTFA’nın performansını
iyileştirmek amacıyla merkez vektörlerinin ve genişliğin uyarlanması için çeşitli yöntemler
geliştirilmiştir. Merkez vektörleri, eğim düşme yöntemine göre eğiticili öğrenme
algoritması ile uyarlanarak, dik en küçük kareler yöntemi ile, yada kendiliğinden
düzenlemeli yöntemle giriş örneklerinden öbekleme yapılarak belirlenebilir.
8.12.6 LVQ (Learning Vector Quantisation)
LVQ ağı 1984 yılında Kohonen tarafında geliştirilmiştir. Bazı modellerde eğitim
sırasında ağa hem girdi değerleri hem de o girdi değerleri için üretilecek çıktı değerlerinin
ne olması gerektiği verilir. Fakat bazı durumlarda, ağa çıktının ne olduğunu vermek
mümkün olmamaktadır. Yalnızca ağın üretmiş olduğu çıktının doğru veya
yanlış olduğu belirtilebilmektedir. Destekleyici öğrenme olarak belirlenen bu yöntemi
kullanan modellerin
bir tanesi de, doğrusal vektör parçalama modeli olan LVQ modelidir. Sınıflandırma problemi
için geliştirilmiş olan LVQ modelinin temel felsefesi, n boyutlu bir vektörü bir
vektörler setine haritalamaktır.
şekil 14, üç kattan oluşan LVQ ağını göstermektedir. Bu tabakalar, giriş, gizli tabaka ve çıkış
tabakasıdır. LVQ ağı, giriş ve gizli tabaka arasında tamamen, gizli ve çıkış tabakası arasında
da kısmen bağlıdır. Her çıkış işlemci elemanı farklı bir gizli işlemci eleman
kümesine bağlıdır. Gizli ve çıkış işlemci elemanları arasındaki ağırlıklar 1’e sabitlenmiştir.
LVQ ağının eğitilmesindeki amaç, her iterasyonda girdi vektörüne en yakın referans
vektörünü bulmaktır. Referans vektörleri, Kohonen katmanındaki proses elemanlarını girdi
katmanındaki proses elemanlarına bağlayan ağırlık değerleridir. Giriş-gizli işlemci
eleman bağlantılarının ağırlıkları “referans” vektörlerinin elemanlarını oluşturur (her
gizli işlemci elemana bir referans vektör atanmıştır). Ağın öğretilmesi esnasında
bunlar yeniden değerler alırlar. Öğrenme esnasında sadece referans vektörlerin ağırlık
değerleri değiştirilir. Hem gizli
işlemci elemanlar (bunlar Kohonen işlemci elemanları olarak da bilinir) hem de çıkış
işlemci elemanları ikili (binary) çıkışa sahiptir. Ağa bir giriş deseni verildiğinde
referans vektörü, giriş desenine en yakın olan gizli işlemci eleman kümesi “1”, diğerleri
“0” üretir. “1” üreten
çıkış işlemci elemanı giriş işaretini sınıflar ve her işlemci eleman ayrı bir sınıfa atanmıştır
şekil 14: LVQ Ağı
En basit LVQ öğretme prosedürü şu sırayla açıklanabilir.
3. Adım: Referans vektörlerinin ağırlıklarına Wi, başlangıç değeri ata
4. Adım: Eğitime giriş vektörü X’i ağa gir
5. Adım: X ile Wi, arasındaki mesafeyi “Öklit (Euclidian)” uzaklığı hesapla
6. Adım: Giriş vektörüne en yakın yarışmayı kazanan arakat nöronunun
referans vektör ağırlığı W yi güncelleştir. ğayet diğerleri giriş
vektörünün belirtilen sınıfa ait olduğu çıkış nöronuna ait grupta ise,
aşağıdaki gibi referans vektör giriş vektörüne daha yakınlaştırılır.
Yeni W`= W`+λ(X- W`)
Burada λ öğrenme katsayısı olarak adlandırılır.
Aksi takdirde referans vektörü giriş vektöründen aşağıdaki gibi uzaklaştırılır.
Yeni W`= W`-λ(X- W`)
49
50
5.Adım: 2. Adıma git ve yeni eğitime giriş vektörünü gir. İşlemi bütün eğitim seti
doğru olarak sınıflandırıncaya (veya herhangi kabul edilebilir bir hata seviyesine
ulaşıncaya) kadar devam ettir.
8.12.6.1 Ceza Mekanizmalı LVQ
LVQ’nun bu versiyonu, 1988 yılında DeSieno tarafından tanıtılmıştır. Burada amaç,
değerleri her zaman aktif değil iken, çok sık kazanma eğiliminde olan bir nöronun sık sık
kazanma problemini ortadan kaldırmak için bir mekanizma sunmuşlardır. Çünkü çok
sık kazanan nöronlar ağın esnekliğini bozmaktadır ve diğer ağırlık vektörleri referans olma
niteliklerini kaybetmektedirler. Bu ceza mekanizması ile, çok sık kazanan bir nörona bir
“ceza değeri” vererek giriş vektörü ile arasındaki mesafeyi arttırıp cezalandırma işlemini
gerçekleştirmektir. Böylelikle sık sık kazanan nöronun kazanma şansı azaltılmış olur.
8.12.6.2 LVQ2
Bu sürüm Kohonen tarafından geliştirilmiş olup, sınırlarda meydana gelen
yanlış sınıflandırmayı azaltmak için tasarlanmıştır. LVQ2, LVQ yapısı veya ceza
mekanizmalı LVQ yapısından kabul edilebilir bir sonuç elde edildikten sonra uygulanır. Giriş vektörü X ağa uygulandığı zaman, kendisine yakın iki referans vektörü W`1 ve
W`2 dikkâte alınır. Öğretme algoritması sırayla eğiştirilir. W`1 ve W`2 yi değiştirir. Bu
değiştirme işlemi;
° W`1 yanlış kategoride ve W`2 doğru kategoride ise ve
° Giriş vektörü X, W`1 ve W`2 arasında yerleştirilen bir pencerenin içerisindedir. Burada değiştirilen referans vektörleri Yeni W`1 ve Yeni W`2 aşağıdaki gibi elde edilebilir.
Yeni W`1 =W`1-λ(X- W`1 )
ve
Yeni W`2 =W`2-λ(X- W`2 )
Diğer aralıklarda herhangi bir değişiklik yapılmaz. 8.12.7 Hopfield Ağı
Hopfield ağları; 1980 lerin başlarında ilk kez, tanınmış bir fizikçi olan John
Hopfield tarafından sunuldu. Content Addressable Memories (CAM) denilen sinirsel
fizyolojiden harekete geçen modellerden yararlanılan Hopfield sinir ağı, beyine benzer bir
şekilde belirli hafızaları veya desenleri depolayan basit bir yapay sinir ağıdır. Hopfield ağ
topolojisi diğer ağlardan farklıdır. Farklı katmanlar yoktur; her birim diğer tüm birimlere
bağlıdır. Ayrıca, bağlantılar çift yönlüdür (bilgi her iki yönde akar) ve simetriktir. Bu ağ
genellikle ikili (0 veya
1) ve bipolar (+1 veya –1) girişler kabul eder. Tek tabaka işlemci elemanları vardır ve her
işlemci eleman bir diğerine bağlanmıştır.
şekil 15 Hopfield Ağı Hopfield ağı, bir geriyayılımlı (BackPropagation) ağın eğitildiği gibi eğitilmez. Bunun yerine,
örnek desen grupları seçilir, ağın ağırlıklarının başlangıç değerlerini saptamak için
kullanılır. Bu bir kere yapıldıktan sonra herhangi bir desen ağa sunulur ve bu da giriş
desenine en çok benzeyen örnek desenlerden biriyle sonuçlandırılır. Çıkış deseni,
birimlerin durumlarına
bakılarak ağdan okunabilir.
51
52
Hopfield Ağı, bir nöronun matematiksel basitleştirilmiş halinin nasıl büyük sinir
ağlarının davranış analizlerine izin verdiğini açıklamaktadır. Bütün bir sinirsel mimarinin
bir özelliği üzerindeki birimlerin aktivasyonlarındaki değişikliklerin matematiksel
olarak etkisini karakterize etmeye enerji denir, Hopfield (1982) lokal etkileşimler ile
global davranışlar arasında önemli bağlantıyı sağlamaktadır.
Ağ N birime sahip olsun ve bunlar 1 den N‘e numaralanmış olsun. i. birimden j.birime
olan bağlantının ağırlığı 1≤i, j≤N için wij dir. Tüm i=1,...N için hiçbir birimin kendine
olan bağlantısı yoktur, wii = 0 . i. birimden j. birime olan bağlantının ağırlığı, j. birimden i.
birime olan bağlantının ağırlığına eşit olduğundan , wij = wji.
Her birimin onunla bütünleşmiş bir eşik değeri vardır. Eşik, diğer birimlerden olan
girişlere cevabında birimin durumundaki değişimi belirler i. birimin eşiğini Qi ile gösteririz.
M tane örnek desenimiz olsun: p1,... pm. Herbirinin N elemanı vardır, böylelikle i=1,....,M için
M
i i ƒpi=( p1 ,..., p N )’dir. Ağırlıkları 1≤i, j≤N, i≠j için wij= k kp i p j k =1
formülü ile hesaplanır.
t anında i. birimin durumu μi(t), i=1,...N olsun. (x1,..., xN)’in giriş deseni olsun.
μi(0)= x1, i=1,....,N eşitliğini sağlayarak ağa giriş deseni yüklenir.
Ağı çalıştırmak için, birbirini izleyen anlarda aşağıdaki formülü kullanarak birimlerin
durumları hesaplanır.
M
μi(t+1)=f ( ƒ wij μ j (t ) − θ i ) j =1, j ≠i
i=1,...N ve t=1,2...
birimlerin binary çıkışlara sahip olduğu durumlarda, f basamak fonksiyonudur: eğer x < 0 ise
f(x) = -1 ve eğer x > 0 ise f(x) = 1.
N
Eğer, ( ƒ wij μ j (t ) − θ i ) = 0 j =1, j ≠i
bir sigmoid fonksiyondur.
ise birimin durumu değişmez. Sürekli durumda f , [a,b] sınırlı
8.12.8 Elman ve Jordan Ağları Elman ve Jordan Ağları ÇKA’lara benzer bir yapıdadır ve çok katlıdırlar. Her iki ağda da gizli
tabakaya ek olarak diğer bir “durum” tabakası denilen özel bir gizli tabaka daha vardır. Bu
tabaka gizli tabakadan veya çıkış tabakasından geri besleme işaretleri alır. Jordan ağının
aynı zamanda durum tabakasındaki her işlemci elemandan kendisine bağlantıları vardır.
Her iki ağda da durum tabakasındaki işlemci elemanların çıkışları ileriye doğru gizli
tabakaya verilmektedir. Eğer sadece ileri doğru bağlantılar göz önüne alınır ve geri
besleme
bağlantılarına sabit değerler verilirse, bu ağlar sıradan ileri beslemeli ağlar haline gelirler.
şekil 15-Elman Ağı
53
şekil 16 Jordan Ağı 8.12.9 Kohonen Ağı
Kohonen ağı, bir giriş tabakası ve bir de çıkış tabakası olmak üzere iki tabakadan
oluşur. Çıkış tabakasındaki işlemci elemanlar genellikle düzenli iki boyutlu
aralıklar olarak düzenlenir. Çıkıştaki her işlemci eleman, bütün giriş işlemci
elemanlarına bağlıdır. Bağlantıların ağırlıkları verilen çıkış işlemci elemanı ile ilgili
olan referans vektörünün elemanlarını oluşturur.
Kohonen ağının öğrenme adımları aşağıdaki gibidir.
Adım 1: Çıkış İE’lerin bütün referans vektörlerini küçük rasgele değerlere çek,
Adım 2: Bir giriş desenini al,
Adım 3: Kazanan çıkış işlemci elemanını belirle. (Bunu yaparken, Kohonen katmanındaki
bütün proses elemanlarının NET girdileri hesaplandıktan sonra bunların en büyüğüne sahip
olan proses elemanı yarışmayı kazanan eleman olarak belirlenir. Bu elemanın çıktısı 1,
54
diğerlerininki 0 olarak atanır. Kazanan işlemci giriş desenine en yakın referans
vektörüne sahip işlemci elemandır. Referans vektörü ile giriş vektörü arasındaki öklit
uzaklığı genellikle uzaklık ölçüsü olarak alınır.),
Kazanan işlemci elemanın ve onun komşularının referans vektörünü güncelleştir. Bu referans
vektörleri giriş vektörüne yaklaştırılır. Bu yaklaştırma (ayarlama) kazanan işlemci eleman için
en fazla ve bu işlemci elemandan uzaklaştıkça daha azdır. Öğrenme ilerledikçe
komşuların sayısı azalmakta ve öğrenme sonunda sadece kazanan işlemci elemanın
referans vektörü ayarlanmaktadır.
İyi öğrenmiş bir Kohonen ağında birbirine yakın çıkış işlemci elemanlarının
referans vektörleri vardır. Öğrenmeden sonra bir etiketleme işlemine başlanır. Bilinen
sınıfların giriş desenleri ağa giriş olarak verilir ve bu giriş desenleri tarafından aktif hale
gelen çıkış işlemci elemanlarına bu sınıf etiketleri verilir. LVQ ağında ise bir çıkış
işlemci elemanı eğer yarışmayı diğer çıkış işlemci elemanlarına karşı kazanırsa bir giriş
deseni tarafından aktif hale getirildiği hatırlatılır.
şekil17 - Kohonen ağı
55
8.12.10 ART (Adaptive Resonance Theory) 8.12.10 ART (Adaptive Resonance Theory)
ART ağları, Grosberg’in 1976 yılında biyolojik beynin fonksiyonlarına yönelik olarak yaptığı
çalışmalar neticesinde ortaya çıkmıştır. Geliştirilen danışmanız öğrenme ağlarının
geliştirilmesine de temel olmuştur. ART ağları, memeli hayvanların beyinlerinin
çalışma prensipleri dikkate alınarak geliştirilmiştir. Beyinin kullandığı sezgisel
yaklaşımları matematik bir modele dönüştürmelerinden dolayı da bu ağlar oldukça
yoğun bir ilgi görmüştür. ART ağları sınıflandırma problemleri için geliştirilmiş ve
başarılı bir şekilde kullanılabilen bir yöntem olarak bilim dünyasında kabul
görmüştür. LVQ ağları da sınıflandırma problemi için geliştirilmiştir. ART ağlarının
LVQ ağlarından temel farkı, yapılacak olan sınıflandırma ile ilgili olarak ağa herhangi
bir bilgi verilmemesidir. ART ağlarının bilim dünyasında kabul görmesinin sebeplerinden
birisi, bu ağların yapısal olarak insan beyninin davranışları ve sinir sistemi hakkında
bilinen bulgular üzerinde kurulmuş olmasıdır.
ART ağları, Grosberg’in 1976 yılında biyolojik beynin fonksiyonlarına yönelik olarak yaptığı
çalışmalar neticesinde ortaya çıkmıştır. Geliştirilen danışmanız öğrenme ağlarının
geliştirilmesine de temel olmuştur. ART ağları, memeli hayvanların beyinlerinin
çalışma prensipleri dikkate alınarak geliştirilmiştir. Beyinin kullandığı sezgisel
yaklaşımları matematik bir modele dönüştürmelerinden dolayı da bu ağlar oldukça
yoğun bir ilgi görmüştür. ART ağları sınıflandırma problemleri için geliştirilmiş ve
başarılı bir şekilde kullanılabilen bir yöntem olarak bilim dünyasında kabul
görmüştür. LVQ ağları da sınıflandırma problemi için geliştirilmiştir. ART ağlarının
LVQ ağlarından temel farkı, yapılacak olan sınıflandırma ile ilgili olarak ağa herhangi
bir bilgi verilmemesidir. ART ağlarının bilim dünyasında kabul görmesinin sebeplerinden
birisi, bu ağların yapısal olarak insan beyninin davranışları ve sinir sistemi hakkında
bilinen bulgular üzerinde kurulmuş olmasıdır.
ART ağının, ART-1, ART-2, Fuzzy-ART, MART gibi değişik çeşitleri vardır. ğekil18’de ikili
girişler kabul eden ART-1 gösterilmiştir. ART-2 gerçek değerler kabul etmektedir. ğekil
ART ağının, ART-1, ART-2, Fuzzy-ART, MART gibi değişik çeşitleri vardır. ğekil18’de ikili
girişler kabul eden ART-1 gösterilmiştir. ART-2 gerçek değerler kabul etmektedir. ğekil
18’de görüldüğü gibi, ART-1 ağının giriş ve çıkış olmak üzere iki tabakası vardır. İki
tabaka birbirleriyle tamamen bağlantılıdır ve bağlantılar ileri ve geri yöndedir. i.nci çıkış
işlemci elemanlarının ileri yöndeki bağlantılarının ağırlıklarının oluşturduğu Wi vektörü,
temsil ettiği sınıfın bir örneğini oluşturur. İleri bağlantılarının Wi vektörlerinin toplamı ART
ağının uzun- dönem (long-term) hafızasını oluşturur. Bu vektörler, giriş desenine
benzerlikleri ölçüsünde, çıkış işlemci elemanlarını belirlerler. Çıkış işlemci
elemanlarının geri bağlantılarının Wi vektörleri ise, giriş deseninin, hafızadaki desenine
yeterince benzeyip benzemediğini (o sınıfa
18’de görüldüğü gibi, ART-1 ağının giriş ve çıkış olmak üzere iki tabakası vardır. İki
tabaka birbirleriyle tamamen bağlantılıdır ve bağlantılar ileri ve geri yöndedir. i.nci çıkış
işlemci elemanlarının ileri yöndeki bağlantılarının ağırlıklarının oluşturduğu Wi vektörü,
temsil ettiği sınıfın bir örneğini oluşturur. İleri bağlantılarının Wi vektörlerinin toplamı ART
ağının uzun- dönem (long-term) hafızasını oluşturur. Bu vektörler, giriş desenine
benzerlikleri ölçüsünde, çıkış işlemci elemanlarını belirlerler. Çıkış işlemci
elemanlarının geri bağlantılarının Wi vektörleri ise, giriş deseninin, hafızadaki desenine
yeterince benzeyip benzemediğini (o sınıfa
ait olup olmadığını) kesin olarak belirlemek için bir çeşit test “vigilance” amacıyla
kullanılır. Bu test vektörleri diyebileceğimiz Vi vektörleri ART ağının kısa-dönem
(short-term) hafızasını oluştururlar. Wi, Vi’nin normalize edilmiş halidir.
ait olup olmadığını) kesin olarak belirlemek için bir çeşit test “vigilance” amacıyla
kullanılır. Bu test vektörleri diyebileceğimiz Vi vektörleri ART ağının kısa-dönem
(short-term) hafızasını oluştururlar. Wi, Vi’nin normalize edilmiş halidir.
i =W W = Vi
ε + ƒ v ji burada ε küçük bir sabittir ve Vji, Vi’nin j’inci elemanıdır (yani i’inci İE’den j’inci giriş İE’na
bağlantı ağırlığıdır).
56
şekil 18: ART-1 ağı
57
58
8.12.11 Olasılık Tabanlı YSA
Olasılık tabanlı YSA yapıları 1990 yılında Donald Specht tarafından önerilmiştir. Bu tip
sinir ağları da bir çok sınıflandırma probleminin çözümünde kullanılmaktadır. Bu yapı,
giriş, patern, toplama ve çıkış olmak üzere dört katmandan oluşur. Giriş nöron sayısı
diğer ağlarda olduğu gibi problem giriş sayısına bağlıdır. Arakatman sayısı ise, örnek sayısı
kadardır. Saklı katmanda bulunan veri işleme elemanları K toplam mevcut sınıfı göstermek
üzere K alt gruba ayrılır. Her veri işleme elemanı karşı geldiği sınıfı ifade eden bir Parzen
penceresini gösterir. Sahip olduğu ağırlık değeri söz konusu pencerenin ağırlık merkezini
ifade eder. Toplama katındaki nöron sayısı, çıkış sayısının bir fazlasıdır. OTY yapılarında
öğrenme hızlıdır ve az sayıdaki veri ile etkin olarak kullanılabilirler. Buna karşı, OTY
yapıları hafızayı yoğun olarak kullanırlar. Kompleks veri kümeleri kullanıldığında ve kısmen
de bu veriler bir sınıflandırma yarıçapı kullanılarak azaltıldığında problemlerle
karşılaşılabilir.
8.13 YSA Öğrenme Algoritmaları Yapay sinir ağının geliştirilmesinde kullanılacak çok sayıda öğrenme
algoritması bulunmaktadır. Bunlar içinde bazı algoritmaların bazı tip uygulamalar için daha
uygun olduğu bilinmektedir.
8.14 Temel Öğrenme Kuralları
Literatürde kullanılan çok sayıda öğrenme algoritması bulunmaktadır. Bu algoritmaların
çoğunluğu matematik tabanlı olup ağırlıkların güncelleştirilmesi için kullanılırlar. Yapay
sinir ağının mimarisine, karşılaşılan sorunun niteliğine göre farklılık gösteren bu
öğrenme algoritmalarının yüzden fazla çeşidi bulunmaktadır. Bu algoritmaların bir
çoğu aşağıda sırlanan kurallardan esinlenerek geliştirilmiştir.
° Hebb Kuralı
° Delta Kuralı
° Kohonen Kuralı
° Hopfield Kuralı 8.14.1 Hebb Kuralı
1949 yılında Kanadalı psikolog Donald Hebb tarafından biyolojik temele dayalı olarak
geliştirilmiş olan Hebb algoritması en eski ve en ünlü öğrenme algoritmasıdır. Bu öğrenme
algoritması basit bir mantığa dayanmaktadır: Eğer nöron (A) başka bir nöron' dan (B)
girdi alıyorsa ve her ikisi de aktifse, (A) ve (B) arasındaki ağırlık artar. Bu düşüncenin
en çok kullanılan şekli:
Δ wjk =α.yj.xk
(t) (t+1) (t) Burada Δwjk=Δwjk = wjk - wjk ve Δ > 0 dır (t=zaman). Bu formülde wjk nöron uk' den nöron uj' ya olan ağırlık, yj,,uj nöronun çıktısı ve xk ise uk
nöronun çıktısıdır. α "öğreneme oranı" veya " öğrenme katsayısı" olarak adlandırılmaktadır
ve birçok öğrenme algoritması tarafından kullanılır. Öğrenme katsayısı "0" ile "1" arasında bir
değer alır ve bu değer ağın öğrenme hızını belirler. α 'nın büyük değerleri için daha hızlı
öğrenme, küçük değerleri için daha yavaş öğrenme gerçekleşmektedir. Ancak hızlı
öğrenme ağın "genelleme" yeteneğini azaltır. Genelleme yeteneği ağın eksik ve gürültülü
verilerle doğru sonuçlar üretebilmesi için oldukça önemlidir. Hebb algoritmasıyla ilgili
bir diğer konuda ağın eğitimden önce ağırlıklarının 0 olması gerektiğidir.
8.14.2 Delta Kuralı
Delta kuralı ilk olarak Widrow ve Hoff tarafından geliştirilmiş daha çok
mühendislik kökenli bir algoritmadır. Bu kural, nöronun gerçek çıkışı ile istenilen
çıkış değerleri arasındaki farkı azaltan, giriş bağlantılarını güçlendiren ve sürekli
olarak değiştiren bir düşünceye dayanmaktadır. Delta kuralı, ortalama karesel hatayı,
bağlantı ağırlık değerlerinin değiştirilmesi ile düşürme prensibine dayanır. Bu nedenle de
bu algoritma en küçük kareler kuralı olarak da bilinmektedir (Least-Mean-Square Rule
LMS). Hata aynı anda bir katmandan
bir önceki katmanlara geri yayılarak azaltılır. Ağın hatalarının düşürülmesi işlemi, çıkış
katmanından giriş katmanına ulaşıncaya kadar devam eder. Bir nöronun çıktısının yj, hedeflenen çıktı dj'den farkı,(hata), δj nöron j için şöyle hesaplanır:
δj= dj-yj
Bu algoritma, hata karelerinin ortalamasını alarak, bu değerin en küçük olduğu çözümü
bulmaya amaçlar. Ağ için hata karelerinin ortalaması ξ, aşağıdaki gibi hesaplanır:
»
59
1ξ = Ε… ÿ ƒδ 2 Ÿ
… 2 j
60
=
Burada E istatistiksel olarak beklenen değeri (ortalamayı) ifade etmektedir.
Delta algoritması hataların karesinin en küçük olduğu noktayı bulurken dereceli azaltma
yöntemini (gradient descent) kullanmaktadır. Bu yöntemde, hata kareleri, koordinatlarını
ağırlıkların oluşturduğu uzayda bir çanak oluşturmaktadır (ğekil 19). Delta
algoritması mevcut ağırlık vektörünü bulunduğu konumdan hatanın en küçük olduğu
çanağın dibine
doğru ilerletir.
Hatların Karesi
Ağırlık y
İdeal vektör Mevcut ağırlık vektörü Delta vektörü
Ağırlık x
ğekil 19-Delta algoritmasında ağırlık değişimi
İşlem elemanının doğrusal geçiş fonksiyonuna sahip olduğu kabul edildiğinde;
yj = ƒ w jk xk k
Hata karelerinin ortalamasının en küçük olduğu noktayı bulmak için ağırlıklar t=zaman olmak
üzere t=1,2,3,.., için aşağıdaki gibi değiştirilir: wij
(t+1) wij
(t) + Δwij
Δwij =α. j
(t).xk(t)
61
8.14.3 Kohonen Kuralı Bu kural, biyolojik sistemlerdeki öğrenmeden esinlenerek Kohonen tarafından
geliştirilmiştir. Bu kuralda nöronlar öğrenmek için yarışırlar. Kazanan nöronun
ağırlıkları güncellenir. Bu kuralı “kazanan tamamını alır” olarak da bilinir. En büyük çıkışa
sahip işlemci nöron kazanır. Bu nöron, komşularını uyarma ve yasaklama kapasitesine
sahiptir. Kohonen kuralı, hedef çıkışa gereksinim duymaz. Bu nedenle danışmansız bir
öğrenme metodudur.
8.14.4 Hopfield Kuralı
Bu kural, zayıflatma ve kuvvetlendirme büyüklüğü dışında Hebb Kuralına benzerdir.
Eğer istenilen çıkış ve girişin her ikisi aktif veya her ikisi de aktif değilse öğrenme oranı
tarafından bağlantı ağırlığı arttırılır. Diğer durumlarda ise azaltılır. Birçok öğrenme
algoritmasında öğrenme katsayısı oranı veya sabiti vardır. Genellikle bu terim 0 ile 1
arasında değerler almaktadır.
8.15 Öğrenme Algoritmaları
8.15.1 Geriyayılım Algoritması
Yapay sinir ağları belki de en çok tahmin amacıyla kullanılmaktadır. Tahmin için
kullanılan yapay sinir ağları içinde de en yaygın olarak kullanılanı geriyayılım algoritmasıdır.
Geriyayılım algoritması ileri beslemeli ve çok katmanlı bir ağ mimarisini gerektirmektedir.
Geriyayılım Algoritması, YSA’lar açısından en önemli tarihsel gelişmelerden biridir.
Geriyayılım algoritması veya bir başka adıyla Genelleştirilmiş Delta Algoritması uygulamada
en çok kullanılan öğretme algoritmasıdır. Hata, ağdaki ağırlıkların bir fonksiyonu olarak
görülür ve hataların kareleri ortalaması delta kuralında olduğu gibi dereceli azaltma (gradient
descent) yöntemi kullanılarak, minimize edilmeye çalışılır. Bu algoritma, hataları
çıkıştan girişe geriye doğru azaltmaya çalışmasından dolayı geriyayılım ismini almıştır.
Geriyayılım algoritması, ÇKA’ları eğitmede en çok kullanılan temel bir öğrenme
algoritmasıdır. Eğitme işlemi ve eğitimden sonraki test işlemi bu akışa göre
gerçekleştirilir.
Geri yayılım algoritması, gözetmenli öğrenme yöntemini kullanılır. Örnekler ağa
öğretilir ve ağa hedef değeri verilir. Öğrenme, her örnek için ağın çıktı değeri ile hedef
değerinin ile karşılaştırılır. Hata değeri, ağa tekrar geri besleme şeklinde verilir. Örnek
setindeki hata kareleri toplamını azaltmak için nöronlar arasındaki bağlantı ağırlıkları
değiştirilir.7
Tipik çok katlı geri yayılım ağı, daima; bir giriş tabakası, bir çıkış tabakası ve en az
bir gizli tabakaya sahiptir. Gizli tabakaların sayısında teorik olarak bir sınırlama yoktur.
Fakat genel olarak bir veya iki tane bulunur. Desen sınıflandırma problemlerini
çözmek için maksimum dört tabakaya (üç gizli ve bir çıkış tabakası) gereksinim
duyulduğuna işaret eden bazı çalışmalar yapılmıştır. Geri yayılım algoritması, gradyen
azalan ve MLP’leri eğitmede
en çok kullanılan temel bir algoritmadır. Bu algoritmanın akış şeması ğekil 20’de verilmiştir.
7 S.P.Curram, J.Minger, 1994, Neural Networks, Decision .Tree Induction and Discriminant Analysis: Embrical Comprasion, p.441
62
şekil 20 - Geri Yayılım Algoritmasının Akış ğeması Burada, gizli katman sayısını tespit etmek zor bir işlemdir. Gizli katmanlar, lineer olmayan ya
da değişkenler arasında etkileşim var ise kullanılır. Bu etkileşim ne kadar karmaşıksa,
o kadar çok gizli katmana ihtiyaç duyulur. Eğer az sayıda gizli katman kullanılırsa
ağ öğrenmeyi başarmaz. Gereğinden fazla sayıda gizli katman bulunması halinde ise,
ağ ezberler. Bu da ağın, yeni örnekler için genelleme yeteneğini azaltır. Amaç, ağın
genelleme
yeteneğini optimum yapabilecek en az sayıda katmanı kullanmaktır. Ağı doğru zamanda
63
durdurmak, ağın ezberlemesini önler. Gizili katman sayısını belirlemenin hızlı bir yolu
yoktur. Bunu belirlemek için benzer veri seti kullanılmış tecrübelerden faydalanılabilir. 8
Geri yayılım algoritmasının bir dezavantajı, yakınsama hızının yavaş olması ve yerel en
iyi çözümlerde durabilmedir. Bunu gidermek için literatürde
değişik çözüm yolları geliştirilmiştir. Bunlardan biriside YSA’nın
Tabu Algoritması ile eğitilmesidir. Çözüm uzayında bir hareket elde etmek için, ağırlık
kümesindeki tüm ağırlıkları değiştirmek yerine, ağırlıklardan sadece birini değiştirerek
çözüm uzayının daha detaylı aranması amaçlanmıştır. 9 Arıca Ç.Alabaş ve B.Denigiz’in Tabu Arama Algoritması ile Yapay Sinir Ağlarının Eğitimi
konulu bu makalesinde, değiştirilecek olan ağırlığın alacağı yeni değer rassal olarak
seçilse de, tabu listesinde kayıtlı olan önceki örneklerden belli bir dereceye kadar farklı
olması kısıtı konmuştur. Böylelikle kontrollü bir rassallık kullanılmıştır. Ağırlıkları taşıyan
ok numaraları
da tabu listelerinin oluşturulmasında kullanılmıştır.
Öğrenme algoritması olarak geriyayılım algoritması seçildiğinde iki parametre önem
kazanmaktadır. Bunlar öğrenme katsayısı η, (learning rate) ve momentum terimidir α’dır. Bu
algoritma ile i ve j kat işlem elemanları arasındaki ağırlıklardaki Δwij(t) değişikliği
hesaplanır.
Bu ifade; Δwij(t) = η.δj.xi+ αΔwij(t-1) ( Eşitlik 1)
olarak verilir.
η: Öğrenme katsayısıdır. Öğrenme katsayısı, ağırlıkların bir sonraki düzeltmede hangi oranda
değiştirileceğini göstermektedir. Küçük öğrenme katsayıları, ağın sonuca
ulaşmasını yavaşlatır. Büyük öğrenme katsayıları, ağın sonuca daha kısa sürede
ulaşmasını sağlar. Bununla birlikte çok yüksek oranlar ağın hesaplamalarında büyük
salınımlara neden olur ve ağın dip noktayı bulmasını engelleyebilir. Öğrenme katsayısı için
tipik değerler 0,01 ile 0,9
arasında değişir. Karmaşık ve zor çalışmalar için küçük öğrenme katsayıları seçilmesi önerilir.
8 S.P.Curram, J.Minger, 1994, Neural Networks, Decision .Tree Induction and Discriminant Analysis: Embrical Comprasion, p.442 9 Ç.Alabaş, B.Dengiz, 2002,Tabu Arama Algoritması ile Yapay Sinir Ağlarının Eğitimi
64
α : Momentum katsayısıdır. momentum terimi, ağdaki salınımları engellemeye ve ağın hata
yüzeyindeki bölgesel minimum noktalardan kaçarak, daha dip noktalara ulaşmasına
yardımcı olur. Optimal öğrenme oranı ve momentum teriminin belirlenmesi büyük ölçüde
deneysel ve sezgisel bir özellik taşır. Ayrıca bu parametreler büyük ölçüde ilgilenilen sorun
alanına bağlı olarak değişiklik gösterir.
δj : Ara veya çıkış katındaki herhangi bir j nöronuna ait bir faktördür. Çıkış katı için bu faktör
aşağıdaki şekilde verilir.
65
j
t
j δj= ∂f ∂netj
( y (t ) − y )
(Eşitlik 2) Burada,
netj = ƒ x j w ji ve y j ise j işlemci elemanının hedef çıkışıdır. Ara katlardaki nöronlar için ise
bu faktör;
(Eşitlik 3)
olarak verilir. Ara katlardaki İE’ler için herhangi bir hedef çıkış olmadığından, eşitlik 2 yerine
eşitlik (3) kullanılır. Bu duruma bağlı olarak çıkış katından başlayarak δj faktörü,
bütün katlardaki İE’ler için hesaplanır. Daha sonra eşitlik (1)’deki formüle bağlı olarak,
bütün bağlantılar için ağırlıkların güncelleştirilmesi gerçekleştirilir. 8.15.2 Delta-Bar-Delta
Delta-Bar-Delta (DBD) çok katmanlı algılayıcılarda bağlantı ağırlıklarının yakınsama hızını
arttırmak için kullanılan bir sezgisel yaklaşımdır. Deneysel çalışmalar, ağırlık uzayının
her boyutunun tüm hata yüzeyi açısından tamamen farklı olabileceğini göstermiştir.
Hata yüzeyindeki değişimleri açıklamak için, özellikle ağın her bağlantısı kendi
öğrenme katsayısına sahip olmalıdır. Her bir bağlantıya bir öğrenme katsayısı atanırsa ve bu
öğrenme katsayısı zamanla değişirse, yakınsama zamanını azaltılır ve daha çok
serbestlik derecesi
sağlanmış olur.
İleri beslemeli YSA yapıları çoğu zaman karmaşıktırlar. Ağdaki her bağlantı için en uygun
öğrenme katsayıları kümesini belirlemek oldukça zaman alıcı olabilir. Eğimin
geçmişteki değerlerini kullanarak, yerel hata yüzeyinin eğriliğini çıkarmak için sezgisellik
uygulanabilir. Bir bağlantı için ağırlık değişimlerinin işareti, birkaç ardışık zaman adımları
sırayla değiştiği zaman, bağlantı için öğrenme katsayısı azalmalıdır. Bağlantı ağırlık
boyutu hata yüzeyi ile ilgili büyük bir eğriliğe sahiptir. Bağlantı ağırlık değişimleri bir kaç
ardışık zaman adımları için aynı işarete sahip olduğundan bağlantı için öğrenme oranı
arttırılmalıdır. Ağırlık boyutu hata yüzeyi ile ilgili küçük bir eğriliğe sahiptir ve yüzey
önemli bir mesafe için aynı doğrultudaki eğime göre devam eder. Standart geri yayılım algoritmasında eğim bileşeni aşağıdaki şekilde verilir.
Burada E(k), k anındaki hata değerini, w(k) bağlantı ağırlığını ve δ(k) ise ağırlık değişiminin
eğim bileşenini göstermektedir. Standart geri yayılım algoritmasında bağlantı ağırlığı,
olarak güncelleştirilir. Burada α sabit bir öğrenme katsayısıdır. DBD öğrenme kuralında, her
bağlantı için değişken öğrenme oranı α (k) atanır ve bağlantı ağırlığının güncelleşmesi
şeklinde yapılır. Jacobs, her bağlantıda öğrenme hızının azalması ve artması için sezgiselliğin
gerçekleştirilmesinde, δ(k) eğim bileşeninin ağırlıklı ortalamasını kullanılmıştır. Bu ağırlıklı
−
ortalama δ (k) aşağıdaki şekilde gösterilmiştir.
Burada, θ konveks ağırlık faktörüdür. Sezgisel açıdan, önceki eğim bileşeninin üstel artması
ve şu anki eğim bileşeni aynı işaretli ise, öğrenme oranı k sabiti ile artan ağırlıkla birleştirilir.
Mevcut eğim bileşeni üstel ortalamadan farklı işaretli ise, öğrenme oranı mevcut değeri ile
66
orantılı olarak azalır. Bu öğrenme oranının güncelleştirilmesi aşağıdaki eşitlikle
tanımlanmıştır.
Burada, k öğrenme katsayısı artma faktörünü, ϕ öğrenme katsayısı azaltma faktörünü, α(k) k
anındaki öğrenme oranını göstermektedir. Eşitlik (2.10)’dan görülebileceği gibi
algoritma, öğrenme katsayılarını lineer olarak artırmakta, fakat geometrik olarak
azaltmaktadır.
8.15.3 Geliştirilmiş Delta Bar Delta
Genişletilmiş Delta-Bar-Delta (GDBD) öğretme algoritması, eğitmede belirli bir anda epoch
genel hatayı hesaplayarak hata düzeltme özelliğine sahiptir. Belirli bir andaki (ya da herhangi
bir anda) ölçülen hata, bir önceki anda bulunan hatadan büyük ise ağın ağırlıkları bir önceki
ağırlık değerlerini alır. Daha iyi sonuçlar elde etmek için hata düzeltme özelliğine dayanıklılık
(patience) faktörü eklenmiştir. Her peryotdaki (epoch) hatayı test etmek yerine daha
önce iyileştirilme işlemi yapıldığından hata, n peryotda test edilir. GDBD’nin
DBD’den farkı aşağıda özetlenmiştir.
° Sezgisel momentum kullanılır.
° Ağırlık uzayında büyük atlamalar ortadan kaldırılmıştır.
° Geometrik azaltma büyük (amacı aşan) atlamaları engellemede yeterince hızlı
olması
° şeklinde özetlenir. GDBD’de, her bir bağlantıdaki momentum hızı μ(k) ve öğrenme hızı α(k) zamanla
değişmektedir. DBD ile karşılaştırmak için standart delta kuralı ile verilen momentum için
bağlantı ağırlıklarının değiştirilmesi
değerinin ağırlıklara katkısıyla
67
elde edilebilir. Bunun yanında GDBD için değişken öğrenme ve değişken momentum hızları
aşağıdaki gibi elde edilebilir. Ağırlıklar,
değerinin bir önceki ağırlığa eklenmesiyle
eşitliği ile tekrar hesaplanabilir. Burada, μ(k), k zamanındaki bağlantı momentum hızıdır. Momentum hızı μ(k) ve öğrenme
−
hızı α(k) aşağıdaki kurallara göre benzer şekilde ayarlanır. İlk önce, δ nin hesaplanması DBD
algoritmasına göre belirlenir.
Burada konveks ağırlık faktörüdür. GDBD için öğrenme hızı değişimi:
formülünden elde edilir. Burada exp, üstel fonksiyonunu, xα , sabit öğrenme hızı skala
faktörünü, ϕα , sabit öğrenme hızı azaltma faktörü ve γ a , sabit öğrenme hızı üstel faktörünü
göstermektedir.
Benzer şekilde, k zamanındaki momentum hızı değişimi,
ifadesinden bulunabilir. Burada, xμ , sabit momentum hızı skala faktörünü ϕ μ , sabit
momentum hızı azaltma faktörü ve γ μ , sabit momentum hızı üstel faktörünü göstermektedir.
68
Dikkat edilmelidir ki, öğrenme ve momentum hızları, onların azalması ve artmasını kontrol eden farklı sabitlere sahiptir.
−
δ δ(k)’nın işareti sezgisel olarak artma mı yoksa azalma mı
olduğunu tespit etmek için kullanılır. Azalmanın ayarlanması DBD’nin kurallarına göre
−
belirlenir. Ancak öğrenme ve momentum katsayılarının arttırılması | δ (k)| ‘nın üstel azalan
fonksiyonu olarak değiştirilir. Böylece, küçük eğimli bölgelerde, büyük eğimli bölgelere
nazaran daha büyük artırımlar yapılabilecektir. Bu, atlama problemi için kısmi bir çözümdür.
Ağırlık uzayında, osilasyonları ve aşırı atlamaları engellemek için, üst sınırlar her bir bağlantı
öğrenme hızları ve momentum hızları üzerinde belirlenir. Matematiksel ifadesi, tüm
bağlantılar için aşağıdaki gibidir.
ve μ(k)≤ μmax gibidir. Burada, αmax öğrenme katsayısının üst sınırı ve μmax ise momentum katsayısının üst sınırıdır.
Sonuç olarak, GDBD algoritmasına düzeltme özellikli bir hafıza yerleştirilmiştir.
Kullanıldığı zaman, eğitme datalarının sunumu her iterasyondan sonra, hata değerlendirilir.
Hata, E(k), bir önceki minimum hatadan küçük ise ağırlıkları o anki en iyiler olarak
hafızada saklanır. Düzeltme tolerans parametresi λ, düzeltme sürecini kontrol eder. O
andaki hata önceki
minimum hatayı aşarsa, yani
olursa, tüm bağlantı ağırlıkları, hafızada saklı olan en iyi değerlerle değiştirilir. Ayrıca,
öğrenme ve momentum hızları, düzeltmeyi başlatmak için azaltılır. 8.15.4 Hızlı Yayılım (QuickProp)
Hızlı yayılım (Quickprop) algoritması, Scott Fahlman tarafından Carbegie Mellon
Üniversitesi’nde geliştirilen ve Newton metoduna dayanan, çok katlı algılayıcıların
eğitilmesi için kullanılan bir sezgisel öğretme algoritmasıdır.
Sezgisel algoritmalar, tecrübeye ve eğitilmiş tahmine dayalı kurallar içermektedir.
Bu algoritmalar optimum çözümü garanti edemeyip sadece ona yakın çözümü bulmayı
garanti etmektedir.
69 Sezgisel metotları kullanmanın sağladığı bazı avantajlar şöyle özetlenebilir.
70
° Sezgisel metotlar karar verici mekanizma için sadeleştirici olabilir.
° Sezgisel metot, herhangi bir tam yöntemin parçası olarak öğrenme amacıyla
kullanılabilir.
° Gerçek dünya problemleri için her zaman matematiksel formülasyon kurmak çok
kolay olmayabilir. Bu basitleştirme sonucu oluşan hata, bir sezgisel
metodun sağladığı optimale yakın çözümün sahip olduğu hatadan
daha büyük olabileceğidir.
Problem uzayında mümkün olan en kısa sürede, bir çözüm bulmak için ağırlık uzayında eğimi
(gradient) son derece küçük azaltmak gerekebilir. Bunun yerine çözümden fazla
uzaklaşmaksızın mümkün olan en büyük adımlarla kısa sürede çözüme ulaşmak arzu
edilir. Hata fonksiyonunun eğim derecesi biliniyorsa, güvenli bir şekilde ağırlık
uzayında daha büyük adımla çözüme ulaşılabilir. Bu algoritmada iki geleneksel
yaklaşım birleştirilerek çözülmüştür. Bunlar;
° Hesaplamanın geçmişteki durumu hakkında bazı sezgilere dayanan (genel veya
her bir ağırlık için ayrı) dinamik olarak ağırlıkların ayarlanması.
° Her bir ağırlığa göre hatanın ikinci türevinin belirgin kullanımı Hızlı yayılım algoritması bir ikinci dereceli metoddan daha sezgiseldir ve çok az da olsa
Newton-metoduna dayanan bu metotta iki kabul kullanılır.
° Her bir ağırlık için, ağırlık hata eğrisi kolları yukarı doğru açık olan bir parabol
ile yaklaştırılabilir.
° Hata eğrisinin eğilimindeki değişim, diğer tüm ağırlıkların aynı andaki
değişiminden etkilenmez.
Yukarıda bahsettiğimiz parabol, birbirinden bağımsız her bir ağırlık için şimdiki ve
önceki hata eğimleri ve bu eğimlerin ölçüldüğü noktalar arasındaki değişim kullanılarak
belirlenir. Daha sonra, algoritma doğrudan bu parabolün minimum noktasına atlar.
Genellikle hızlı yayılım algoritmasının performans testleri diğer tekniklerle
karşılaştırıldığında oldukça iyidir. Bu algoritma, özellikle gürültü seviyesi az olan
dataya sahip problemlerde, GDBD kadar iyi sonuç vermektedir. Hızlı yayılım algoritması
gürültü seviyesi fazla olan datalı problemlerde çok iyi çalışır ancak gürültülü dataların
bulunduğu
problemlerde GDBD kullanılmalıdır.
Bu algoritmada ağırlık hızlandırma ve kırpılması ihmal edilerek t-1 den t’ye kadar
ağırlıklardaki değişim,
formülü ile elde edilir. Burada ε öğrenme katsayısı ve α ise momentum katsayısıdır.
ve
71
eşitlikleri ile verilir. Bu ifadelerde;
μ momentum büyüme faktörü h(t)=
∂E ∂w(t )
eğimi ve
ise minimum adım miktarını göstermektedir. Buradan ağırlık fonksiyonunu güncelleştirmek
için, delta ağırlık fonksiyonu ve ağırlık hızlandırma katsayısı işleme katılır.
Burada δ hızlandırma katsayısıdır. Son olarak ağırlık çok küçük ise, 0 alınarak kırpılır.
|w(t)|< κ ise w(t)=0 alınır. burada, κ ağırlık kırpılma faktörüdür.
8.15.5 Genetik Algoritma
Genetik algoritmalar (GA), araştırma ve optimizasyon algoritmaları olup, canlılardaki doğal
gelişim prensibine dayanmaktadırlar. Probobilistik karakterleri ve çoklu mümkün çözümleri
72
araştırma gibi önemli özelliklere sahip olmaları ve amaç (objective)
fonksiyonunun gradyentinin bilinmesine ihtiyaç duymamaları en önemli
avantajlarındandır. Genler ve
kromozonlar doğal olarak türler ile ilgili bilgileri saklarlar. Bir GA’da potansiyel çözümler ile
ilgili bilgiler, diziler (string) şeklindeki sayılarla ifade edilirler. Genetik algoritmanın
akış şeması, ğekil 21’de gösterilmiştir. ğekilden de açıkça görülebileceği gibi,
optimizasyonun başlangıcında, çoğunlukla rasgele olarak, bir sayı üretme jeneratörü
tarafından bir grup çözüm üretilir. Başlangıçta iyi bir yaklaşık çözüm için, herhangi bir
bilgiye ihtiyaç duyulmaması GA’ nın diğer bir avantajıdır. Başlangıç yoğunluğunun
üretilmesini takiben, her çözümün uygunluğu veya iyiliği, seçilen bir uygunluk
fonksiyonu kullanılarak değerlendirilir. Uygunluk fonksiyonu, eldeki veriler dikkate
alınarak belirlendiği için, bunun seçimi probleme bağlıdır.
Uygunluk ölçekleme işlemi, bazen daha iyiyi seçmek için elde edilen iyi çözümlerden daha
iyi çözümlere kadar devam ettirilen bir işlemdir. Seçme, çaprazlama ve mutasyon gibi
genetik operatörler, elde edilen iyi çözümlerden denenmiş yeni çözümler üretmek için
kullanılırlar. Bu iyileştirme işlemi, daha önceden belirlenen bir jenerasyon sayısına veya
tatmin edici bir sonuca ulaşıncaya kadar devam ettirilir.
şekil 21 Genetik algoritmanın akış şeması GA, ağ çıkışının hesaplanması için gerekli olan optimum ağırlıkların elde
edilmesinde kullanılmıştır. Bu her bir ağırlık, wji’nin bir bit dizisi şeklinde
sıralanması ve sıraların tamamen bit dizileri şeklinde ifade edilmesiyle kolayca
uygulanabilir. Sıraların veya bit dizilerinin uygunluğu toplam hataların karelerinin E(w)
toplamının tersi olarak ifade edilir.
Eşiklikte E(w) amaç hata fonksiyonu olup m başlangıç hata terimleri ei2(w) aşağıdaki gibidir.
(2.26)
Burada dir.
73
74
Çaprazlamadan Önce Çaprazlamadan Sonra Çözüm 1 : 1 0 1 1 1 1 1 0 0 1 1 0 1 1 1 1 Yeni Çözüm 1: 1 0 1 1 1 1 1 0 1 1 1 1 1 0 0 0
Çözüm 2: 1 1 0 0 0 1 1 0 1 1 1 1 1 0 0 0 Yeni Çözüm 2: 1 1 0 0 0 1 1 0 0 1 1 0 1 1 1 1
(a)
Mutasyondan Önce Mutasyondan Sonra 1 0 1 1 1 1 1 0 0 1 1 0 1 1 1 0 1 0 1 1 1 1 0 0 0 1 1 0 1 1 1 0
(b)
şekil 2.13: (a) Çaprazlama ve (b) Mutasyon operatörleri.
75
SONUÇ YSA’ların az veriyle öğrenebilmeleri veya genelleme yapabilmeleri YSA’ları bir çok
probleme uygulanması için cazip kılmaktadır. Bunun sebebi ise, deneysel olarak fazlaca veri
elde etmenin maliyeti arttırmasıdır.
YSA lara doğrusal olmama özelliği kazandıran ve bu sayede bir çok farklı probleme
uygulama yaklaşımı sunması YSA ların diğer bir üstün özelliğidir. Bu sayede bir çok
problemin çözümüne uygulanabilmektedir.