KOCAELİ ÜNİVESİTESİ

Transkript

KOCAELİ ÜNİVESİTESİ
NÖRAL SİSTEMLERE GİRİŞ
Ders Notu
1
GİRİŞ ............................................................................................................................. 4
ZEKA ............................................................................................................................. 5
YAPAY ZEKA .............................................................................................................. 5
YAPAY ZEKA’NIN GELİŞİM SÜRECİ ..................................................................... 5
YAPAY ZEKANIN AMAÇLARI ................................................................................. 7
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
1.
2.
3.
4.
5.
6.
2
8.12.1.4
8.12.1.5
Nöron Sayısının Belirlenmesi .................................................................. 34
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
3
1.
Son
GİRİŞ
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.
4
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
gerçekleştirilebileceği” idi. Bu
ve
ağ
mantıksal
've'
yapılarının
ve
'veya'
işlemlerinin
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
5
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ş
6
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
6.
°
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
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
7
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
8
Ağları” tekniği anlatılacaktır.
9
8.
8.1
YAPAY SİNİR A¾LARI
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ığı
başında araştırmalarına başlayan
ilk
hesaplama
modelinin
temelleri
1940'ların
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
modellerin ilk eksiklikleri
bilgisayarın
fark
edilmiş,
ortaya
ancak
çıkış yılıdır.
başarılı
1963
sonuçların
yılında
basit
alınması
1970
10
ve 1980'lerde
termodinamikteki teorik yapıların doğrusal olmayan ağların geliştirilmesinde kullanılmasına
11
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
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.
13
Ü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
14
kıyaslanamayacak kadar yüksektir.
15
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
16
aldığı eğitim örneklerini kullanarak problemi öğrenmelidir.
17
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:
ayarlar. Yani,
YSA,
belirli
bir
ilgilendiği
problemi
problemdeki
çözmek
değişikliklere
amacıyla
eğitilen
göre
ağırlıklarını
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ı
18
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
algoritmalarına
aracılığıyla ve
uygun
kesin
yazım
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
bırakmaktadır.
Proses
elemanlarının
belirlenmesi işlemine “ağın eğitilmesi” denir.4
bağlantı
Yapay
ağırlık
"eğitime"
değerlerinin
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
4
E. Öztemel, Yapay Sinir Ağları, 2003, s.55
20
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,
(memorization). Bu durum genellikle gereğinden
verilerin
synaptic
kullanılarak
bağlantılar
eğitilmesinden
ağ
verileri
"ezberlemektedir"
fazla
gizli
katman
kullanıldığında
üzerinde saklanmasından
veya
gereğinden
fazla
veri
(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.
21
Çı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
22
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
5
Dengiz, Sağlık Bilimlerinde Yapay Sinir Ağları
24
ş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
Synaps
Dendrite
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
sinyaller birbirlerini
yeteri
ve
kadar
zayıflatma
etkilerine
kuvvetlendirerek
bir
göre
işler.
eşik
değerini
Eğer
sonuçta
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.
26
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
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)
28
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.
29
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ü;
y=
1 − e −2v
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
0.6
-0.2
0.9
NET:1.225
F(NET)
1/1+e-1.225
Çıktı: 0.77
-0.1
0.7
0.5
32
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.
şekil 6: İleri Beslemeli Ağ İçin Blok Diyagram
33
İ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
geriye
yayılım
yaklaştırabileceği
gösterilmiştir.
En
çok
bilinen
öğ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 :aj =
ƒA
kj
Ç ik
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
olarak kullanılmaktadır.
35
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
Toplam Hata=
1
ƒ E m2
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ı
37
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
Theory) veya
Resonance
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ı,
Takviyeli öğrenme (reinforcement
istenilen
çıkışın
training) yöntemi
bilinmesine
gerek
duymaz.
öğ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
gösterilmiştir.
bildirilir.
ğekil
11’de
takviyeli
öğrenme
yapısı
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
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ı
Tahmin
Ağ Türü
° ÇKA
Ağın Kullanımı
Ağın girdilerinden bir çıktı
değerinin tahmin edilmesi
40
° LVQ
° ART
Sınıflandırma
Girdilerin hangi sınıfa ait
° Counterpropagation
olduklarının belirlenmesi
° Olasılıklı Sinir Ağları
Veri İlişkilendirme
° Hopfield
Girdilerin içindeki hatalı
° Boltzman Machine
bilgilerin bulunması ve eksik
° Bidirectional Associative Memory
bilgilerin tamamlanması
Tablo 1 - Ağ Türleri ve Başarılı Oldukları Alanlar
Uygun
YSA
yapısının
öğrenme algoritmasına
seçildiğinde,
seçimi,
da
büyük
bağlıdır.
ölçüde
Ağda
ağda
kullanılması
kullanılacak
düşünülen
öğrenme
algoritması
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.
uygun
Bu
oldukları
algoritmalar
eğer
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
Öngörü Tanıma
Yapay Sinir Ağı
° 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
41
Sınıflandırma
° Learning Vektor Quantization
42
Veri İlişkilendirme
(Data Association)
Veri Kavramlaştırma
(Data Conceptualization)
°
°
°
°
°
°
°
°
Counter-Propagation
Olasılıklı Yapay Sinir Ağları
Hopfield
Boltmann Makinesi
Bidirectional Associative Memory
Spantion -temproal Pattern Recogniation
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
6
H.Stern, 1996, Neural Networks in Applied Statistics
44
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
oluşturacağı
işlemci
elemanlarını
elemanlarını verileri
kümülatif
olumsuzlukların engellenmesini
verileri
sağlar.
kümülatif toplamlarla
koruma
Veri
toplamların
normalizasyonu,
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
ölçeklendirilmesi
önerilmektedir.
Ölçekleme
[-1,+1]
aralıklarından
birine
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.
45
Xyeni =
X − x min
x max − x min
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)
MSE=
1
N
2
N
ƒ(t
i =1
i
− 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)
SSE=
1
N
2
N
ƒ (t i − td i ) ile hesaplanır.
i =1
Bu ağlarda kullanılan diğer bir performans fonksiyonu da karesel ortalama hata karekökü
(Root Mean Square) fonksiyonudur.
RMS=
1
N
N
ƒ (t
i =1
i
− td i ) 2
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
Ö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
39
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
40
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
41
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 =
ƒw x
i
i
+φ
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ı
42
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
X1
W1
ÇIKTI
NET
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.
43
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.
44
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ı
probleme çözüm getirmediğini
modelin
bu
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
yayılım
geliştirilen
bu
modele
hata
yayma
modeli (backpropogation network) de denilmektedir.
modeli
veya
geriye
Ç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ış
45
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.
ş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
46
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.
Ik= X − c k =
2
N
ƒ(X
i =1
i
− c ki )
ile ifade edilir.
Nöronun çıkış değeri ise, vk = e
−
Ik
σ k2
formülü ile hesaplanır.
Ck: Ağırlıklar
σk: Genişlikler
47
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
yanlış
çıktının
doğru
veya
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
eleman
bağlayan
ağırlık
değerleridir.
Giriş-gizli
işlemci
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
48
ş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
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 )
50
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
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
olarak
birimlerin
aktivasyonlarındaki
değişikliklerin
matematiksel
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.
olan bağlantının ağırlığı 1≤i, j≤N
i. birimden j.birime
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
pi=( p i1 ,..., piN )’dir. Ağırlıkları 1≤i, j≤N, i≠j için wij= ƒ pki pkj formülü ile hesaplanır.
k =1
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.
μi(t+1)=f (
M
ƒw μ
ij
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, (
ƒw μ
ij
j
(t ) − θ i ) = 0 ise birimin durumu değişmez. Sürekli durumda f , [a,b] sınırlı
j =1, j ≠i
bir sigmoid fonksiyondur.
52
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ış
aralıklar
tabakasındaki
olarak düzenlenir.
işlemci
Çıkıştaki
elemanlar
her
işlemci
genellikle
eleman,
düzenli
bütün
iki
boyutlu
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)
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
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.
Wi=
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
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
Yapay
sinir
YSA Öğrenme Algoritmaları
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
58
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
Burada Δwjk=Δwjk(t)= wjk(t+1)- wjk(t) 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:
»1
ÿ
ξ = Ε… ƒ δ 2 Ÿ
…2 j
59
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
Mevcut ağırlık vektörü
İdeal 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 =α.
(t)
j
.xk(t)
60
8.14.3 Kohonen Kuralı
Bu
kural,
biyolojik
geliştirilmiştir. Bu
sistemlerdeki
kuralda
öğrenmeden
nöronlar öğrenmek
esinlenerek
için
Kohonen
yarışırlar.
Kazanan
tarafından
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
algoritmasıdır.
bir öğrenme
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
61
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.
değişik
Bunu gidermek
için
literatürde
çö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.
δj=
∂f
( y (tj ) − y j ) (Eşitlik 2)
∂netj
Burada,
netj = ƒ x j w ji ve y tj 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
serbestlik derecesi
sağlanmış olur.
65
çok
İ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.
algoritma, öğrenme katsayılarını
Eşitlik
lineer olarak
(2.10)’dan
artırmakta,
fakat
görülebileceği
geometrik
gibi
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.
Sezgisel metotları kullanmanın sağladığı bazı avantajlar şöyle özetlenebilir.
69
° 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.
70
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
eşitlikleri ile verilir. Bu ifadelerde;
μ momentum büyüme faktörü
h(t)=
∂E
eğimi ve
∂w(t )
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
71
araştırma
gibi
önemli
fonksiyonunun gradyentinin
özelliklere
sahip
bilinmesine
olmaları
ihtiyaç
ve
amaç
duymamaları
(objective)
en
avantajlarındandır.
önemli
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
fonksiyonu
kullanılarak
veya
iyiliği,
seçilen
bir
uygunluk
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.
72
şekil 21 Genetik algoritmanın akış şeması
GA,
ağ
çıkışının
hesaplanması
edilmesinde kullanılmıştır.
sıralanması
ve
Bu
her
sıraların tamamen
için
gerekli
olan
bir
ağırlık,
wji’nin
bit
dizileri
şeklinde
optimum
bir
ifade
bit
ağırlıkların
dizisi
elde
şeklinde
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
Çaprazlamadan Önce
Çaprazlamadan Sonra
Çözüm 1 :
1011111001101111
Yeni Çözüm 1: 1 0 1 1 1 1 1 0 1 1 1 1 1 0 0 0
Çözüm 2:
1100011011111000
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
1011111001101110
1011110001101110
(b)
şekil 2.13: (a) Çaprazlama ve (b) Mutasyon operatörleri.
74
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.
75