nsg ders notu

85
1 NÖRAL SİSTEMLERE GİRİŞ Ders Notu

Upload: kenan-kilicaslan

Post on 04-Jan-2016

132 views

Category:

Documents


13 download

DESCRIPTION

Nöral network, yapay sinir ağları konusunda çaılma

TRANSCRIPT

Page 1: Nsg Ders Notu

1

NÖRAL SİSTEMLERE GİRİŞ

Ders Notu

Page 2: Nsg Ders Notu

2

1. GİRİŞ ............................................................................................................................. 4 2. ZEKA ............................................................................................................................. 5 3. YAPAY ZEKA .............................................................................................................. 5 4. YAPAY ZEKA’NIN GELİŞİM SÜRECİ ..................................................................... 5 5. YAPAY ZEKANIN AMAÇLARI ................................................................................. 7 6. YSA TESTLERİ ............................................................................................................ 7 6.1 Turing Testi ................................................................................................................ 7 6.2 Çin Odası Testi ........................................................................................................... 8 7. YAPAY ZEKA TEKNİKLERİ..................................................................................... 8 8. YAPAY SiNİR AİLARI .............................................................................................. 9 8.1 YSA’nın Tanımı ve Tarihçesi ................................................................................... 9 8.2 Literatüreki YSA Tanımları ..................................................................................... 10 8.3 YSA’nın Uygulama Alanları.................................................................................... 10 8.4 YSA’nın Üstünlükleri .............................................................................................. 12 8.5 YSA Nasıl Çalışır ? .................................................................................................. 14 8.6 YSA’nın Eğitimi ve Testi....................................................................................... 15 8.7 Biyolojik Sinir Sistemi ............................................................................................. 18 8.8 Sinir Hücresi (Nöron) ............................................................................................... 19 8.9 YSA’nın Yapısı ........................................................................................................ 20

8.9.1 Girdi Katmanı................................................................................................... 21 8.9.2 Ara Katman (Gizli Katman) ............................................................................. 21 8.9.3 Çıktı Katmanı ................................................................................................... 21

8.10 Yapay Sinir Hücresi ................................................................................................. 22 8.10.1 Girdiler ............................................................................................................. 22 8.10.2 Ağırlıklar .......................................................................................................... 22 8.10.3 Birleştirme Fonksiyonu .................................................................................... 22 8.10.4 Aktivasyon Fonksiyonu.................................................................................... 23

8.10.4.1 Doğrusal Aktivasyon Fonksiyon ............................................................. 23 8.10.4.2 Sigmoid Aktivasyon Fonksiyonu ............................................................. 24 8.10.4.3 Tanjant Hiperbolik ................................................................................... 24

8.10.5 Çıktı .................................................................................................................. 25 8.11 Yapay Sinir Ağlarının Sınıflandırılması .................................................................. 26

8.11.1 YSA’ların Yapılarına Göre Sınıflandırılması .................................................. 26 8.11.1.1 İleri Beslemeli Ağlar ................................................................................ 26 8.11.1.2 Geri Beslemeli Ağlar................................................................................ 28

8.11.2 YSA’ların Öğrenme Algoritmalarına Göre Sınıflandırılması .......................... 29 8.11.2.1 Danışmanlı Öğrenme................................................................................ 29 8.11.2.2 Danışmansız Öğrenme ............................................................................. 30 8.11.2.3 Takviyeli Öğrenme................................................................................... 30

8.11.3 Uygulamaya Göre Öğrenme Algoritmaları ...................................................... 31 8.11.3.1 Çevrim İçi (On-line) Öğrenme ................................................................. 31 8.11.3.2 Çevrim Dışı (Offline) Öğrenme ............................................................... 31

8.12 Yapay Sinir Ağ Yapıları........................................................................................... 31 8.12.1 Bir YSA’nın Tasarımı ...................................................................................... 32

8.12.1.1 YSA Ağ Yapısının Seçimi ....................................................................... 32 8.12.1.2 Öğrenme Algoritmasının Seçimi.............................................................. 33 8.12.1.3 Ara Katman Sayısını Belirleme................................................................ 34

Page 3: Nsg Ders Notu

3

8.12.1.4 Nöron Sayısının Belirlenmesi .................................................................. 34 8.12.1.5 Normalizasyon ......................................................................................... 35

8.12.1.6 Performans Fonksiyonun Seçimi ............................................................. 36 8.12.2 Basit Algılayıcı Modeli (Perseptron) ............................................................... 36 8.12.3 Adaline ............................................................................................................. 41 8.12.4 Çok Katlı Algılyıcılar ÇKA (Multi Layer Perceptron MLP) .......................... 45 8.12.5 Radyal Tabanlı Sinir Ağı.................................................................................. 46 8.12.6 LVQ (Learning Vector Quantisation) .............................................................. 48

8.12.6.1 Ceza Mekanizmalı LVQ........................................................................... 50 8.12.6.2 LVQ2........................................................................................................ 50

8.12.7 Hopfield Ağı..................................................................................................... 51 8.12.8 Elman ve Jordan Ağları .................................................................................... 53 8.12.9 Kohonen Ağı .................................................................................................... 54 8.12.10 ART (Adaptive Resonance Theory)................................................................. 56 8.12.11 Olasılık Tabanlı YSA ....................................................................................... 58

8.13 YSA Öğrenme Algoritmaları ................................................................................... 58 8.14 Temel Öğrenme Kuralları ........................................................................................ 58

8.14.1 Hebb Kuralı ...................................................................................................... 58 8.14.2 Delta Kuralı ...................................................................................................... 59 8.14.3 Kohonen Kuralı ................................................................................................ 61 8.14.4 Hopfield Kuralı ................................................................................................ 61

8.15 Öğrenme Algoritmaları ............................................................................................ 61 8.15.1 Geriyayılım Algoritması .................................................................................. 61 8.15.2 Delta-Bar-Delta ................................................................................................ 65 8.15.3 Geliştirilmiş Delta Bar Delta ............................................................................ 67 8.15.4 Hızlı Yayılım (QuickProp) ............................................................................... 69 8.15.5 Genetik Algoritma ............................................................................................ 71

Page 4: Nsg Ders Notu

4

1. GİRİŞ Son yıllarda bilgisayar bilimlerinde yaşanan teknolojik gelişmeler, neredeyse

takip edilemeyecek bir hızda ilerlemektedir. Bu ilerleme, insanoğlunun da yaratıcılığını ve

sınır tanımazlığını arttırmış, daha önce hiç hayal bile edilemeyen yeni gelişmelerin

doğmasına neden olmuştur. Bu gelişmelerden bir tanesi de Yapay Zeka’dır. Bilim

adamları, adına Yapay Zeka dedikleri, insanın düşünebilme, anlayabilme, öğrenebilme ve

yorumlayabilme yeteneklerini, programlamayla taklit ederek problem çözümüne

kullanmaktadırlar. Yapay Sinir Ağları (YSA)’da, Yapay Zeka biliminin altında araştırmacıların çok yoğun

ilgi gösterdikleri bir araştırma alanıdır. YSA’ların örnekler ile öğrenebilme ve

genelleme yapabilme özellikleri onlara çok esnek ve güçlü araçlar olma özelliği sağlamaktadır. Bu çalışmada YSA teorik olarak anlatılmış ve günlük hayatta kullanılan değişik YSA

uygulamalarından bahsedilmiştir.

Page 5: Nsg Ders Notu

5

2. ZEKA Öğrenme ve çevreye uyabilme yeteneğinin koşulu zeki olmaktır. Zeka, anlama ve kavrama

yeteneği olarak tanımlanabilir. 3. YAPAY ZEKA

Yapay zeka, insanın düşünme yapısını anlamak ve bunun benzerini ortaya

çıkaracak bilgisayar işlemlerini geliştirmeye çalışmak olarak tanımlanır. Bir başka

deyişle, yapay zeka programlanmış bir bilgisayarın düşünme girişimidir. Daha geniş bir

tanıma göre ise, yapay zeka, bilgi edinme, algılama, görme, düşünme ve karar verme

gibi insan zekasına özgü kapasitelerle donatılmış bilgisayarlardır.

4. YAPAY ZEKA’NIN GELİŞİM SÜRECİ

Yapay zeka konusundaki ilk çalışma McCulloch ve Pitts tarafından yapılmıştır.

Bu araştırmacıların önerisi; “Her hangi bir hesaplanabilir fonksiyonun sinir hücrelerinden

oluşan ağlarla hesaplanabileceğini ve mantıksal 've' ve 'veya' işlemlerinin

gerçekleştirilebileceği” idi. Bu ağ yapılarının uygun

şekilde tanımlanmaları halinde öğrenme becerisi kazanabileceğini de ileri sürdüler.

Hebb, sinir hücreleri arasındaki bağlantıların şiddetlerini değiştirmek için basit bir

kural önerince, öğrenebilen yapay sinir ağlarını gerçekleştirmek de olası hale gelmiştir.

1950’lerde Shannon ve Turing bilgisayarlar için satranç programları yazıyorlardı. SNARC

isimli ilk yapay sinir ağı temelli bilgisayar MIT’de Minsky ve Edmonds tarafından 1951’de

yapıldı. Çalışmalarını Princeton Üniversitesi’nde sürdüren Mc Carthy, Minsky, Shannon

ve Rochester’le birlikte 1956 yılında Dartmouth’da iki aylık bir toplantı düzenledi. Bu

toplantıda

bir çok çalışmanın temelleri atılmakla birlikte, toplantının en önemli özelliği Mc

Carthy tarafından önerilen Yapay zeka adının konmasıdır. İlk kuram ispatlayan programlardan

Logic Theorist (Mantık kuramcısı) burada Newell ve Simon tarafından tanıtılmıştır.

Daha sonra Newell ve Simon, 'insan gibi düşünme' yaklaşımına göre üretilmiş ilk

program olan General

Problem Solver (Genel sorun çözücü)‘ı geliştirmişlerdir. Simon, daha sonra fiziksel simge

Page 6: Nsg Ders Notu

6

varsayımını ortaya atmış ve bu kuram, insandan bağımsız zeki sistemler yapma

çalışmalarıyla uğraşanların hareket noktasını oluşturmuştur. Bundan sonraki yıllarda

mantık temelli çalışmalar egemen olmuş ve programların başarımlarını göstermek için

bir takım yapay sorunlar ve dünyalar kullanılmıştır. Daha sonraları bu sorunlar gerçek

yaşamı hiçbir şekilde temsil etmeyen oyuncak dünyalar olmakla suçlanmış ve yapay

zekanın yalnızca bu alanlarda başarılı olabileceği ve gerçek yaşamdaki sorunların

çözümüne ölçeklenemeyeceği ileri sürülmüştür. Geliştirilen programların gerçek sorunlarla karşılaşıldığında çok kötü bir

başarım göstermesinin ardındaki temel neden, bu programların yalnızca sentaktik bir

şekilde çalışıp konu ile ilgili bilgileri kullanmamasıydı. Bu dönemin en ünlü

programlarından Weizenbaum tarafından geliştirilen Eliza, karşısındaki ile sohbet

edebiliyor gibi görünmesine karşın, yalnızca karşısındaki insanın cümleleri üzerinde bazı

işlemler yapıyordu. İlk makine çeviri çalışmaları sırasında benzeri yaklaşımlar kullanılıp

çok gülünç çevirilerle karşılaşılınca bu çalışmaların desteklenmesi durdurulmuştur.

Zeki davranışı üretmek için bu çalışmalarda kullanılan temel yapılardaki bazı

önemli yetersizliklerin de ortaya konmasıyla bir çok araştırmacılar çalışmalarını durdurdular.

Buna en temel örnek, sinir ağları konusundaki çalışmaların Minsky ve Papert’in 1969’da

yayınlanan Perceptrons adlı kitaplarında tek katmanlı YSA ların bazı basit problemleri

çözemeyeceğini gösterip aynı kısırlığın çok katmanlı YSA larda da beklenilmesi gerektiğini

söylemeleri ile bıçakla kesilmiş gibi durmasıdır.

Her sorunu çözecek genel amaçlı program yerine belirli bir uzmanlık alanındaki bilgiyle

donatılmış programlar kullanma fikri yapay zeka alanında yeniden bir canlanmaya yol

açtı. Kısa sürede uzman sistemler adı verilen bir metodoloji gelişti. Fakat burada çok sık

rastlanan tipik bir durum, bir otomobilin tamiri için önerilerde bulunan uzman sistem

programının otomobilin ne işe yaradığından haberi olmamasıydı. İnsanların iletişimde

kullandıkları Türkçe, İngilizce gibi doğal dilleri anlayan bilgisayarlar konusundaki

çalışmalar bu sıralarda hızlanmaya başladı. Doğal dil anlayan programların dünya

hakkında genel bilgiye sahip olması ve bu bilgiyi kullanabilmek için genel bir

metodolojisi olması gerektiği belirtilmekteydi. Uzman dizgelerin başarıları beraberinde ilk ticari uygulamaları da getirdi. Yapay zeka yavaş

Page 7: Nsg Ders Notu

7

yavaş bir endüstri haline geliyordu. DEC tarafından kullanılan ve müşteri siparişlerine

göre donanım seçimi yapan R1 adlı uzman sistem şirkete bir yılda 40 milyon dolarlık

tasarruf sağlamıştı. Birden diğer ülkeler de yapay zekayı yeniden keşfettiler ve

araştırmalara büyük kaynaklar ayrılmaya başlandı. 1988’de yapay zeka endüstrisinin

cirosu 2 milyar dolara ulaşmıştı. 1975 yılında Holland canlılarda doğal gelişim prensibnine dayanan genetik

algoritmayı önermiştir. 1976 yılında da, Sejnowski Boltzman Makinesini geliştirmiş ve

buna geri yayılım algoritmasını uygulamıştır. Sutton ve Barto 1978 yılında takviyeli

öğrenme modeli geliştirdiklerini rapor etmişlerdir. Hecht-Nielsen ilk modern elektronik

nöro bilgisayar olan TRW MARK III ile PC tabanlı nöro bilgisayar olan ANAZA’yı 1982

yılında tasarlamışlardır.

1987 yılında yapılan ilk uluslar arası YSA konferansında sunulan yüzlerce çalışma ve

uygulama ile artık bu alandaki çalışmalar yaygınlaşmaya başlamıştır.

5. YAPAY ZEKANIN AMAÇLARI

Yapay Zeka çalışmalarında hedeflenen amaçlar:

° İnsan beyninin fonksiyonlarını modellerle anlamaya çalışmak

° İnsanın zihinsel yeteneklerini, bilgi kazanma, öğrenme ve buluş yapmada

uyguladıkları strateji ve metotları araştırmak

° Bu metotları formel hale getirmek, bilgisayarlarda uygulamak

° Bilgisayar kullanımını kolaylaştıracak arayüzler geliştirmek

° Uzman Sistemler ve Genel Bilgi Sistemleri geliştirmek

° YZ iş yardımcıları ve zeki robot timleri geliştirmek

° Bilimsel araştırma ve buluşlar için Araştırma Yardımcıları geliştirmek 6. YSA TESTLERİ

Geliştirilen sistemlerin zeki olup olmadıklarını anlamak için zeka testleri geliştirilmiştir.

Bunlardan en çok bilineni Turing Testi ve Çin Odası testleridir. 6.1 Turing Testi

Page 8: Nsg Ders Notu

8

Bir kimsenin klavye aracılığı ile bir insana ve bir zeki makinaya soru sormasından

oluşmaktadır. Testte soru soran bir sorgulayıcı ve cevap veren bir taraf bulunur.

Taraflar birbirlerini görmemekte, aralarındaki iletişim bilgisayar terminali ile

sağlanmaktadır. Eğer sorgulayıcı, karşıdaki tarafın insan mı yoksa makine mi olduğunu

ayırt edemezse, denek Turing testini geçmiş sayılır. Bunun anlamı, bilgisayar zekidir. 6.2 Çin Odası Testi

Bu testte, bir odada kilitli olduğunuzu düşünün ve odada da üzerlerinde çince

tabelalar bulunan sepetler olsun. Fakat siz çince bilmiyorsunuz. Ama elinizde çince tabelaları

ingilizce olarak açıklayan bir kural kitabı bulunsun. Kurallar çinceyi tamamen biçimsel olarak,

yani söz dizimlerine uygun olarak açıklamaktadır. Daha sonra odaya başka çince

simgelerin getirildiğini ve size çince simgeleri odanın dışına götürmek için, başka

kurallarda verildiğini varsayın. Odaya getirilen ve sizin tarafınızdan bilinmeyen

simgelerin oda dışındakilerce

`soru` diye, sizin oda dışına götürmeniz istenen simgelerin ise `soruların yanıtları`

diye adlandırıldığını düşünün. Siz kilitli odanın içinde kendi simgelerinizi

karıştırıyorsunuz ve gelen çince simgelere yanıt olarak en uygun çince simgeleri

dışarı veriyorsunuz. Dışta bulunan bir gözlemcinin bakış açısından sanki çince

anlayan bir insan gibisiniz. Çince anlamanız için en uygun bir program bile çince

anlamanızı sağlamıyorsa, o zaman herhangi

bir sayısal bilgisayarın da çince anlaması olanaklı değildir. Bilgisayarda da sizde olduğu gibi,

açıklanmamış çince simgeleri işleten bir biçimsel program vardır ve bir dili anlamak demek,

bir takım biçimsel simgeleri bilmek demek değil, akıl durumlarına sahip olmak demektir. 7. YAPAY ZEKA TEKNİKLERİ

° Yapay Sinir Ağları

° Bulanık Mantık

° Sezgisel Algoritmalar (Genetik Algoritmalar, Tabu Arama, Tavlama

Benzetimi, Karınca Algoritması gibi)

° Uzman Sistemler Seminer konusu olarak “YSA’nın Tahmin Amacıyla Kullanılması” konusu seçilmiştir.

Bu nedenle bu dokümanda, yukarıda sayılan YSA tekniklerinden yalnızca “Yapay Sinir

Page 9: Nsg Ders Notu

9

Ağları” tekniği anlatılacaktır.

Page 10: Nsg Ders Notu

10

8. YAPAY SİNİR A¾LARI

8.1 YSA’nın Tanımı ve Tarihçesi YSA, beyindeki sinirlerin çalışmasını taklit ederek sistemlere öğrenme, genelleme yapma,

hatırlama gibi yetenekler kazandırmayı amaçlayan bilgi işleme sistemidir.

İnsan beyninin ve düşünme yeteneğinin taklit edilmesi isteği sanıldığının aksine çok eski

zamanlarda var olmuş bir istektir. İnsan beyni ve düşünebilme yeteneğine ilişkin ilk

açıklayıcı teori geliştirme denemeleri Antik Yunan düşünürleri olan Plato (İ.Ö. 427-327) ve

Aristoteles'e (İ.Ö. 384-322) kadar uzanmaktadır. Daha sonra ise Descartes (1596-1650)

insanın düşünme yeteneğiyle ilgilenen 18. yüzyıl düşünürü olmuştur. Beyinin üstün özellikleri, bilim adamlarını üzerinde çalışmaya zorlamış ve

beynin nörofiziksel yapısından esinlenerek matematiksel modeli çıkarılmaya çalışılmıştır.

Beynin bütün davranışlarını modelleyebilmek için fiziksel bileşenlerinin doğru olarak

modellenmesi gerektiği düşüncesi ile çeşitli yapay hücre ve ağ modelleri geliştirilmiştir.

Böylece, Yapay Sinir Ağları denen günümüz bilgisayarlarının algoritmik hesaplama

yöntemlerinden farklı bir bilim alanı ortaya çıkmıştır. Genel anlamda YSA, beynin bir işlevini yerine getirme yöntemini modellemek için tasarlanan

bir sistem olarak tanımlanabilir. Bir YSA, yapay sinir hücrelerinin birbirleri ile

çeşitli şekillerde bağlanmasında oluşur. YSA’lar öğrenme algoritmaları ile öğrenme

sürecinden geçtikten sonra, bilgiyi toplama, hücreler arasındaki bağlantı ağırlıkları ile bu

bilgiyi saklama

ve genelleme yeteneğine sahip olurlar. YSA lar yapılarına göre farklı öğrenme yaklaşımları

kullanırlar.

Yapay sinir ağlarının dayandığı ilk hesaplama modelinin temelleri 1940'ların

başında araştırmalarına başlayan W.S. McCulloch ve W.A. Pitts'in, 1943 yılında

yayınladıkları bir makaleyle atılmış olmuştur. Daha sonra 1954 yılında B.G. Farley ve

W.A. Clark tarafından

bir ağ içerisinde uyarılara tepki veren, uyarılara adapte olabilen model oluşturulmuştur.

1960 yılı ise ilk neural bilgisayarın ortaya çıkış yılıdır. 1963 yılında basit

modellerin ilk eksiklikleri fark edilmiş, ancak başarılı sonuçların alınması 1970

Page 11: Nsg Ders Notu

11

ve 1980'lerde

termodinamikteki teorik yapıların doğrusal olmayan ağların geliştirilmesinde kullanılmasına

Page 12: Nsg Ders Notu

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

Page 13: Nsg Ders Notu

13

YSA’lar insan beyninin fonksiyonel özelliklerine benzer şekilde aşağıdaki konularda başarılı

bir şekilde uygulanmaktadır.

° Öğrenme

° İlişkilendirme

° Sınıflandırma

° Genelleme

° Tahmin

° Özellik Belirleme

° Optimizasyon YSA’ ları çok farklı alanlara uygulanabildiğinden bütün uygulama alanlarını burada sıralamak

zor olmakla birlikte genel bir sınıflandırma ile YSA’ nın uygulama alanları aşağıdaki gibi

6 grup içerisinde toplanabilir.

Arıza Analizi ve Tespiti

Bir sistemin, cihazın yada elemanın düzenli (doğru) çalışma şeklini öğrenen bir

YSA yardımıyla bu sistemlerde meydana gelebilecek arızaların tanımlanma olanağı

vardır. Bu amaçla YSA; elektrik makinelerinin, uçakların yada bileşenlerinin, entegre

devrelerin v.s. arıza analizinde kullanılmıştır.

Tıp Alanında

EEG ve ECG gibi tıbbi sinyallerin analizi, kanserli hücrelerin analizi, protez tasarımı,

transplantasyon zamanlarının optimizasyonu ve hastanelerde giderlerin optimizasyonu v.s gibi

uygulama yeri bulmuştur.

Savunma Sanayi

Silahların otomasyonu ve hedef izleme, nesneleri/görüntüleri ayırma ve tanıma, yeni

algılayıcı tasarımı ve gürültü önleme v.s gibi alanlara uygulanmıştır.

Haberleşme

Görüntü ve veri sıkıştırma, otomatik bilgi sunma servisleri, konuşmaların gerçek zamanda

çevirisi v.s gibi alanlarda uygulama örnekleri vardır.

Page 14: Nsg Ders Notu

14

Üretim Üretim sistemlerinin optimizasyonu, ürün analizi ve tasarımı, ürünlerin (entegre, kağıt,

kaynak v.s.) kalite analizi ve kontrolü, planlama ve yönetim analizi v.s. alanlarına

uygulanmıştır.

Otomasyon ve Kontrol

Uçaklarda otomatik pilot sistemi otomasyonu, ulaşım araçlarında otomatik yol

bulma/gösterme, robot sistemlerin kontrolü, doğrusal olmayan sistem modelleme ve kontrolü,

elektrikli sürücü sistemlerin kontrolü v.s. gibi yaygın bir uygulama yeri bulmuştur. 8.4 YSA’nın Üstünlükleri

Yapay sinir ağları modelleri, biyolojik sinir ağlarının çalışma biçimlerinden

esinlenerek ortaya çıkarılmıştır.Yapay sinir ağları, biyolojik olmayan yapı taşlarının düzgün

bir tasarımla birbirlerine yoğun olarak bağlanmalarından oluşmaktadırlar. Sinir sisteminin

modellenmesi için yapılan çalışmalar sonucu oluşturulan yapay sinir ağları, biyolojik

sinir sisteminin üstünlüklerine de sahiptir. Bu üstünlükleri şu şekillerde özetleyebilmek

mümkündür. Yapay sinir ağı özellikle doğrusal olmayan sistemlerde öngörüler açısından istatistik

tekniklere göre daha kolaylık sağlayan bir özelliğe sahiptir. Bundan dolayı başta işletmecilik

ve finans olmak üzere bir çok değişik alanlarda kullanım imkanı bulur. Doğrusal Olmama: YSA’ nın temel işlem elemanı olan hücre doğrusal değildir.

Dolayısıyla hücrelerin birleşmesinden meydana gelen YSA da doğrusal değildir ve bu

özellik bütün ağa yayılmış durumdadır. Bu özelliği ile YSA, doğrusal olmayan

karmaşık problemlerin çözümünde en önemli araç olmuştur. Paralellik: Alışılmış bilgi işlem yöntemlerinin çoğu seri işlemlerden oluşmaktadır.Bu da hız

ve güvenilirlik sorunlarını beraberinde getirmektedir.Seri bir işlem gerçeklenirken herhangi

bir birimin yavaş oluşu tüm sistemi doğruca yavaşlatırken ,paralel bir sistemde yavaş

bir birimin etkisi çok azdır.Nitekim seri bir bilgisayarın bir işlem elemanı beyine göre

binlerce kez daha hızlı işlemesine rağmen , beynin toplam işlem hızı seri çalışan bir

bilgisayara göre

Page 15: Nsg Ders Notu

15

kıyaslanamayacak kadar yüksektir.

Page 16: Nsg Ders Notu

16

Gerçeklenme Kolaylığı: Yapay sinir ağlarında basit işlemler gerçekleyen türden

hücrelerden oluşması ve bağlantıların düzgün olması,ağların gerçeklenmesi ki açısından

büyük kolaylık olmasını sağlamaktadır Yerel Bilgi İşleme: Yapay sinir ağlarında her bir işlem birimi ,çözülecek problemin tümü

ile ilgilenmek yerine ,sadece problemin gerekli parçası ile ilgilenmektedir ve problemin

bir parçası işlemektedir.Hücrelerin çok basit işlem yapmalarına rağmen , sağlanan

görev paylaşımı sayesinde, çok karmaşık problemler çözülebilmektedir.

Hata Toleransı: Sayısal bir bilgisayarda,herhangi bir işlem elemanını yerinden almak,

onu etkisiz bir makineye dönüştürmektedir.Ancak yapay sinir ağlarında bir elemanda

meydana gelebilecek hasar çok büyük önem teşkil etmez.Yapay sinir ağlarının paralel

çalışması hız avantajı ile birlikte yüksek hata sağlamaktadır.Seri bilgi işlem yapan bir

sistemde herhangi bir birimin hatalı çalışması,hatta bozulmuş olması tüm sistemin

hatalı çalışmasına veya bozulmasına sebep olacaktır.Paralel bilgi işleme yapan bir

sistemde ise,sistemin ayrı ayrı işlem elemanlarında meydana gelecek olan hatalı çalışma

veya hasar,sistemin performansında keskin bir düşüşe yol açmadan, performansın sadece

hata birimlerinin bir oranınca düşmesine sebep olur. YSA, çok sayıda hücrenin çeşitli

şekillerde bağlanmasından oluştuğundan paralel dağılmış bir yapıya sahiptir ve ağın

sahip olduğu bilgi, ağdaki bütün bağlantılar üzerine dağılmış durumdadır. Bu nedenle,

eğitilmiş bir YSA’nın bazı bağlantılarının hatta bazı hücrelerinin etkisiz hale gelmesi,

ağın doğru bilgi üretmesini önemli ölçüde etkilemez. Bu nedenle, geleneksel yöntemlere

göre hatayı tolere etme yetenekleri son derece yüksektir

Öğrenebilirlik: Alışılagelmiş veri işleme yöntemlerinin çoğu programlama yolu

ile hesaplamaya dayanmaktadır.Bu yöntemler ile, tam tanımlı olmayan bu problemin

çözümü yapılamaz.Bunun yanında , herhangi bir problemin çözümü için probleme

yönelik bir algoritmanın geliştirilmesi gerekmektedir.Yapay sinir ağları problemleri

verilen örneklerle çözer.Çözülecek problemler için yapı aynıdır. YSA’ nın arzu edilen

davranışı gösterebilmesi için amaca uygun olarak ayarlanması gerekir. Bu, hücreler

arasında doğru bağlantıların yapılması ve bağlantıların uygun ağırlıklara sahip olması

gerektiğini ifade eder. YSA’ nın karmaşık yapısı nedeniyle bağlantılar ve ağırlıklar

önceden ayarlı olarak verilemez yada tasarlanamaz. Bu nedenle YSA, istenen davranışı

gösterecek şekilde ilgilendiği problemden

Page 17: Nsg Ders Notu

17

aldığı eğitim örneklerini kullanarak problemi öğrenmelidir.

Page 18: Nsg Ders Notu

18

Genelleme: YSA, ilgilendiği problemi öğrendikten sonra eğitim sırasında karşılaşmadığı

test örnekleri için de arzu edilen tepkiyi üretebilir. Örneğin, karakter tanıma amacıyla

eğitilmiş bir YSA, bozuk karakter girişlerinde de doğru karakterleri verebilir yada bir

sistemin eğitilmiş YSA modeli, eğitim sürecinde verilmeyen giriş sinyalleri için de

sistemle aynı davranışı gösterebilir.

Uyarlanabilirlik: YSA, ilgilendiği problemdeki değişikliklere göre ağırlıklarını

ayarlar. Yani, belirli bir problemi çözmek amacıyla eğitilen YSA, problemdeki

değişimlere göre tekrar eğitilebilir, değişimler devamlı ise gerçek zamanda da eğitime

devam edilebilir. Bu özelliği ile YSA, uyarlamalı örnek tanıma, sinyal işleme, sistem

tanılama ve denetim gibi alanlarda etkin olarak kullanılır.

Donanım ve Hız: YSA, paralel yapısı nedeniyle büyük ölçekli entegre devre (VLSI)

teknolojisi ile gerçeklenebilir. Bu özellik, YSA’nın hızlı bilgi işleme yeteneğini artırır

ve gerçek zamanlı uygulamalarda arzu edilir.

Analiz ve Tasarım Kolaylığı: YSA’ nın temel işlem elemanı olan hücrenin yapısı ve

modeli, bölüm 1.3’de açıklandığı gibi bütün YSA yapılarında yaklaşık aynıdır. Dolayısıyla,

YSA’ nın farklı uygulama alanlarındaki yapıları da standart yapıdaki bu hücrelerden

oluşacaktır. Bu nedenle, farklı uygulama alanlarında kullanılan YSA’ ları benzer öğrenme

algoritmalarını ve teorilerini paylaşabilirler. Bu özellik, problemlerin YSA ile çözümünde

önemli bir kolaylık getirecektir.

8.5 YSA Nasıl Çalışır ?

Sinir ağı ile hesaplamalarda istenilen dönüşüm için, adım adım yürütülen bir

yöntem gerekmez. Sinir ağı ilişkilendirmeyi yapan iç kuralları kendi üretir ve bu kuralları,

bunların sonuçlarını örneklerle karşılaştırarak düzenler. Deneme ve yanılma ile, ağ kendi

kendine işi nasıl yapması gerektiğini öğretir. YSA'larda bilgi saklama, verilen

eğitim özelliğini kullanarak eğitim örnekleri ile yapılır. Sinirsel hesaplama, algoritmik

programlamaya bir seçenek oluşturan, temel olarak yeni ve farklı bir bilgi işleme olayıdır.

Uygulama imkanının olduğu her yerde, tamamen yeni bilgi işleme yetenekleri geliştirebilir.

Bu sayede de geliştirme harcamaları ile geliştirme süresi büyük ölçüde azalır.

Bir yapay sinir ağı girdi setindeki değişiklikleri değerlendirerek öğrenir ve buna bir çıktı

üretir. Öğrenme işlemi benzer girdi setleri için aynı çıktıyı üretecek bir öğrenme algoritması

Page 19: Nsg Ders Notu

ile gerçekleşir. Öğrenme setindeki girdilerin istatistiksel özelliklerinin çıkarılarak benzer

girdilerin gruplandırılmasını sağlayan bir işlemdir.3

Sinir yapılarına benzetilerek bulunan ağların eğitimi de, normal bir canlının eğitimine

benzemektedir. Sınıfların birbirinden ayrılması işlemi (dolayısıyla kendini

geliştirmesi), öğrenme algoritması tarafından örnek kümeden alınan bilginin adım adım

işlenmesi ile gerçeklenir. YSA kullanılarak makinelere öğrenme genelleme yapma,

sınıflandırma, tahmin yapma ve algılama gibi yetenekler kazandırılmıştır. 8.6 YSA’nın Eğitimi ve Testi

Geleneksel bilgisayar uygulamalarının geliştirilmesinde karşılaşılan durum, bilgisayarın

belli bilgisayar dilleri aracılığıyla ve kesin yazım

algoritmalarına uygun ifadelerle programlanmasıdır. Bu oldukça

zaman alan, uyumluluk konusunda zayıf, teknik personel gerektiren, çoğu zaman pahalı

olan bir süreçtir. Oysa biyolojik temele dayalı yapay zeka teknolojilerinden biri olan

yapay sinir ağlarının geliştirilmesinde programlama, yerini büyük ölçüde "eğitime"

bırakmaktadır. Proses elemanlarının bağlantı ağırlık değerlerinin

belirlenmesi işlemine “ağın eğitilmesi” denir.4 Yapay sinir ağının eğitilmesinde

kullanılan girdi ve çıktı dizileri çiftinden oluşan verilerin tümüne "eğitim seti" adı verilir.

Yapay sinir ağı öğrenme sürecinde, gerçek hayattaki problem alanına ilişkin veri

ve sonuçlardan, bir başka deyişle örneklerden yararlanır. Gerçek hayattaki problem

alanına ilişkin değişkenler yapay sinir ağının girdi dizisini, bu değişkenlerle elde

edilmiş gerçek hayata ilişkin sonuçlar ise yapay sinir ağının ulaşması gereken hedef

çıktıların dizisini oluşturur.

Öğrenme süresinde, seçilen öğrenme yaklaşıma göre ağırlıklar değiştirilir. Ağırlık

değişimi, öğrenmeyi ifade eder. YSA’da ağırlık değişimi yoksa, öğrenme işlemi de

durmuştur. Başlangıçta bu ağırlık değerleri rastgele atanır. YSA’lar kendilerine örnekler

gösterildikçe, bu ağırlık değerlerini değiştirirler. Amaç, ağa gösterilen örnekler için doğru

çıktıları üretecek

ağırlık değerlerini bulmaktır. Ağın doğru ağırlık değerlerine ulaşması örneklerin temsil ettiği

3 B. Dengiz, Sağlık Bilimlerinde Yapay Sinir Ağları

19

Page 20: Nsg Ders Notu

20

4 E. Öztemel, Yapay Sinir Ağları, 2003, s.55

Page 21: Nsg Ders Notu

21

olay hakkında, genellemeler yapabilme yeteneğine kavuşması demektir. Bu genelleştirme

özelliğine kavuşması işlemine, “ağın öğrenmesi” denir.

Yapay sinir ağının öğrenme sürecinde temel olarak üç adım bulunmaktadır.

° Çıktıları hesaplamak,

° Çıktıları hedef çıktılarla karşılaştırmak ve hatayı hesaplanmak,

° Ağırlıkları değiştirerek süreci tekrarlamak. Eğitim süreci sonucunda yapay sinir ağında hesaplanan hatanın kabul edilebilir bir hata

oranına inmesi beklenir. Ancak hata kareleri ortalamasının düşmesi her zaman için yapay

sinir ağının genellemeye (generalization) ulaştığını göstermez. Yapay sinir ağının gerçek

amacı girdi-çıktı örnekleri için genellemeye ulaşmaktadır.

Genelleme, yapay sinir ağının eğitimde kullanılmamış ancak aynı evrenden gelen girdi-çıktı

örneklerini ağın doğru bir şekilde sınıflandırabilme yeteneğidir. İstatistiksel açıdan genelleme

bir uygun eğrinin bulunması (curve-fitting) veya doğrusal olmayan ara değer atama

işi (interpolation) olarak görülebilir. ğekil 1-a 'da genellemenin nasıl gerçekleştiği

görülmektedir. ğekilde (x) ile görülen noktalar eğitim verileridir. Bunların arasında

kalan eğri ise ağ tarafından oluşturulmaktadır. Bu eğri üzerindeki farklı bir girdi değeri

için üretilen doğru çıktı değeri, ağın iyi bir genelleme yaptığını gösterir. Ancak ağ

gereğinden fazla girdi-çıktı ilişkisini öğrendiğinde, ağ verileri "ezberlemektedir"

(memorization). Bu durum genellikle gereğinden fazla gizli katman kullanıldığında

verilerin synaptic bağlantılar üzerinde saklanmasından veya gereğinden fazla veri

kullanılarak eğitilmesinden (overtraining) kaynaklanmaktadır. Ezberleme, genellemenin

iyi gerçekleşmediğini ve girdi-çıktı eğrisinin düzgün olmadığını gösterir (ğekil 1-b).

Verilerin ezberlenmiş olması yapay sinir ağı için istenmeyen bir durum olup, verileri

ezberleyen ağa ait eğitim hatası oldukça düşme, test verilerinde ise hata artma eğilimi

gösterir. Bundan dolayı bir çok yapay sinir ağı yazılımı ağın eğitim ve test verilerine ait

hataları grafik olarak göstermektedir. Verileri ezberleyen ağ gerçek hayattaki örüntüyü iyi

temsil edemeyeceği için kullanılamaz. ğekil 2-a 'da ağ verileri ezberlediği için eğitim hatası

azalma, test hatası ise artma eğilimi göstermektedir. ğekil 2-b

'de ise ağ kabul edilebilir bir genellemeye ulaşmıştır.

Page 22: Nsg Ders Notu

22

Çıktı Çıktı x x

x x

x • x x x

Girdi Girdi

(a) (b)

ğ şekil 1: Genelleme (a) ve Ezberleme (b)

Eğitim Hatası Test Hatası

(a) (b)

Şekil 2 :Verileri Ezberleyen (a) ve İyi Genellemeye Ulaşan (b) Ağlardaki Hata Eğrileri En uygun öğrenme seviyesi, öğrenme fonksiyonunun önceden amaçlanan bir değere ulaşması

ile sağlanamayabilir. Uygulamalarda eğitim süreci boyunca performans fonksiyonunun

izlenmesi ile birlikte sık sık genelleme testlerinin gerçekleştirilmesi yolu ile en

uygun öğrenme seviyesi elde edilebilir. Eğer en uygun öğrenme seviyesine,

performans fonksiyonunun öngörülerinden önce ulaşılmış ise eğitim süresi daha erken

dönemlerde de sona erdirilebilir.

YSA sistemlerinin problemi öğrenme başarısı, gerçekleştirilen testlerle sınanmalıdır. Yapay

sinir ağı geliştirme sürecinde veriler ikiye ayrılır; bir bölümü ağın eğitilmesi için kullanılır ve

Page 23: Nsg Ders Notu

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

Page 24: Nsg Ders Notu

24

5 Dengiz, Sağlık Bilimlerinde Yapay Sinir Ağları

Page 25: Nsg Ders Notu

ş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

Page 26: Nsg Ders Notu

veya nöronda bölgesel olarak elektrik kuvvetini pozitif veya negatif yönde etkileyebilme

yeteneğine sahiptirler. Böylelikle bir nöronun diğerini etkileyebilmesi söz konusu olmaktadır

26

Dendrite Synaps

Axon

Soma

şekil 4 Biyolojik Sinir Hücresi

İnsan beyninde yaklaşık 10 milyar sinir hücresi ve 60 trilyon synapse bulunmaktadır. Bir sinir hücresinin çalışma şekli şöyledir;

Sinir hücresi, diğer sinir hücrelerinden gelen uyarıları (elektriksel sinyaller) snapsları

üzerinden dentritlerine alır. Bu sırada gelen sinyaller snapslar tarafından güçlendirilir ya da

zayıflatılır. Dentritler sinyalleri hücre gövdesine iletirler. Hücre gövdesi gelen sinyalleri

birbirlerini kuvvetlendirme ve zayıflatma etkilerine göre işler. Eğer sonuçta

sinyaller birbirlerini yeteri kadar kuvvetlendirerek bir eşik değerini aşabilirlerse,

aksona sinyal gönderilir ve sinir aktif hale getirilir. Aksi halde, aksona sinyal gönderilmez

ve sinir pasif durumda kalır. 8.9 YSA’nın Yapısı

Sinir hücreleri bir grup halinde işlev gördüklerinde ağ (network) olarak adlandırılırlar

ve böyle bir grupta binlerce nöron bulunur. Yapay nöronların birbirleriyle

bağlantılar

aracılığıyla bir araya gelmeleri yapay sinir ağını oluşturmaktadır.

Yapay sinir ağıyla aslında biyolojik sinir ağının bir modeli oluşturulmak istenmektedir.

Nöronların aynı doğrultu üzerinde bir araya gelmeleriyle katmanlar oluşmaktadır.

Page 27: Nsg Ders Notu

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

Page 28: Nsg Ders Notu

28

8.10 Yapay Sinir Hücresi Biyolojik sinir ağlarında olduğu gibi yapay sinir ağlarında da temel unsur, yapay sinir

hücresidir. Yapay sinir hücresi, YSA’ nın çalışmasına esas teşkil eden en küçük ve temel

bilgi işleme birimidir Ağ içinde yer alan tüm nöronlar bir veya birden fazla girdi alırlar ve

tek bir çıktı verirler. Bu çıktı yapay sinir ağının dışına verilen çıktılar olabileceği

gibi başka nöronlara girdi olarak da kullanılabilirler. Geliştirilen hücre modellerinde

bazı farklılıklar olmakla birlikte genel özellikleri ile bir yapay hücre modeli 5

bileşenden oluşmaktadır. Bunlar;

° Girdiler

° Ağırlıklar

° Birleştirme Fonksiyonu

° Aktivasyon Fonksiyonu

° Çıktı 8.10.1 Girdiler

Girdiler, diğer hücrelerden ya da dış ortamlardan hücreye giren bilgilerdir. 8.10.2 Ağırlıklar

Bilgiler, bağlantılar üzerindeki ağırlıklar üzerinden hücreye girer ve ağırlıklar, ilgili

girişin hücre üzerindeki etkisini belirler. Ağırlıklar bir nöronda girdi olarak kullanılacak

değerlerin göreceli kuvvetini (matematiksel katsayısını) gösterir. Yapay sinir ağı içinde

girdilerin nöronlar arasında iletimini sağlayan tüm bağlantıların farklı ağırlık değerleri

bulunmaktadır. Böylelikle ağırlıklar her işlem elemanının her girdisi üzerinde etki

yapmaktadır. 8.10.3 Birleştirme Fonksiyonu

Birleştirme fonksiyonu, bir hücreye gelen net girdiyi hesaplayan bir fonksiyondur ve

genellikle net girdi, girişlerin ilgili ağırlıkla çarpımlarının toplamıdır. Birleştirme fonksiyonu,

ağ yapısına göre maksimum alan, minimum alan ya da çarpım fonksiyonu olabilir.

v = ƒ xi wi + θ , y=F(v)

Page 29: Nsg Ders Notu

29

w: Hücrenin ağırlıklar matrisini

x: Hücrenin giriş vektörünü

v: Hücrenin net girişini

y: Hücre çıkışını s

8.10.4 Aktivasyon Fonksiyonu

Transfer fonksiyonu olarak da geçen aktivasyon fonksiyonu, birleştirme fonksiyonundan

elde edilen net girdiyi bir işlemden geçirerek hücre çıktısını belirleyen ve genellikle

doğrusal olmayan bir fonksiyondur. Hücre modellerinde, hücrenin gerçekleştireceği işleve

göre çeşitli tipte aktivasyon fonksiyonları kullanılabilir. Aktivasyon fonksiyonları sabit

parametreli yada uyarlanabilir parametreli seçilebilir. En uygun aktivasyon fonksiyonu

tasarımcının denemeleri sonucunda belli olur. Aktivasyon fonksiyonunun seçimi büyük

ölçüde yapay sinir ağının verilerine ve ağın neyi öğrenmesinin istendiğine bağlıdır. Geçiş

fonksiyonları içinde en çok kullanılanı simoid ve hiperbolik tanjant fonksiyonlarıdır.

Örneğin eğer ağın bir modelin ortalama davranışını öğrenmesi isteniyorsa sigmoid

fonksiyon, ortalamadan sapmanın

öğrenilmesi isteniyorsa hiperbolik tanjant fonksiyon kullanılması önerilmektedir.

Page 30: Nsg Ders Notu

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

Page 31: Nsg Ders Notu

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

Page 32: Nsg Ders Notu

Tanjant fonksiyonunun formülü;

1 − e −2v

y = 1 + e 2v

Yukarıda anlatılan aktivasyon fonksiyonlarından başka, literatürde geçen diğer aktivasyon

fonksiyonları;

° Basamak Fonksiyonu

° Kutuplamalı Basamak Fonksiyonu

° Parçalı Doğrusal Fonksiyon 8.10.5 Çıktı

Aktivasyon fonksiyonundan geçirildikten sonra elde edilen değer, çıktı değeridir. Örnek

Bir yapay sinir hücresinin çalışma örneği

0.5 0.1

32

0.6

-0.2 Çıktı: 0.77 F(NET) NET:1.225 1/1+e-1.225

0.9 -0.1

0.7

0.5

Page 33: Nsg Ders Notu

Ağırlıklı toplam alınarak hücreye gelen net bilgi, şu şekilde hesaplanır;

NET: 0.5 * (0.1) + 0.6 * (-0.2) + 0.9 (-0.1) + 0.5 (0.7) = 1.225

Hücrenin sigmoid fonksiyonuna göre çıktısı;

Çıktı = 1/(1+e-1.225) = 0.77

8.11 Yapay Sinir Ağlarının Sınıflandırılması

YSA’lar, genel olarak birbirleri ile bağlantılı işlemci birimlerden (sinir hücresi) oluşurlar. Her

bir sinir hücresi arasındaki bağlantıların yapısı ağın yapısını belirler. İstenilen hedefe ulaşmak

için bağlantıların nasıl değiştirileceği öğrenme algoritması tarafından belirlenir.

Kullanılan öğrenme algoritmasına göre, hatayı sıfıra indirecek şekilde, ağın ağırlıkları

değiştirilir. YSA’lar yapılarına ve öğreneme algoritmalarına göre sınıflandırılırlar. 8.11.1 YSA’ların Yapılarına Göre Sınıflandırılması

Yapay sinir ağları, yapılarına göre, ileri beslemeli (feedforward) ve geri beslemeli (feedback)

ağlar olmak üzere iki şekilde sınıflandırılırlar. 8.11.1.1 İleri Beslemeli Ağlar

İleri beslemeli bir ağda işlemci elemanlar (İE) genellikle katmanlara ayrılmışlardır.

İşaretler, giriş katmanından çıkış katmanına doğru tek yönlü bağlantılarla iletilir. İE’ler bir

katmandan diğer bir katmana bağlantı kurarlarken, aynı katman içerisinde bağlantıları

bulunmaz. ğekil

’de ileri beslemeli ağ için blok diyagram gösterilmiştir. İleri beslemeli ağlara örnek olarak çok

katmanlı perseptron (Multi Layer Perseptron-MLP) ve LVQ (Learning Vector Quantization)

ağları verilebilir.

33

şekil 6: İleri Beslemeli Ağ İçin Blok Diyagram

Page 34: Nsg Ders Notu

İleri beslemeli YSA’ da, hücreler katmanlar şeklinde düzenlenir ve bir katmandaki hücrelerin

çıkışları bir sonraki katmana ağırlıklar üzerinden giriş olarak verilir. Giriş katmanı,

dış ortamlardan aldığı bilgileri hiçbir değişikliğe uğratmadan orta (gizli) katmandaki

hücrelere iletir. Bilgi, orta ve çıkış katmanında işlenerek ağ çıkışı belirlenir. Bu yapısı ile

ileri beslemeli ağlar, doğrusal olmayan statik bir işlevi gerçekleştirir. İleri beslemeli 3

katmanlı YSA’ nın, orta katmanında yeterli sayıda hücre olmak kaydıyla, herhangi bir sürekli

fonksiyonu istenilen doğrulukta yaklaştırabileceği gösterilmiştir. En çok bilinen

geriye yayılım öğrenme algoritması, bu tip YSA ların eğitiminde etkin olarak

kullanılmakta ve bazen bu ağlara geriye yayılım ağları da denmektedir. ğekil 7’de giriş, orta

ve çıkış katmanı olmak üzere 3 katmanlı

ileri beslemeli YSA yapısı verilmiştir.

şekil 7 İleri beslemeli 3 katmanlı YSA.

NET : j = ƒ Akj Çk

a i Akj= k. girdi katmanı elemanını j.ara katman elemanına bağlayan bağlantının ağırlık değeri.

J.ara katman elemanının çıktı değeri ise, bu net girdinin aktivasyon fonksiyonundan

geçirilmesi ile elde edilir.

Herhangi bir problemi çözmek amacıyla kullanılan YSA da, katman sayısı ve orta katmandaki

hücre sayısı gibi kesin belirlenememiş bilgilere rağmen nesne tanıma ve sinyal işleme

gibi alanların yanı sıra, ileri beslemeli YSA, sistemlerin tanılanması ve denetiminde de

yaygın

34

Page 35: Nsg Ders Notu

35

olarak kullanılmaktadır.

Page 36: Nsg Ders Notu

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

Page 37: Nsg Ders Notu

37

1 Toplam Hata= ƒ Em 2

2 m

Toplam hatayı en azlamak için, bu hatanın kendisine neden olan proses elemanlarına

dağıtılması gerekmektedir. Bu da, proses elemanlarının ağırlıklarını değiştirmek demektir. 8.11.2 YSA’ların Öğrenme Algoritmalarına Göre Sınıflandırılması

Öğrenme; gözlem, eğitim ve hareketin doğal yapıda meydana getirdiği davranış

değişikliği olarak tanımlanmaktadır. Birtakım metot ve kurallar, gözlem ve eğitime ile ağdaki

ağırlıkların değiştirilmesi sağlanmalıdır. Bunun için genel olarak üç öğrenme metodundan

ve bunların uygulandığı değişik öğrenme kurallarından söz edilebilir. Bu öğrenme

kuralları aşağıda açıklanmaktadır.

8.11.2.1 Danışmanlı Öğrenme

Bu tip öğrenmede, YSA’ya örnek olarak bir doğru çıkış verilir. Bu öğrenmede ağın

ürettiği çıktılar ile hedef çıktılar arasındaki fark hata olarak ele alınır ve bu hata minimize

edilmeye çalışılır. Bunun için de bağlantıların ağırlıkları en uygun çıkışı verecek şekilde

değiştirilir. Bu sebeple danışmanlı öğrenme algoritmasının bir “öğretmene” veya

“danışmana” ihtiyacı vardır. ğekil 9’da danışmanlı öğrenme yapısı gösterilmiştir.

Widrow-Hoff tarafından geliştirilen delta kuralı ve Rumelhart ve McClelland tarafından

geliştirilen genelleştirilmiş delta kuralı veya geri besleme (back propagation)

algoritması danışmanlı öğrenme

algoritmalarına örnek olarak verilebilir.

şekil 9: Danışmanlı Öğrenme Yapısı

Page 38: Nsg Ders Notu

8.11.2.2 Danışmansız Öğrenme Bu tür öğrenmede ağa sadece girdiler verilir. Ağın ulaşması gereken hedef çıktılar

verilmez. Girişe verilen örnekten elde edilen çıkış bilgisine göre ağ sınıflandırma

kurallarını kendi kendine geliştirir. Ağ daha sonra bağlantı ağırlıklarını aynı özellikleri

gösteren desenler (patterns) oluşturmak üzere ayarlar. ğekil 10’da danışmansız öğrenme

yapısı gösterilmiştir. Grossberg tarafından geliştirilen ART (Adaptive Resonance

Theory) veya Kohonen

tarafından geliştirilen SOM (Self Organizing Map) öğrenme kuralı danışmansız

öğrenmeye

örnek olarak verilebilir.

şekil 10: Danışmansız öğrenme yapısı 8.11.2.3 Takviyeli Öğrenme

Takviyeli öğrenme algoritması, istenilen çıkışın bilinmesine gerek duymaz.

Takviyeli öğrenme (reinforcement training) yöntemi öğreticili öğrenme yöntemine

benzemekle birlikte, ağa hedef çıktılar yerine, ağın çıktılarının ne ölçüde doğru olduğunu

belirten bir skor veya derece bildirilir. ğekil 11’de takviyeli öğrenme yapısı

gösterilmiştir. Optimizasyon problemlerini çözmek için Hinton ve Sejnowski’nin

geliştirdiği Boltzmann kuralı veya GA

takviyeli öğrenmeye örnek olarak verilebilirler.

38

Page 39: Nsg Ders Notu

ş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

Page 40: Nsg Ders Notu

40

8.12.1 Bir YSA’nın Tasarımı

YSA uygulamasının başarısı, uygulanacak olan yaklaşımlar ve deneyimlerle

yakından ilgilidir. Uygulamanın başarısında uygun metodolojiyi belirlemek büyük önem

taşır. Yapay sinir ağının geliştirilmesi sürecinde ağın yapısına ve işleyişine ilişkin şu

kararların verilmesi gerekir.

° Ağ mimarisinin seçilmesi ve yapı özelliklerinin belirlenmesi (katman sayısı,

katmandaki nöron sayısı gibi)

° Nörondaki fonksiyonların karakteristik özelliklerinin belirlenmesi,

° Öğrenme algoritmasının seçilmesi ve parametrelerinin belirlenmesi,

° Eğitim ve test verisinin oluşturulması

Bu kararların doğru verilememesi durumunda, YSA’ları sistem karmaşıklığı artacaktır.

Sitem karmaşıklığı yapısal ve toplam hesaplama karmaşıklığının bir fonksiyonudur.

Toplam hesaplama karmaşıklığı ise, genellikle yapısal karmaşıklığın bir fonksiyonu

olarak ortaya çıkar ve bu hesaplamanın en aza indirilmesi amaçlanır. Bu hesaplama

karmaşıklığının ölçülmesinde de genellikle YSA sisteminin toplam tepki süresi veya

sisteme ait bir işlemci elemanın tepki süresi değeri temel alınır. Bunun yanında

kapladığı hafıza ve zaman karmaşıklığı bazı uygulamalarda hesaplanmaktadır.

Bir YSA’nın uygun parametrelerle tasarlanması durumunda YSA sürekli olarak kararlı ve

istikrarlı sonuçlar üretecektir. Ayrıca sistemin tepki süresinin yeterince kısa olabilmesi için de

ağ büyüklüğünün yeterince küçük olması gerekir. İhtiyaç duyulan toplam hesaplama da bu

sayede sağlanmış olacaktır.

8.12.1.1 YSA Ağ Yapısının Seçimi

YSA’nın tasarımı sürecinde ağ yapısının seçilmesi, uygulama problemine bağlı olarak

seçilmelidir. Hangi problem için hangi ağın daha uygun olduğunun bilinmesi önemlidir.

Kullanım amacı ve o alanda başarılı olan ağ türleri Tablo 2’de verilmiştir.

Kullanım Amacı Ağ Türü Ağın Kullanımı Tahmin

° ÇKA Ağın girdilerinden bir çıktı

değerinin tahmin edilmesi

Page 41: Nsg Ders Notu

41

Sınıflandırma

° LVQ

° ART

° Counterpropagation

° Olasılıklı Sinir Ağları

Girdilerin hangi sınıfa ait

olduklarının belirlenmesi

Veri İlişkilendirme

° Hopfield

° Boltzman Machine

° Bidirectional Associative Memory

Girdilerin içindeki hatalı

bilgilerin bulunması ve eksik

bilgilerin tamamlanması

Tablo 1 - Ağ Türleri ve Başarılı Oldukları Alanlar

Uygun YSA yapısının seçimi, büyük ölçüde ağda kullanılması düşünülen

öğrenme algoritmasına da bağlıdır. Ağda kullanılacak öğrenme algoritması

seçildiğinde, bu algoritmanın gerektirdiği mimaride zorunlu olarak seçilmiş olacaktır.

Örneğin geriyayılım algoritması ileri beslemeli ağ mimarisi gerektirir.

Bir YSA’nın karmaşıklığının azaltılmasında en etkin araç, YSA ağ yapısını

değiştirmektir. Gereğinden fazla sayıda işlemci eleman içeren ağ yapılarında, daha

düşük genelleme kabiliyeti ile karşılaşılır.

8.12.1.2 Öğrenme Algoritmasının Seçimi

YSA yapısının seçiminden sonra uygulama başarısını belirleyen en önemli faktör

öğrenme algoritmasıdır. Genellikle ağ yapısı öğrenme algoritmasının seçiminde

belirleyicidir. Bu nedenle seçilen ağ yapısı üzerinde kullanılabilecek öğrenme algoritmasının

seçimi ağ yapısına bağlıdır. Yapay sinir ağının geliştirilmesinde kullanılacak çok sayıda

öğrenme algoritması bulunmaktadır. Bunlar içinde bazı algoritmaların bazı tip uygulamalar

için daha uygun olduğu bilinmektedir. Bu algoritmalar eğer

uygun oldukları uygulama alanlarına göre

sınıflandırılacak olursa, gruplar ve içinde yer alacak öğrenme algoritmaları aşağıdaki

gibi

özetlenebilir.

Uygulama Tipi Yapay Sinir Ağı Öngörü Tanıma ° Geriyayılım

° Delta Bar Delta ° Geliştirilmiş Delta Bar Delta ° Yönlendirilmiş Rastsal Tarama ° Geriyayılım içinde Self Organizing Map ° Higher Order Neural Networks

Page 42: Nsg Ders Notu

42

Sınıflandırma ° Learning Vektor Quantization

Page 43: Nsg Ders Notu

° Counter-Propagation ° Olasılıklı Yapay Sinir Ağları

Veri İlişkilendirme (Data Association)

° Hopfield ° Boltmann Makinesi ° Bidirectional Associative Memory ° Spantion -temproal Pattern Recogniation

Veri Kavramlaştırma (Data Conceptualization)

° Adaptive Resonance Network ° Self Organizing

Tablo2 - Öğrenme Algoritmaları ve Uygulandıkları Alanlar 8.12.1.3 Ara Katman Sayısını Belirleme

YSA’nın tasarımı sürecinde tasarımcının yapması gereken diğer işlemde, ağdaki

katman sayısına karar vermektir. Çoğu problem için 2 veya 3 katmanlı bir ağ tatmin edici

sonuçlar üretebilmektedir. Nöronların aynı doğrultu üzerinde bir araya gelmeleriyle

katmanlar oluşmaktadır. Katmanların değişik şekilde bir birleriyle bağlanmaları değişik

ağ yapılarını oluşturur. Girdi ve çıktı katmanlarının sayısı, problemin yapısına göre

değişir. 6 Katman sayısını belirlemenin en iyi yolu, birkaç deneme yaparak en uygun

yapının ve yapının ne olduğuna karar vermektir.

8.12.1.4 Nöron Sayısının Belirlenmesi

Ağın yapısal özelliklerinden birisi her bir katmandaki nöron sayısıdır. Katmandaki nöron

sayısının tespitinde de genellikle deneme-yanılma yöntemi kullanılır. Bunun için izlenecek

yol, başlangıçtaki nöron sayısını istenilen performansa ulaşıncaya kadar arttırmak veya

tersi şekilde istenen performansın altına inmeden azaltmaktır. Bir katmanda kullanılacak

nöron sayısı olabildiğince az olmalıdır. Nöron sayısının az olması yapay sinir ağının

"genelleme" yeteneğini arttırırken, gereğinden fazla olması ağın verileri ezberlemesine neden

olur. Ancak gereğinden az nöron kullanılmasının verilerdeki örüntünün ağ tarafından

öğrenilememesi gibi

bir sorun yaratabilir. Nörondaki fonksiyonların da karakteristik özellikleri de YSA nun tasarımında önemli

kararlardan biridir. Nöronun geçiş fonksiyonunun seçimi büyük ölçüde yapay sinir

ağının verilerine ve ağın neyi öğrenmesinin istendiğine bağlıdır. Geçiş fonksiyonları içinde

en çok kullanılanı sigmoid ve hiperbolik tanjant fonksiyonlarıdır. Daha önce belirtildiği gibi

sigmoid

fonksiyonun çıktı aralığı 0 ve 1 arasında olurken, hiperbolik tanjant fonksiyonunun çıktısı -1 43

Page 44: Nsg Ders Notu

44

6 H.Stern, 1996, Neural Networks in Applied Statistics

Page 45: Nsg Ders Notu

45

ve 1 aralığında oluşmaktadır. Eğer ağın bir modelin ortalama davranışını

öğrenmesi isteniyorsa sigmoid fonksiyon, eğer ortalamadan sapmanın öğrenilmesi isteniyorsa

hiperbolik tanjant fonksiyon kullanılması önerilmektedir.

8.12.1.5 Normalizasyon

YSA’ların en belirgin özelliklerinden olan doğrusal olmama özelliğini anlamlı kılan

yaklaşım, verilerin bir normalizasyona tabii tutulmasıdır. Verilen normalizasyonu için

seçilen yöntem YSA performansını doğrudan etkileyecektir. Çünkü normalizasyon, giriş

verilerinin transfer edilirken fonksiyonun aktif olan bölgesinden aktarılmasını sağlar.

Veri normalizasyonu, işlemci elemanlarını verileri kümülatif toplamların

oluşturacağı olumsuzlukların engellenmesini sağlar. Veri normalizasyonu,

işlemci elemanlarını verileri kümülatif toplamlarla koruma eğilimleri nedeniyle

zorunludur ve aşırı değerlenmiş kümülatif toplamların oluşturacağı olumsuzlukların

engellenmesini sağlar. Genellikle verilerin [0,1] veya [-1,+1] aralıklarından birine

ölçeklendirilmesi önerilmektedir. Ölçekleme verilerin geçerli eksen sisteminde

sıkıştırılması anlamı taşıdığından veri kalitesi aşırı salınımlar içeren problemlerin YSA

modellerini olumsuz yönde etkileyebilir. Bu olumsuzluk, kullanılacak öğrenme

fonksiyonunu da başarısız kılabilir. Örneğin, Bir transfer fonksiyonuna uygulanan girişler ile ağırlıkların çarpım toplamının 10 ve

100 olduğunu farz edelim. Bu toplamı bir tanjant hiperbolik fonksiyonundan geçirdiğimizde;

y= tanh(10)=(e10-e-10) / (e10+e-10)=1.000000

ve

y= tanh(100)=(e100-e-100) / (e10+e-10)=1.000000 sonuçları elde edilir. Görüldüğü gibi, 10 ve 100 skalar değerlerine karşılık gelen

fonksiyon sonuçları arasında fark yoktur. Bu durumda da, birbirinden oldukça farklı

skalar değerler sistemde sanki aynı değerlermiş gibi ele alınacak ve hem uygulama

hem de öğrenme algoritması açısından olumsuz sonuçlar ortaya çıkacaktır. Bunun için, X veri kümesi [-1 +1] ya da [0 1] aralığına ölçeklendirilmelidir. Veri kümesinin

[0 1] arasında bir ölçeklendirmeye tabi tutulabilmesi için o kümenin Xmin Xmax aralığı bulunur

ve aşağıdaki formüle göre ölçeklendirme yapılabilir.

Page 46: Nsg Ders Notu

X =

N ƒ

N ƒ

1 2

X − xmin yeni

xmax − xmin 8.12.1.6 Performans Fonksiyonun Seçimi

Öğrenme performansını etkileyen önemli hususlardan bir de performans fonksiyonudur. İleri

beslemeli ağlarda kullanılan tipik performans fonksiyonu karesel ortalama hatadır (Mean

Square Error)

1

N (t

i =1

MSE= i

2

− td i ) ile hesaplanır.

İleri beslemeli ağlarda kullanılan tipik performans fonksiyonlarından bir diğeri de toplam

karesel hatadır. (Sum Square Error)

1 N SSE= (ti

i =1

2

− td i ) ile hesaplanır.

Bu ağlarda kullanılan diğer bir performans fonksiyonu da karesel ortalama hata karekökü

(Root Mean Square) fonksiyonudur.

RMS= N

ƒ (ti

− td i ) N i =1 Literatürde en çok kullanılan YSA yapıları aşağıda açıklanmıştır.

8.12.2 Basit Algılayıcı Modeli (Perseptron)

Tek katmanlı YSA’lar sadece girdi ve çıktı katmanından oluşurlar. Her ağın bir ya da

daha fazla girdisi ve bir çıktısı vardır. En basit şekli ile tek katmanlı bir ağa örnek olarak

aşağıdaki şekil verilir.

X1 W1

Tek Katmanlı Algılayıcı 36

Page 47: Nsg Ders Notu

Ç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

Page 48: Nsg Ders Notu

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

Page 49: Nsg Ders Notu

39

Örnekte çıktı değeri 1 olarak hesaplanmıştır. Ç=B1 olduğundan ağırlıklar değiştirilmez.

Öğrenmenin birinci iterasyonu tamamlanmış olur.

İkinci iterasyonda, ikinci örnek ağa tanıtılır.

NET: w1* x1 + w2* x2 = 1*0 + 2*1 =2

NET>φ olduğundan gerçekleşen çıktı Ç=1 olacaktır. Ç≠B2 olduğundan ağırlıklar

Wn = W0 - λX

Formülüne göre yeniden hesaplanır.

w1 = w1 - λ*x1 = 1-0,5*0=1

w2 = w2 - λ*x2 = 2-0,5*1=1,5 3. iterasyonda 1. örnek ağa tekrar gösterilir.

NET: w1* x1 + w2* x2 = 1*1 + 1,5*0 = 1

NET>φ olduğundan gerçekleşen çıktı Ç=1 olacaktır. Ç=B2 olduğundan ağırlıklar

değiştirilmez. 4. iterasyonda 2. örnek ağa tekrar gösterilir.

NET: w1* x1 + w2* x2 = 1*0 + 1,5*1 = 1,5

NET>φ olduğundan gerçekleşen çıktı Ç=1 olacaktır. Ç≠B2 olduğundan ağırlıklar

w1 = w1 - λ*x1 = 1-0,5*0=1

w2 = w2 - λ*x2 = 1,5-0,5*1=1

5. iterasyonda 1. örnek ağa tekrar gösterilir.

NET: w1* x1 + w2* x2 = 1*1 + 1*0 = 1

NET>φ olduğundan gerçekleşen çıktı Ç=1 olacaktır. Ç=B1 olduğundan ağırlıklar

değiştirilmez. 6. iterasyonda 2. örnek ağa tekrar gösterilir.

NET: w1* x1 + w2* x2 = 1*0 + 1*1 = 1

NET>φ olduğundan gerçekleşen çıktı Ç=1 olacaktır. Ç≠B2 olduğundan ağırlıklar

w1 = w1 - λ*x1 = 1-0,5*0=1

w2 = w2 - λ*x2 = 1-0,5*1= 0,5

Page 50: Nsg Ders Notu

40

7.iterasyonda 1. örnek ağa tekrar gösterilir.

NET: w1* x1 + w2* x2 = 1*1 + 1*0 = 1

NET>φ olduğundan gerçekleşen çıktı Ç=1 olacaktır. Ç=B1 olduğundan ağırlıklar

değiştirilmez. 8. iterasyonda 2. örnek ağa tekrar gösterilir.

NET: w1* x1 + w2* x2 = 1*0 + 0,5*1 = 0,5

NET>φ olduğundan gerçekleşen çıktı Ç=1 olacaktır. Ç≠B2 olduğundan ağırlıklar

w1 = w1 - λ*x1 = 1-0,5*0= 1

w2 = w2 - λ*x2 = 0,5-0,5*1= 0 9.iterasyonda 1. örnek ağa tekrar gösterilir.

NET: w1* x1 + w2* x2 = 1*1 + 1*0 = 1

NET>φ olduğundan gerçekleşen çıktı Ç=1 olacaktır. Ç=B1 olduğundan ağırlıklar

değiştirilmez. 10. iterasyonda 2. örnek ağa tekrar gösterilir.

NET: w1* x1 + w2* x2 = 1*0 + 0*1 = 0

NET>φ olduğundan gerçekleşen çıktı Ç=1 olacaktır. Ç≠B2 olduğundan ağırlıklar

w1 = w1 - λ*x1 = 1-0,5*0= 1

w2 = w2 - λ*x2 = 0-0,5*1= -0,5 11.iterasyonda 1. örnek ağa tekrar gösterilir.

NET: w1* x1 + w2* x2 = 1*1 + (-0,5)*0 = 1

NET>φ olduğundan gerçekleşen çıktı Ç=1 olacaktır. Ç=B1 olduğundan ağırlıklar

değiştirilmez. 12. iterasyonda 2. örnek ağa tekrar gösterilir.

NET: w1* x1 + w2* x2 = 1*0 + (-0,5)*1 = -0,5

NET>φ olduğundan gerçekleşen çıktı Ç=1 olacaktır. Ç≠B2 olduğundan ağırlıklar

w1 = w1 - λ*x1 = 1-0,5*0= 1

w2 = w2 - λ*x2 = -0,5 - 0,5*1= -1

Page 51: Nsg Ders Notu

41

13.iterasyonda 1. örnek ağa tekrar gösterilir.

NET: w1* x1 + w2* x2 = 1*1 + (-0,5)*0 = 1

NET>φ olduğundan gerçekleşen çıktı Ç=1 olacaktır. Ç=B1 olduğundan ağırlıklar

değiştirilmez. Adım 4

Yukarıdaki ilk üç adım, bütün girdi setindeki örnekleri için doğru sınıflandırmalar yapılıncaya

kadar tekrar edilir. 14.iterasyonda 1. örnek ağa tekrar gösterilir.

NET: w1* x1 + w2* x2 = 1*0 + (-1)*1 = -1

NET=φ olduğundan gerçekleşen çıktı Ç=0 olacaktır. Ç=B1 olduğundan ağırlıklar

değiştirilmez.

Bundan sonra her iki örnek de doğru olarak sınıflandırılır. Öğrenme sonunda ağırlıklar;

w1=1 w2=-1

değerlerini alıca örnekler doğru sınıflandırılabilir demektir. Bu ağırlık değerleri kullanılarak

iki örnek tekrar ağa gösterilirse ağın çıktıları şöyle olur.

NET: w1* x1 + w2* x2 = 1*1 + (-1)*0 = 1 > φ Ç1=1 = B1

NET: w1* x1 + w2* x2 = 1*0 + (-1)*1 = -1 = φ Ç2=1 = B2

Görüldüğü gibi, her iki örnek içinde ağ tarafından doğru sınıflandırma yapılmaktadır. O

nedenle, ağ öğrenmeyi tamamlamıştır denilebilir. 8.12.3 Adaline

1959’da, Stanford üniversitesinden Bernard Widrow, basit nöron benzeri elemanlara dayanan

ve “Adaline” (Adaptive Linear Nöron) olarak adlandırılan bir adaptif lineer elemanı

geliştirmiştir. Adaline yapısı tüm sinir ağlarının en basitidir ve öğrenme için

danışmanlı öğrenmeyi kullanır. Adaline ve iki tabakalı biçimi olan “madaline” (Multiple

Adaline); ses tanıma, karakter tanıma, hava tahmini ve adaptif kontrol gibi çok çeşitli

uygulamalar için

kullanılmıştır. Daha sonraları adaline, ayrık bir çıkış yerine sürekli bir çıkış üretmek için

Page 52: Nsg Ders Notu

42

geliştirilmiştir. Widrow, telefon hatları üzerindeki ekoları elimine etmeye yarayan

adaptif filtreleri geliştirmede, adaptif lineer eleman algoritmasını kullanmıştır. Bununla

ilk defa YSA’lar gerçek bir probleme uygulanmıştır. Adaline bir çok uygulama için

oldukça iyi çalışmasına rağmen lineer problem uzayıyla sınırlıdır. Lineer transfer

fonksiyonu kullanırlar. Giriş ve istenilen çıkış desenlerinin tekrar tekrar ağa

uygulanmasıyla eğitim gerçekleştirilir. Desenlerin doğru sınıflara ayrılmasıyla, hatalar

minimize edilerek öğrenme gerçekleştirilir. Eğitimden sonra adaline, yeni girişleri

kazandığı deneyime göre sınıflandırabilir. Adeline Ünitesinin Öğrenme Kuralı

Adeline ünitesinin öğrenme kuralı, YSA’lardaki geneler öğrenme prensibine göre

çalışmaktadır. Girdilerden çıktılar hesaplanır ve ağırlıklar çıktıya göre

değiştirilir. ADELİNE ünitesinin net girdisi Net ve çıktısı (Ç) aşağıdaki formül ile

hesaplanmaktadır.

NET = ƒ wi xi + φ

Eğer NET>=0 çıktı (Ç)=1

Eğer NET>=0 çıktı (Ç)=-1 Çıktı hesaplandıktan sonra, ADELİNE ünitesinin hatası aşağıdaki formül ile hesaplanır.

E=B-Ç

olacaktır. Amaç, bu hatayı en aza indirecek ağırlıkları bulmaktır. Bunun için ağa her seferinde

farklı örnekler gösterilerek hatalar hesaplanmakta ve ağırlıklar hatayı azaltacak

şekilde değiştirilmektedir. Zaman içinde hata, olması gereken en küçük değere

düşmektedir. Bu hatayı azaltmak için kullanılan kural şu formül ile gösterilmektedir. Wy = We + α*E*Xi

Her hangi bir t a anında,

Wi (t)= Wi (t-1) + α*E*Xi olacaktır. Wi (t) : Ağırlıkların t zamanındaki değerleri

Wi (t-1) : Ağırlıkların t zamanındaki değerleri

α : Öğrenme katsayısı

B : Beklenen Çıktı

Page 53: Nsg Ders Notu

E : Beklenen değer ile çıktı arasındaki hata

X : Girdiler Benzer şekilde, eşik değerinin zaman içindeki değeri de

φy= φe + α (B-Ç)

formülü ile hesaplanır.

Örneğin;

X1=(1,0) : Bu örneğin beklenen çıktısı Ç1=-1

X2=(1,0) : Bu örneğin beklenen çıktısı Ç1= 1

43

X1 W1 NET

ÇIKTI

X1 W2

φ1 Bu problemi çözmek için 2 girdisi olan bir ADELİNE ünitesi tasarlanacaktır. Öğrenmenin

amacı, problemin girdilerini doğru sınıflandıracak ağırlık değerleri ve eşik değerlerini

bulmaktır. Problemin çözümü için ağırlık değerleri ve eşik değeri başlangıçta rastgele alınacaktır.

W1 = 0.3 W2 = 0.2 α = 0.5 φ = 0.1

Birinci İterasyon

Bu iterasyonda öncelikle birinci girdi vektörünün ağa gösterilmesi sonucu ağın çıktısı

hesaplanır. NET=0.3*1 + 0.2*0 + 0.1 = 0.4

0.4>0 olduğundan, Ç=1 olur. Ç≠B olduğundan, ağın ağırlıklarının değiştirilmesi gerekir.

Page 54: Nsg Ders Notu

44

Beklenen ile gerçekleşen çıktılar arasındaki hata E=B-Ç=-1-1= -2 olarak hesaplanır.

Ağın yeni değerleri aşağıdaki gibi hesaplanır.

Wy = We + α*E*Xi

Wy =[0.3,0.2] + 0.5*(-2) [1,0]

Wy =[0.3,0.2] + -1 [1,0]

Wy =[0.3-1,0.2-0] = [-0.7,0.2]

Benzer şekilde eşik değer ünitesinin yeni ağırlığı da aşağıdaki gibi hesaplanır.

φy = φe + α (B-Ç)

φy = 0.1 + 0.5*(-2) = -0.9 İkinci İterasyon

NET=-0.7*0 + 0.2*1 - 0.9 = -0.9

-0.9<0 olduğundan, Ç=-1 olur. Ç≠B olduğundan, ağın ağırlıklarının değiştirilmesi gerekir.

Beklenen ile gerçekleşen çıktılar arasındaki hata E=B-Ç=1- (-1)= 2 olarak hesaplanır.

Ağın yeni değerleri aşağıdaki gibi hesaplanır.

Wy = We + α*E*Xi

Wy =[-0.7,0.2] + 0.5*(2) [1,0]

Wy =[-0.7,0.2] + [0,1]

Wy =[-0.7+0,0.2+1] = [-0.7,1.2]

Benzer şekilde eşik değer ünitesinin yeni ağırlığı da aşağıdaki gibi hesaplanır.

φy = φe + α (B-Ç)

φy = -0.9 + 0.5*(2) = 0.1 Üçüncü İterasyon

NET=-0.7 + 0*0.1 = 0.6

0.6<0 olduğundan, Ç=-1 olur. Ç=B olduğundan ağın sınıflandırması doğrudur, ağırlıklarda

değişiklik yapılmaz. Çünkü E=0 olacaktır.

Page 55: Nsg Ders Notu

45

Dördüncü İterasyon

NET= 0 + 1.2+0.1 = 1.3

1.3>0 olduğundan, Ç=1 olur. B=Ç olduğundan ağın sınıflandırması doğrudur.

Ağ iki örneği de doğru sınıflandırdığına göre öğrenme tamamlanmıştır. Ağırlıkların ve eşik

değerinin aşağıdaki gibi olması sonucu ağ bu örnek için sınıflandırıcı olarak kullanılabilir.

Wy = [-0.7,1.2]

φy = 0.1 8.12.4 Çok Katlı Algılyıcılar ÇKA (Multi Layer Perceptron MLP)

Girdi ile çıktı arasındaki ilişkinin doğrusal olmadığı bir problemi, ADELINE ile

çözmek mümkün olamamıştır. Özellikle, Minsky, basit algılayıcı modelin bu

probleme çözüm getirmediğini göstermiş

ve YSA’ların doğrusal olmayan problemlerin çözümünde

kullanılamayacağını iddia etmiştir. Çünkü günlük hayatta karşılaşılan problemlerin

hemen hepsi doğrusal olmayan nitelik taşımaktadır. Bu durum, YSA ile ilgili yapılan

bilimsel araştırmaların pek çoğunun durmasına neden olmuştur. Birkaç araştırmacının

çalışmalarına devam ederek YSA nın doğrusal olmayan problemlerin de çözümünde

kullanıldığını göstermeleri ile YSA ile ilgili çalışmalar tekrar hız kazanmıştır.

Doğrusal olmayan bir ilişki gösteren XOR problemini çözmek amacıyla yapılan

çalışmalar sonucunda Çok Katmanlı Algılayıcı modeli geliştirilmiştir. Rumelhart ve

arkadaşları tarafından geliştirilen bu modele hata yayma modeli veya geriye

yayılım modeli (backpropogation network) de denilmektedir. ÇKA modeli yapay sinir

ağlarına olan ilgiyi çok hızlı bir şekilde arttırmış ve YSA tarihinde yeni bir dönem

başlatmıştır. Bu ağ modeli özellikle mühendislik uygulamalarında en çok kullanılan sinir

ağı modeli olmuştur. Bir çok öğretme algoritmasının bu ağı eğitmede kullanılabilir

olması, bu modelin yaygın kullanılmasının sebebidir.

Bir ÇKA modeli, bir giriş, bir veya daha fazla ara ve bir de çıkış katmanından oluşur.

Bir katmandaki bütün işlem elemanları bir üst katmandaki bütün işlem elemanlarına

bağlıdır. Bilgi akışı ileri doğru olup geri besleme yoktur. Bunun için ileri beslemeli sinir

ağı modeli olarak adlandırılır. Giriş katmanında herhangi bir bilgi işleme yapılmaz.

Buradaki işlem elemanı sayısı tamamen uygulanan problemlerin giriş sayısına bağlıdır. Ara

katman sayısı ve

ara katmanlardaki işlem elemanı sayısı ise, deneme-yanılma yolu ile bulunur. Çıkış

Page 56: Nsg Ders Notu

katmanındaki eleman sayısı ise yine uygulanan probleme dayanılarak belirlenir. Delta

Öğrenme Kuralını kullanan bu ağ modeli, özellikle sınıflandırma, tanıma ve genelleme

yapmayı gerektiren problemler için çok önemli bir çözüm aracıdır.

ÇKA modelinin temel amacı, ağın beklenen çıktısı ile ürettiği çıktı arasındaki hatayı en aza

indirmektir. Bu ağlara eğitim sırasında hem girdiler hem de o girdilere karşılık

üretilmesi gereken (beklen) çıktılar gösterilir (danışmanlı öğrenme). Ağın görevi her girdi

için o girdiye karşılık gelen çıktıyı üretmektir. Örnekler giriş katmanına uygulanır, ara

katmanlarda işlenir

ve çıkış katmanından da çıkışlar elde edilir. Kullanılan eğitme algoritmasına göre, ağın çıkışı

ile arzu edilen çıkış arasındaki hata tekrar geriye doğru yayılarak hata minimuma düşünceye

kadar ağın ağırlıkları değiştirilir.

46

şekil 12 - ÇKA Ağ Modeli 8.12.5 Radyal Tabanlı Sinir Ağı

Katmanlı YSA’ nın tasarımında eğiticili geriye yayılım öğrenme algoritması bir en iyileme

uygulamasıdır. Ara katmandaki işlemci elemanlar girişlerin ağırlıklandırılmış şeklini

Page 57: Nsg Ders Notu

kullanmamakta ve ara katmandaki işlemci elemanların çıkışları YSA girişleri ile

temel fonksiyonun merkezi arasındaki uzaklığa göre belirlenmektedir. Radyal tabanlı

fonksiyon ağı tasarımı ise çok boyutlu uzayda eğri uydurma yaklaşımıdır ve bu nedenle

RTFA’ nın eğitimi, çok boyutlu uzayda eğitim verilerine en uygun bir yüzeyi bulma

problemine dönüşür. RTFA’ nın genellemesi ise test verilerini interpole etmek amacıyla,

eğitim sırasında bulunan çok boyutlu yüzeyin kullanılmasına eşdeğerdir. Radyal tabanlı

fonksiyonlar, sayısal analizde çok değişkenli interpolasyon problemlerinin çözümünde

kullanılmış ve YSA’ nın gelişmesi ile birlikte bu fonksiyonlardan YSA tasarımında

yararlanılmıştır. RTFA, ileri beslemeli YSA yapılarına benzer şekilde giriş, orta ve çıkış

katmanından oluşur ancak, giriş katmanından orta katmana dönüşüm, radyal tabanlı

aktivasyon fonksiyonları ile doğrusal olmayan sabit bir dönüşümdür. Orta katmandan

çıkış katmanına ise uyarlamalı ve doğrusal bir dönüşüm

gerçekleştirilir.

şekil. 13 Radyal tabanlı fonksiyon ağı Burada, ara katman işlemci elemanları, lineer yapıdaki bir çıkış katmanına bütünüyle

bağlantılıdır.

47

Ik= X − ck =

2 N

ƒ ( X i − cki ) i =1

ile ifade edilir.

2

Nöronun çıkış değeri ise, vk

− Ik

= e σ k formülü ile hesaplanır. Ck: Ağırlıklar

σk: Genişlikler

Page 58: Nsg Ders Notu

48

RTFA’da uyarlanabilecek serbest parametreler; merkez vektörleri, radyal fonksiyonların

genişliği ve çıkış katman ağırlıklarıdır. Çıkış katmanı doğrusal olduğundan ağırlıklar,

eğim düşme yada doğrusal en iyileme yöntemleri ile kolayca bulunabilir. Merkezler,

girişler arasından rastgele ve sabit olarak seçilebilmekle birlikte RTFA’nın performansını

iyileştirmek amacıyla merkez vektörlerinin ve genişliğin uyarlanması için çeşitli yöntemler

geliştirilmiştir. Merkez vektörleri, eğim düşme yöntemine göre eğiticili öğrenme

algoritması ile uyarlanarak, dik en küçük kareler yöntemi ile, yada kendiliğinden

düzenlemeli yöntemle giriş örneklerinden öbekleme yapılarak belirlenebilir.

8.12.6 LVQ (Learning Vector Quantisation)

LVQ ağı 1984 yılında Kohonen tarafında geliştirilmiştir. Bazı modellerde eğitim

sırasında ağa hem girdi değerleri hem de o girdi değerleri için üretilecek çıktı değerlerinin

ne olması gerektiği verilir. Fakat bazı durumlarda, ağa çıktının ne olduğunu vermek

mümkün olmamaktadır. Yalnızca ağın üretmiş olduğu çıktının doğru veya

yanlış olduğu belirtilebilmektedir. Destekleyici öğrenme olarak belirlenen bu yöntemi

kullanan modellerin

bir tanesi de, doğrusal vektör parçalama modeli olan LVQ modelidir. Sınıflandırma problemi

için geliştirilmiş olan LVQ modelinin temel felsefesi, n boyutlu bir vektörü bir

vektörler setine haritalamaktır.

şekil 14, üç kattan oluşan LVQ ağını göstermektedir. Bu tabakalar, giriş, gizli tabaka ve çıkış

tabakasıdır. LVQ ağı, giriş ve gizli tabaka arasında tamamen, gizli ve çıkış tabakası arasında

da kısmen bağlıdır. Her çıkış işlemci elemanı farklı bir gizli işlemci eleman

kümesine bağlıdır. Gizli ve çıkış işlemci elemanları arasındaki ağırlıklar 1’e sabitlenmiştir.

LVQ ağının eğitilmesindeki amaç, her iterasyonda girdi vektörüne en yakın referans

vektörünü bulmaktır. Referans vektörleri, Kohonen katmanındaki proses elemanlarını girdi

katmanındaki proses elemanlarına bağlayan ağırlık değerleridir. Giriş-gizli işlemci

eleman bağlantılarının ağırlıkları “referans” vektörlerinin elemanlarını oluşturur (her

gizli işlemci elemana bir referans vektör atanmıştır). Ağın öğretilmesi esnasında

bunlar yeniden değerler alırlar. Öğrenme esnasında sadece referans vektörlerin ağırlık

değerleri değiştirilir. Hem gizli

işlemci elemanlar (bunlar Kohonen işlemci elemanları olarak da bilinir) hem de çıkış

işlemci elemanları ikili (binary) çıkışa sahiptir. Ağa bir giriş deseni verildiğinde

referans vektörü, giriş desenine en yakın olan gizli işlemci eleman kümesi “1”, diğerleri

“0” üretir. “1” üreten

çıkış işlemci elemanı giriş işaretini sınıflar ve her işlemci eleman ayrı bir sınıfa atanmıştır

Page 59: Nsg Ders Notu

ş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

Page 60: Nsg Ders Notu

50

5.Adım: 2. Adıma git ve yeni eğitime giriş vektörünü gir. İşlemi bütün eğitim seti

doğru olarak sınıflandırıncaya (veya herhangi kabul edilebilir bir hata seviyesine

ulaşıncaya) kadar devam ettir.

8.12.6.1 Ceza Mekanizmalı LVQ

LVQ’nun bu versiyonu, 1988 yılında DeSieno tarafından tanıtılmıştır. Burada amaç,

değerleri her zaman aktif değil iken, çok sık kazanma eğiliminde olan bir nöronun sık sık

kazanma problemini ortadan kaldırmak için bir mekanizma sunmuşlardır. Çünkü çok

sık kazanan nöronlar ağın esnekliğini bozmaktadır ve diğer ağırlık vektörleri referans olma

niteliklerini kaybetmektedirler. Bu ceza mekanizması ile, çok sık kazanan bir nörona bir

“ceza değeri” vererek giriş vektörü ile arasındaki mesafeyi arttırıp cezalandırma işlemini

gerçekleştirmektir. Böylelikle sık sık kazanan nöronun kazanma şansı azaltılmış olur.

8.12.6.2 LVQ2

Bu sürüm Kohonen tarafından geliştirilmiş olup, sınırlarda meydana gelen

yanlış sınıflandırmayı azaltmak için tasarlanmıştır. LVQ2, LVQ yapısı veya ceza

mekanizmalı LVQ yapısından kabul edilebilir bir sonuç elde edildikten sonra uygulanır. Giriş vektörü X ağa uygulandığı zaman, kendisine yakın iki referans vektörü W`1 ve

W`2 dikkâte alınır. Öğretme algoritması sırayla eğiştirilir. W`1 ve W`2 yi değiştirir. Bu

değiştirme işlemi;

° W`1 yanlış kategoride ve W`2 doğru kategoride ise ve

° Giriş vektörü X, W`1 ve W`2 arasında yerleştirilen bir pencerenin içerisindedir. Burada değiştirilen referans vektörleri Yeni W`1 ve Yeni W`2 aşağıdaki gibi elde edilebilir.

Yeni W`1 =W`1-λ(X- W`1 )

ve

Yeni W`2 =W`2-λ(X- W`2 )

Page 61: Nsg Ders Notu

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

Page 62: Nsg Ders Notu

52

Hopfield Ağı, bir nöronun matematiksel basitleştirilmiş halinin nasıl büyük sinir

ağlarının davranış analizlerine izin verdiğini açıklamaktadır. Bütün bir sinirsel mimarinin

bir özelliği üzerindeki birimlerin aktivasyonlarındaki değişikliklerin matematiksel

olarak etkisini karakterize etmeye enerji denir, Hopfield (1982) lokal etkileşimler ile

global davranışlar arasında önemli bağlantıyı sağlamaktadır.

Ağ N birime sahip olsun ve bunlar 1 den N‘e numaralanmış olsun. i. birimden j.birime

olan bağlantının ağırlığı 1≤i, j≤N için wij dir. Tüm i=1,...N için hiçbir birimin kendine

olan bağlantısı yoktur, wii = 0 . i. birimden j. birime olan bağlantının ağırlığı, j. birimden i.

birime olan bağlantının ağırlığına eşit olduğundan , wij = wji.

Her birimin onunla bütünleşmiş bir eşik değeri vardır. Eşik, diğer birimlerden olan

girişlere cevabında birimin durumundaki değişimi belirler i. birimin eşiğini Qi ile gösteririz.

M tane örnek desenimiz olsun: p1,... pm. Herbirinin N elemanı vardır, böylelikle i=1,....,M için

M

i i ƒpi=( p1 ,..., p N )’dir. Ağırlıkları 1≤i, j≤N, i≠j için wij= k kp i p j k =1

formülü ile hesaplanır.

t anında i. birimin durumu μi(t), i=1,...N olsun. (x1,..., xN)’in giriş deseni olsun.

μi(0)= x1, i=1,....,N eşitliğini sağlayarak ağa giriş deseni yüklenir.

Ağı çalıştırmak için, birbirini izleyen anlarda aşağıdaki formülü kullanarak birimlerin

durumları hesaplanır.

M

μi(t+1)=f ( ƒ wij μ j (t ) − θ i ) j =1, j ≠i

i=1,...N ve t=1,2...

birimlerin binary çıkışlara sahip olduğu durumlarda, f basamak fonksiyonudur: eğer x < 0 ise

f(x) = -1 ve eğer x > 0 ise f(x) = 1.

N

Eğer, ( ƒ wij μ j (t ) − θ i ) = 0 j =1, j ≠i

bir sigmoid fonksiyondur.

ise birimin durumu değişmez. Sürekli durumda f , [a,b] sınırlı

Page 63: Nsg Ders Notu

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

Page 64: Nsg Ders Notu

şekil 16 Jordan Ağı 8.12.9 Kohonen Ağı

Kohonen ağı, bir giriş tabakası ve bir de çıkış tabakası olmak üzere iki tabakadan

oluşur. Çıkış tabakasındaki işlemci elemanlar genellikle düzenli iki boyutlu

aralıklar olarak düzenlenir. Çıkıştaki her işlemci eleman, bütün giriş işlemci

elemanlarına bağlıdır. Bağlantıların ağırlıkları verilen çıkış işlemci elemanı ile ilgili

olan referans vektörünün elemanlarını oluşturur.

Kohonen ağının öğrenme adımları aşağıdaki gibidir.

Adım 1: Çıkış İE’lerin bütün referans vektörlerini küçük rasgele değerlere çek,

Adım 2: Bir giriş desenini al,

Adım 3: Kazanan çıkış işlemci elemanını belirle. (Bunu yaparken, Kohonen katmanındaki

bütün proses elemanlarının NET girdileri hesaplandıktan sonra bunların en büyüğüne sahip

olan proses elemanı yarışmayı kazanan eleman olarak belirlenir. Bu elemanın çıktısı 1,

54

Page 65: Nsg Ders Notu

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

Page 66: Nsg Ders Notu

8.12.10 ART (Adaptive Resonance Theory) 8.12.10 ART (Adaptive Resonance Theory)

ART ağları, Grosberg’in 1976 yılında biyolojik beynin fonksiyonlarına yönelik olarak yaptığı

çalışmalar neticesinde ortaya çıkmıştır. Geliştirilen danışmanız öğrenme ağlarının

geliştirilmesine de temel olmuştur. ART ağları, memeli hayvanların beyinlerinin

çalışma prensipleri dikkate alınarak geliştirilmiştir. Beyinin kullandığı sezgisel

yaklaşımları matematik bir modele dönüştürmelerinden dolayı da bu ağlar oldukça

yoğun bir ilgi görmüştür. ART ağları sınıflandırma problemleri için geliştirilmiş ve

başarılı bir şekilde kullanılabilen bir yöntem olarak bilim dünyasında kabul

görmüştür. LVQ ağları da sınıflandırma problemi için geliştirilmiştir. ART ağlarının

LVQ ağlarından temel farkı, yapılacak olan sınıflandırma ile ilgili olarak ağa herhangi

bir bilgi verilmemesidir. ART ağlarının bilim dünyasında kabul görmesinin sebeplerinden

birisi, bu ağların yapısal olarak insan beyninin davranışları ve sinir sistemi hakkında

bilinen bulgular üzerinde kurulmuş olmasıdır.

ART ağları, Grosberg’in 1976 yılında biyolojik beynin fonksiyonlarına yönelik olarak yaptığı

çalışmalar neticesinde ortaya çıkmıştır. Geliştirilen danışmanız öğrenme ağlarının

geliştirilmesine de temel olmuştur. ART ağları, memeli hayvanların beyinlerinin

çalışma prensipleri dikkate alınarak geliştirilmiştir. Beyinin kullandığı sezgisel

yaklaşımları matematik bir modele dönüştürmelerinden dolayı da bu ağlar oldukça

yoğun bir ilgi görmüştür. ART ağları sınıflandırma problemleri için geliştirilmiş ve

başarılı bir şekilde kullanılabilen bir yöntem olarak bilim dünyasında kabul

görmüştür. LVQ ağları da sınıflandırma problemi için geliştirilmiştir. ART ağlarının

LVQ ağlarından temel farkı, yapılacak olan sınıflandırma ile ilgili olarak ağa herhangi

bir bilgi verilmemesidir. ART ağlarının bilim dünyasında kabul görmesinin sebeplerinden

birisi, bu ağların yapısal olarak insan beyninin davranışları ve sinir sistemi hakkında

bilinen bulgular üzerinde kurulmuş olmasıdır.

ART ağının, ART-1, ART-2, Fuzzy-ART, MART gibi değişik çeşitleri vardır. ğekil18’de ikili

girişler kabul eden ART-1 gösterilmiştir. ART-2 gerçek değerler kabul etmektedir. ğekil

ART ağının, ART-1, ART-2, Fuzzy-ART, MART gibi değişik çeşitleri vardır. ğekil18’de ikili

girişler kabul eden ART-1 gösterilmiştir. ART-2 gerçek değerler kabul etmektedir. ğekil

18’de görüldüğü gibi, ART-1 ağının giriş ve çıkış olmak üzere iki tabakası vardır. İki

tabaka birbirleriyle tamamen bağlantılıdır ve bağlantılar ileri ve geri yöndedir. i.nci çıkış

işlemci elemanlarının ileri yöndeki bağlantılarının ağırlıklarının oluşturduğu Wi vektörü,

temsil ettiği sınıfın bir örneğini oluşturur. İleri bağlantılarının Wi vektörlerinin toplamı ART

ağının uzun- dönem (long-term) hafızasını oluşturur. Bu vektörler, giriş desenine

benzerlikleri ölçüsünde, çıkış işlemci elemanlarını belirlerler. Çıkış işlemci

elemanlarının geri bağlantılarının Wi vektörleri ise, giriş deseninin, hafızadaki desenine

yeterince benzeyip benzemediğini (o sınıfa

18’de görüldüğü gibi, ART-1 ağının giriş ve çıkış olmak üzere iki tabakası vardır. İki

tabaka birbirleriyle tamamen bağlantılıdır ve bağlantılar ileri ve geri yöndedir. i.nci çıkış

işlemci elemanlarının ileri yöndeki bağlantılarının ağırlıklarının oluşturduğu Wi vektörü,

temsil ettiği sınıfın bir örneğini oluşturur. İleri bağlantılarının Wi vektörlerinin toplamı ART

ağının uzun- dönem (long-term) hafızasını oluşturur. Bu vektörler, giriş desenine

benzerlikleri ölçüsünde, çıkış işlemci elemanlarını belirlerler. Çıkış işlemci

elemanlarının geri bağlantılarının Wi vektörleri ise, giriş deseninin, hafızadaki desenine

yeterince benzeyip benzemediğini (o sınıfa

ait olup olmadığını) kesin olarak belirlemek için bir çeşit test “vigilance” amacıyla

kullanılır. Bu test vektörleri diyebileceğimiz Vi vektörleri ART ağının kısa-dönem

(short-term) hafızasını oluştururlar. Wi, Vi’nin normalize edilmiş halidir.

ait olup olmadığını) kesin olarak belirlemek için bir çeşit test “vigilance” amacıyla

kullanılır. Bu test vektörleri diyebileceğimiz Vi vektörleri ART ağının kısa-dönem

(short-term) hafızasını oluştururlar. Wi, Vi’nin normalize edilmiş halidir.

i =W W = Vi

ε + ƒ v ji burada ε küçük bir sabittir ve Vji, Vi’nin j’inci elemanıdır (yani i’inci İE’den j’inci giriş İE’na

bağlantı ağırlığıdır).

56

Page 67: Nsg Ders Notu

şekil 18: ART-1 ağı

57

Page 68: Nsg Ders Notu

58

8.12.11 Olasılık Tabanlı YSA

Olasılık tabanlı YSA yapıları 1990 yılında Donald Specht tarafından önerilmiştir. Bu tip

sinir ağları da bir çok sınıflandırma probleminin çözümünde kullanılmaktadır. Bu yapı,

giriş, patern, toplama ve çıkış olmak üzere dört katmandan oluşur. Giriş nöron sayısı

diğer ağlarda olduğu gibi problem giriş sayısına bağlıdır. Arakatman sayısı ise, örnek sayısı

kadardır. Saklı katmanda bulunan veri işleme elemanları K toplam mevcut sınıfı göstermek

üzere K alt gruba ayrılır. Her veri işleme elemanı karşı geldiği sınıfı ifade eden bir Parzen

penceresini gösterir. Sahip olduğu ağırlık değeri söz konusu pencerenin ağırlık merkezini

ifade eder. Toplama katındaki nöron sayısı, çıkış sayısının bir fazlasıdır. OTY yapılarında

öğrenme hızlıdır ve az sayıdaki veri ile etkin olarak kullanılabilirler. Buna karşı, OTY

yapıları hafızayı yoğun olarak kullanırlar. Kompleks veri kümeleri kullanıldığında ve kısmen

de bu veriler bir sınıflandırma yarıçapı kullanılarak azaltıldığında problemlerle

karşılaşılabilir.

8.13 YSA Öğrenme Algoritmaları Yapay sinir ağının geliştirilmesinde kullanılacak çok sayıda öğrenme

algoritması bulunmaktadır. Bunlar içinde bazı algoritmaların bazı tip uygulamalar için daha

uygun olduğu bilinmektedir.

8.14 Temel Öğrenme Kuralları

Literatürde kullanılan çok sayıda öğrenme algoritması bulunmaktadır. Bu algoritmaların

çoğunluğu matematik tabanlı olup ağırlıkların güncelleştirilmesi için kullanılırlar. Yapay

sinir ağının mimarisine, karşılaşılan sorunun niteliğine göre farklılık gösteren bu

öğrenme algoritmalarının yüzden fazla çeşidi bulunmaktadır. Bu algoritmaların bir

çoğu aşağıda sırlanan kurallardan esinlenerek geliştirilmiştir.

° Hebb Kuralı

° Delta Kuralı

° Kohonen Kuralı

° Hopfield Kuralı 8.14.1 Hebb Kuralı

1949 yılında Kanadalı psikolog Donald Hebb tarafından biyolojik temele dayalı olarak

geliştirilmiş olan Hebb algoritması en eski ve en ünlü öğrenme algoritmasıdır. Bu öğrenme

Page 69: Nsg Ders Notu

algoritması basit bir mantığa dayanmaktadır: Eğer nöron (A) başka bir nöron' dan (B)

girdi alıyorsa ve her ikisi de aktifse, (A) ve (B) arasındaki ağırlık artar. Bu düşüncenin

en çok kullanılan şekli:

Δ wjk =α.yj.xk

(t) (t+1) (t) Burada Δwjk=Δwjk = wjk - wjk ve Δ > 0 dır (t=zaman). Bu formülde wjk nöron uk' den nöron uj' ya olan ağırlık, yj,,uj nöronun çıktısı ve xk ise uk

nöronun çıktısıdır. α "öğreneme oranı" veya " öğrenme katsayısı" olarak adlandırılmaktadır

ve birçok öğrenme algoritması tarafından kullanılır. Öğrenme katsayısı "0" ile "1" arasında bir

değer alır ve bu değer ağın öğrenme hızını belirler. α 'nın büyük değerleri için daha hızlı

öğrenme, küçük değerleri için daha yavaş öğrenme gerçekleşmektedir. Ancak hızlı

öğrenme ağın "genelleme" yeteneğini azaltır. Genelleme yeteneği ağın eksik ve gürültülü

verilerle doğru sonuçlar üretebilmesi için oldukça önemlidir. Hebb algoritmasıyla ilgili

bir diğer konuda ağın eğitimden önce ağırlıklarının 0 olması gerektiğidir.

8.14.2 Delta Kuralı

Delta kuralı ilk olarak Widrow ve Hoff tarafından geliştirilmiş daha çok

mühendislik kökenli bir algoritmadır. Bu kural, nöronun gerçek çıkışı ile istenilen

çıkış değerleri arasındaki farkı azaltan, giriş bağlantılarını güçlendiren ve sürekli

olarak değiştiren bir düşünceye dayanmaktadır. Delta kuralı, ortalama karesel hatayı,

bağlantı ağırlık değerlerinin değiştirilmesi ile düşürme prensibine dayanır. Bu nedenle de

bu algoritma en küçük kareler kuralı olarak da bilinmektedir (Least-Mean-Square Rule

LMS). Hata aynı anda bir katmandan

bir önceki katmanlara geri yayılarak azaltılır. Ağın hatalarının düşürülmesi işlemi, çıkış

katmanından giriş katmanına ulaşıncaya kadar devam eder. Bir nöronun çıktısının yj, hedeflenen çıktı dj'den farkı,(hata), δj nöron j için şöyle hesaplanır:

δj= dj-yj

Bu algoritma, hata karelerinin ortalamasını alarak, bu değerin en küçük olduğu çözümü

bulmaya amaçlar. Ağ için hata karelerinin ortalaması ξ, aşağıdaki gibi hesaplanır:

»

59

1ξ = Ε… ÿ ƒδ 2 Ÿ

… 2 j

Page 70: Nsg Ders Notu

60

=

Burada E istatistiksel olarak beklenen değeri (ortalamayı) ifade etmektedir.

Delta algoritması hataların karesinin en küçük olduğu noktayı bulurken dereceli azaltma

yöntemini (gradient descent) kullanmaktadır. Bu yöntemde, hata kareleri, koordinatlarını

ağırlıkların oluşturduğu uzayda bir çanak oluşturmaktadır (ğekil 19). Delta

algoritması mevcut ağırlık vektörünü bulunduğu konumdan hatanın en küçük olduğu

çanağın dibine

doğru ilerletir.

Hatların Karesi

Ağırlık y

İdeal vektör Mevcut ağırlık vektörü Delta vektörü

Ağırlık x

ğekil 19-Delta algoritmasında ağırlık değişimi

İşlem elemanının doğrusal geçiş fonksiyonuna sahip olduğu kabul edildiğinde;

yj = ƒ w jk xk k

Hata karelerinin ortalamasının en küçük olduğu noktayı bulmak için ağırlıklar t=zaman olmak

üzere t=1,2,3,.., için aşağıdaki gibi değiştirilir: wij

(t+1) wij

(t) + Δwij

Δwij =α. j

(t).xk(t)

Page 71: Nsg Ders Notu

61

8.14.3 Kohonen Kuralı Bu kural, biyolojik sistemlerdeki öğrenmeden esinlenerek Kohonen tarafından

geliştirilmiştir. Bu kuralda nöronlar öğrenmek için yarışırlar. Kazanan nöronun

ağırlıkları güncellenir. Bu kuralı “kazanan tamamını alır” olarak da bilinir. En büyük çıkışa

sahip işlemci nöron kazanır. Bu nöron, komşularını uyarma ve yasaklama kapasitesine

sahiptir. Kohonen kuralı, hedef çıkışa gereksinim duymaz. Bu nedenle danışmansız bir

öğrenme metodudur.

8.14.4 Hopfield Kuralı

Bu kural, zayıflatma ve kuvvetlendirme büyüklüğü dışında Hebb Kuralına benzerdir.

Eğer istenilen çıkış ve girişin her ikisi aktif veya her ikisi de aktif değilse öğrenme oranı

tarafından bağlantı ağırlığı arttırılır. Diğer durumlarda ise azaltılır. Birçok öğrenme

algoritmasında öğrenme katsayısı oranı veya sabiti vardır. Genellikle bu terim 0 ile 1

arasında değerler almaktadır.

8.15 Öğrenme Algoritmaları

8.15.1 Geriyayılım Algoritması

Yapay sinir ağları belki de en çok tahmin amacıyla kullanılmaktadır. Tahmin için

kullanılan yapay sinir ağları içinde de en yaygın olarak kullanılanı geriyayılım algoritmasıdır.

Geriyayılım algoritması ileri beslemeli ve çok katmanlı bir ağ mimarisini gerektirmektedir.

Geriyayılım Algoritması, YSA’lar açısından en önemli tarihsel gelişmelerden biridir.

Geriyayılım algoritması veya bir başka adıyla Genelleştirilmiş Delta Algoritması uygulamada

en çok kullanılan öğretme algoritmasıdır. Hata, ağdaki ağırlıkların bir fonksiyonu olarak

görülür ve hataların kareleri ortalaması delta kuralında olduğu gibi dereceli azaltma (gradient

descent) yöntemi kullanılarak, minimize edilmeye çalışılır. Bu algoritma, hataları

çıkıştan girişe geriye doğru azaltmaya çalışmasından dolayı geriyayılım ismini almıştır.

Geriyayılım algoritması, ÇKA’ları eğitmede en çok kullanılan temel bir öğrenme

algoritmasıdır. Eğitme işlemi ve eğitimden sonraki test işlemi bu akışa göre

gerçekleştirilir.

Geri yayılım algoritması, gözetmenli öğrenme yöntemini kullanılır. Örnekler ağa

öğretilir ve ağa hedef değeri verilir. Öğrenme, her örnek için ağın çıktı değeri ile hedef

değerinin ile karşılaştırılır. Hata değeri, ağa tekrar geri besleme şeklinde verilir. Örnek

Page 72: Nsg Ders Notu

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

Page 73: Nsg Ders Notu

ş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

Page 74: Nsg Ders Notu

durdurmak, ağın ezberlemesini önler. Gizili katman sayısını belirlemenin hızlı bir yolu

yoktur. Bunu belirlemek için benzer veri seti kullanılmış tecrübelerden faydalanılabilir. 8

Geri yayılım algoritmasının bir dezavantajı, yakınsama hızının yavaş olması ve yerel en

iyi çözümlerde durabilmedir. Bunu gidermek için literatürde

değişik çözüm yolları geliştirilmiştir. Bunlardan biriside YSA’nın

Tabu Algoritması ile eğitilmesidir. Çözüm uzayında bir hareket elde etmek için, ağırlık

kümesindeki tüm ağırlıkları değiştirmek yerine, ağırlıklardan sadece birini değiştirerek

çözüm uzayının daha detaylı aranması amaçlanmıştır. 9 Arıca Ç.Alabaş ve B.Denigiz’in Tabu Arama Algoritması ile Yapay Sinir Ağlarının Eğitimi

konulu bu makalesinde, değiştirilecek olan ağırlığın alacağı yeni değer rassal olarak

seçilse de, tabu listesinde kayıtlı olan önceki örneklerden belli bir dereceye kadar farklı

olması kısıtı konmuştur. Böylelikle kontrollü bir rassallık kullanılmıştır. Ağırlıkları taşıyan

ok numaraları

da tabu listelerinin oluşturulmasında kullanılmıştır.

Öğrenme algoritması olarak geriyayılım algoritması seçildiğinde iki parametre önem

kazanmaktadır. Bunlar öğrenme katsayısı η, (learning rate) ve momentum terimidir α’dır. Bu

algoritma ile i ve j kat işlem elemanları arasındaki ağırlıklardaki Δwij(t) değişikliği

hesaplanır.

Bu ifade; Δwij(t) = η.δj.xi+ αΔwij(t-1) ( Eşitlik 1)

olarak verilir.

η: Öğrenme katsayısıdır. Öğrenme katsayısı, ağırlıkların bir sonraki düzeltmede hangi oranda

değiştirileceğini göstermektedir. Küçük öğrenme katsayıları, ağın sonuca

ulaşmasını yavaşlatır. Büyük öğrenme katsayıları, ağın sonuca daha kısa sürede

ulaşmasını sağlar. Bununla birlikte çok yüksek oranlar ağın hesaplamalarında büyük

salınımlara neden olur ve ağın dip noktayı bulmasını engelleyebilir. Öğrenme katsayısı için

tipik değerler 0,01 ile 0,9

arasında değişir. Karmaşık ve zor çalışmalar için küçük öğrenme katsayıları seçilmesi önerilir.

8 S.P.Curram, J.Minger, 1994, Neural Networks, Decision .Tree Induction and Discriminant Analysis: Embrical Comprasion, p.442 9 Ç.Alabaş, B.Dengiz, 2002,Tabu Arama Algoritması ile Yapay Sinir Ağlarının Eğitimi

64

Page 75: Nsg Ders Notu

α : Momentum katsayısıdır. momentum terimi, ağdaki salınımları engellemeye ve ağın hata

yüzeyindeki bölgesel minimum noktalardan kaçarak, daha dip noktalara ulaşmasına

yardımcı olur. Optimal öğrenme oranı ve momentum teriminin belirlenmesi büyük ölçüde

deneysel ve sezgisel bir özellik taşır. Ayrıca bu parametreler büyük ölçüde ilgilenilen sorun

alanına bağlı olarak değişiklik gösterir.

δj : Ara veya çıkış katındaki herhangi bir j nöronuna ait bir faktördür. Çıkış katı için bu faktör

aşağıdaki şekilde verilir.

65

j

t

j δj= ∂f ∂netj

( y (t ) − y )

(Eşitlik 2) Burada,

netj = ƒ x j w ji ve y j ise j işlemci elemanının hedef çıkışıdır. Ara katlardaki nöronlar için ise

bu faktör;

(Eşitlik 3)

olarak verilir. Ara katlardaki İE’ler için herhangi bir hedef çıkış olmadığından, eşitlik 2 yerine

eşitlik (3) kullanılır. Bu duruma bağlı olarak çıkış katından başlayarak δj faktörü,

bütün katlardaki İE’ler için hesaplanır. Daha sonra eşitlik (1)’deki formüle bağlı olarak,

bütün bağlantılar için ağırlıkların güncelleştirilmesi gerçekleştirilir. 8.15.2 Delta-Bar-Delta

Delta-Bar-Delta (DBD) çok katmanlı algılayıcılarda bağlantı ağırlıklarının yakınsama hızını

arttırmak için kullanılan bir sezgisel yaklaşımdır. Deneysel çalışmalar, ağırlık uzayının

her boyutunun tüm hata yüzeyi açısından tamamen farklı olabileceğini göstermiştir.

Hata yüzeyindeki değişimleri açıklamak için, özellikle ağın her bağlantısı kendi

öğrenme katsayısına sahip olmalıdır. Her bir bağlantıya bir öğrenme katsayısı atanırsa ve bu

öğrenme katsayısı zamanla değişirse, yakınsama zamanını azaltılır ve daha çok

serbestlik derecesi

sağlanmış olur.

Page 76: Nsg Ders Notu

İ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

Page 77: Nsg Ders Notu

orantılı olarak azalır. Bu öğrenme oranının güncelleştirilmesi aşağıdaki eşitlikle

tanımlanmıştır.

Burada, k öğrenme katsayısı artma faktörünü, ϕ öğrenme katsayısı azaltma faktörünü, α(k) k

anındaki öğrenme oranını göstermektedir. Eşitlik (2.10)’dan görülebileceği gibi

algoritma, öğrenme katsayılarını lineer olarak artırmakta, fakat geometrik olarak

azaltmaktadır.

8.15.3 Geliştirilmiş Delta Bar Delta

Genişletilmiş Delta-Bar-Delta (GDBD) öğretme algoritması, eğitmede belirli bir anda epoch

genel hatayı hesaplayarak hata düzeltme özelliğine sahiptir. Belirli bir andaki (ya da herhangi

bir anda) ölçülen hata, bir önceki anda bulunan hatadan büyük ise ağın ağırlıkları bir önceki

ağırlık değerlerini alır. Daha iyi sonuçlar elde etmek için hata düzeltme özelliğine dayanıklılık

(patience) faktörü eklenmiştir. Her peryotdaki (epoch) hatayı test etmek yerine daha

önce iyileştirilme işlemi yapıldığından hata, n peryotda test edilir. GDBD’nin

DBD’den farkı aşağıda özetlenmiştir.

° Sezgisel momentum kullanılır.

° Ağırlık uzayında büyük atlamalar ortadan kaldırılmıştır.

° Geometrik azaltma büyük (amacı aşan) atlamaları engellemede yeterince hızlı

olması

° şeklinde özetlenir. GDBD’de, her bir bağlantıdaki momentum hızı μ(k) ve öğrenme hızı α(k) zamanla

değişmektedir. DBD ile karşılaştırmak için standart delta kuralı ile verilen momentum için

bağlantı ağırlıklarının değiştirilmesi

değerinin ağırlıklara katkısıyla

67

Page 78: Nsg Ders Notu

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

Page 79: Nsg Ders Notu

Dikkat edilmelidir ki, öğrenme ve momentum hızları, onların azalması ve artmasını kontrol eden farklı sabitlere sahiptir.

δ δ(k)’nın işareti sezgisel olarak artma mı yoksa azalma mı

olduğunu tespit etmek için kullanılır. Azalmanın ayarlanması DBD’nin kurallarına göre

belirlenir. Ancak öğrenme ve momentum katsayılarının arttırılması | δ (k)| ‘nın üstel azalan

fonksiyonu olarak değiştirilir. Böylece, küçük eğimli bölgelerde, büyük eğimli bölgelere

nazaran daha büyük artırımlar yapılabilecektir. Bu, atlama problemi için kısmi bir çözümdür.

Ağırlık uzayında, osilasyonları ve aşırı atlamaları engellemek için, üst sınırlar her bir bağlantı

öğrenme hızları ve momentum hızları üzerinde belirlenir. Matematiksel ifadesi, tüm

bağlantılar için aşağıdaki gibidir.

ve μ(k)≤ μmax gibidir. Burada, αmax öğrenme katsayısının üst sınırı ve μmax ise momentum katsayısının üst sınırıdır.

Sonuç olarak, GDBD algoritmasına düzeltme özellikli bir hafıza yerleştirilmiştir.

Kullanıldığı zaman, eğitme datalarının sunumu her iterasyondan sonra, hata değerlendirilir.

Hata, E(k), bir önceki minimum hatadan küçük ise ağırlıkları o anki en iyiler olarak

hafızada saklanır. Düzeltme tolerans parametresi λ, düzeltme sürecini kontrol eder. O

andaki hata önceki

minimum hatayı aşarsa, yani

olursa, tüm bağlantı ağırlıkları, hafızada saklı olan en iyi değerlerle değiştirilir. Ayrıca,

öğrenme ve momentum hızları, düzeltmeyi başlatmak için azaltılır. 8.15.4 Hızlı Yayılım (QuickProp)

Hızlı yayılım (Quickprop) algoritması, Scott Fahlman tarafından Carbegie Mellon

Üniversitesi’nde geliştirilen ve Newton metoduna dayanan, çok katlı algılayıcıların

eğitilmesi için kullanılan bir sezgisel öğretme algoritmasıdır.

Sezgisel algoritmalar, tecrübeye ve eğitilmiş tahmine dayalı kurallar içermektedir.

Bu algoritmalar optimum çözümü garanti edemeyip sadece ona yakın çözümü bulmayı

garanti etmektedir.

69 Sezgisel metotları kullanmanın sağladığı bazı avantajlar şöyle özetlenebilir.

Page 80: Nsg Ders Notu

70

° Sezgisel metotlar karar verici mekanizma için sadeleştirici olabilir.

° Sezgisel metot, herhangi bir tam yöntemin parçası olarak öğrenme amacıyla

kullanılabilir.

° Gerçek dünya problemleri için her zaman matematiksel formülasyon kurmak çok

kolay olmayabilir. Bu basitleştirme sonucu oluşan hata, bir sezgisel

metodun sağladığı optimale yakın çözümün sahip olduğu hatadan

daha büyük olabileceğidir.

Problem uzayında mümkün olan en kısa sürede, bir çözüm bulmak için ağırlık uzayında eğimi

(gradient) son derece küçük azaltmak gerekebilir. Bunun yerine çözümden fazla

uzaklaşmaksızın mümkün olan en büyük adımlarla kısa sürede çözüme ulaşmak arzu

edilir. Hata fonksiyonunun eğim derecesi biliniyorsa, güvenli bir şekilde ağırlık

uzayında daha büyük adımla çözüme ulaşılabilir. Bu algoritmada iki geleneksel

yaklaşım birleştirilerek çözülmüştür. Bunlar;

° Hesaplamanın geçmişteki durumu hakkında bazı sezgilere dayanan (genel veya

her bir ağırlık için ayrı) dinamik olarak ağırlıkların ayarlanması.

° Her bir ağırlığa göre hatanın ikinci türevinin belirgin kullanımı Hızlı yayılım algoritması bir ikinci dereceli metoddan daha sezgiseldir ve çok az da olsa

Newton-metoduna dayanan bu metotta iki kabul kullanılır.

° Her bir ağırlık için, ağırlık hata eğrisi kolları yukarı doğru açık olan bir parabol

ile yaklaştırılabilir.

° Hata eğrisinin eğilimindeki değişim, diğer tüm ağırlıkların aynı andaki

değişiminden etkilenmez.

Yukarıda bahsettiğimiz parabol, birbirinden bağımsız her bir ağırlık için şimdiki ve

önceki hata eğimleri ve bu eğimlerin ölçüldüğü noktalar arasındaki değişim kullanılarak

belirlenir. Daha sonra, algoritma doğrudan bu parabolün minimum noktasına atlar.

Genellikle hızlı yayılım algoritmasının performans testleri diğer tekniklerle

karşılaştırıldığında oldukça iyidir. Bu algoritma, özellikle gürültü seviyesi az olan

dataya sahip problemlerde, GDBD kadar iyi sonuç vermektedir. Hızlı yayılım algoritması

gürültü seviyesi fazla olan datalı problemlerde çok iyi çalışır ancak gürültülü dataların

bulunduğu

problemlerde GDBD kullanılmalıdır.

Page 81: Nsg Ders Notu

Bu algoritmada ağırlık hızlandırma ve kırpılması ihmal edilerek t-1 den t’ye kadar

ağırlıklardaki değişim,

formülü ile elde edilir. Burada ε öğrenme katsayısı ve α ise momentum katsayısıdır.

ve

71

eşitlikleri ile verilir. Bu ifadelerde;

μ momentum büyüme faktörü h(t)=

∂E ∂w(t )

eğimi ve

ise minimum adım miktarını göstermektedir. Buradan ağırlık fonksiyonunu güncelleştirmek

için, delta ağırlık fonksiyonu ve ağırlık hızlandırma katsayısı işleme katılır.

Burada δ hızlandırma katsayısıdır. Son olarak ağırlık çok küçük ise, 0 alınarak kırpılır.

|w(t)|< κ ise w(t)=0 alınır. burada, κ ağırlık kırpılma faktörüdür.

8.15.5 Genetik Algoritma

Genetik algoritmalar (GA), araştırma ve optimizasyon algoritmaları olup, canlılardaki doğal

gelişim prensibine dayanmaktadırlar. Probobilistik karakterleri ve çoklu mümkün çözümleri

Page 82: Nsg Ders Notu

72

araştırma gibi önemli özelliklere sahip olmaları ve amaç (objective)

fonksiyonunun gradyentinin bilinmesine ihtiyaç duymamaları en önemli

avantajlarındandır. Genler ve

kromozonlar doğal olarak türler ile ilgili bilgileri saklarlar. Bir GA’da potansiyel çözümler ile

ilgili bilgiler, diziler (string) şeklindeki sayılarla ifade edilirler. Genetik algoritmanın

akış şeması, ğekil 21’de gösterilmiştir. ğekilden de açıkça görülebileceği gibi,

optimizasyonun başlangıcında, çoğunlukla rasgele olarak, bir sayı üretme jeneratörü

tarafından bir grup çözüm üretilir. Başlangıçta iyi bir yaklaşık çözüm için, herhangi bir

bilgiye ihtiyaç duyulmaması GA’ nın diğer bir avantajıdır. Başlangıç yoğunluğunun

üretilmesini takiben, her çözümün uygunluğu veya iyiliği, seçilen bir uygunluk

fonksiyonu kullanılarak değerlendirilir. Uygunluk fonksiyonu, eldeki veriler dikkate

alınarak belirlendiği için, bunun seçimi probleme bağlıdır.

Uygunluk ölçekleme işlemi, bazen daha iyiyi seçmek için elde edilen iyi çözümlerden daha

iyi çözümlere kadar devam ettirilen bir işlemdir. Seçme, çaprazlama ve mutasyon gibi

genetik operatörler, elde edilen iyi çözümlerden denenmiş yeni çözümler üretmek için

kullanılırlar. Bu iyileştirme işlemi, daha önceden belirlenen bir jenerasyon sayısına veya

tatmin edici bir sonuca ulaşıncaya kadar devam ettirilir.

Page 83: Nsg Ders Notu

şekil 21 Genetik algoritmanın akış şeması GA, ağ çıkışının hesaplanması için gerekli olan optimum ağırlıkların elde

edilmesinde kullanılmıştır. Bu her bir ağırlık, wji’nin bir bit dizisi şeklinde

sıralanması ve sıraların tamamen bit dizileri şeklinde ifade edilmesiyle kolayca

uygulanabilir. Sıraların veya bit dizilerinin uygunluğu toplam hataların karelerinin E(w)

toplamının tersi olarak ifade edilir.

Eşiklikte E(w) amaç hata fonksiyonu olup m başlangıç hata terimleri ei2(w) aşağıdaki gibidir.

(2.26)

Burada dir.

73

Page 84: Nsg Ders Notu

74

Çaprazlamadan Önce Çaprazlamadan Sonra Çözüm 1 : 1 0 1 1 1 1 1 0 0 1 1 0 1 1 1 1 Yeni Çözüm 1: 1 0 1 1 1 1 1 0 1 1 1 1 1 0 0 0

Çözüm 2: 1 1 0 0 0 1 1 0 1 1 1 1 1 0 0 0 Yeni Çözüm 2: 1 1 0 0 0 1 1 0 0 1 1 0 1 1 1 1

(a)

Mutasyondan Önce Mutasyondan Sonra 1 0 1 1 1 1 1 0 0 1 1 0 1 1 1 0 1 0 1 1 1 1 0 0 0 1 1 0 1 1 1 0

(b)

şekil 2.13: (a) Çaprazlama ve (b) Mutasyon operatörleri.

Page 85: Nsg Ders Notu

75

SONUÇ YSA’ların az veriyle öğrenebilmeleri veya genelleme yapabilmeleri YSA’ları bir çok

probleme uygulanması için cazip kılmaktadır. Bunun sebebi ise, deneysel olarak fazlaca veri

elde etmenin maliyeti arttırmasıdır.

YSA lara doğrusal olmama özelliği kazandıran ve bu sayede bir çok farklı probleme

uygulama yaklaşımı sunması YSA ların diğer bir üstün özelliğidir. Bu sayede bir çok

problemin çözümüne uygulanabilmektedir.