Вы находитесь на странице: 1из 108

EGE NVERSTES FEN BLMLER ENSTTS

(YKSEK LSANS TEZ)

GRSEL YAZILIM GELTRME ORTAMI LE


BERABER BR YAPAY SNR AI KTPHANES
TASARIMI VE GEREKLETRM

Ahmet Cumhur KINACI

Bilgisayar Mhendislii Anabilim Dal

Bilim Dal Kodu : 619.01.00

Sunu Tarihi : 10.08.2006

Tez Danman : Yrd. Do. Dr. Aybars UUR

BORNOVA ZMR
III

Ahmet Cumhur KINACI tarafndan YKSEK LSANS TEZ olarak


sunulan Grsel Yazlm Gelitirme Ortam ile Beraber Bir Yapay Sinir
A Ktphanesi Tasarm ve Gerekletirimi balkl bu alma E..
Fen Bilimleri Enstits Eitim ve retim Ynergesinin ilgili
hkmleri uyarnca tarafmzdan deerlendirilerek savunmaya deer
bulunmu ve 10.08.2006 tarihinde yaplan tez savunma snavnda aday
oybirlii/oyokluu ile baarl bulunmutur.

Jri yeleri: mza

Jri Bakan : Yrd. Do. Dr. Aybars UUR ..................

Raportr ye : Do. Dr. Mustafa M. NCEOLU ..................

ye : Yrd. Do. Dr. Muhammet G. CNSDKC ..................


V

ZET

GRSEL YAZILIM GELTRME ORTAMI LE BERABER BR


YAPAY SNR AI KTPHANES TASARIMI VE
GEREKLETRM

KINACI, Ahmet Cumhur

Yksek Lisans Tezi, Bilgisayar Mhendislii Blm

Tez Yneticisi: Yrd. Do Dr. Aybars UUR

Austos 2006, 90 sayfa

Yapay zeka konusu bilgisayar biliminin douuyla birlikte zerinde


allan bir konu olmutur. nsan gibi dnen, problem zebilen
yazlm ve donanm gelitirmenin gnlk hayatta karlalan bir ok
sorunun zmnde kullanlabilecei dnlmtr. Yapay sinir alar
bu anlamda yapay zeka konusu ierisinde nemli bir yere sahiptir. nsan
beyninin kolaylkla zebildii bir ok problemin zmnde baaryla
uygulanmaktadr.

Bu tez almasnda Alglayc, ADALINE, geriye yaylma, SOM


ve LVQ renme algoritmalarn destekleyen bir yapay sinir a
ktphanesi gelitirilmitir. Ayrca bu ktphanenin yazlm gelitirme
srecinde zahmetsizce kullanlmasn salayan bir grsel gelitirme arac
da gerekletirilmitir. Platform bamszl ve geni kullanc kitlesine
sahip olmas zelliklerinden dolay, gelitirme ortam olarak Java tercih
edilmitir.

Anahtar szckler: Yapay sinir alar, yazlm ktphanesi, yazlm


mhendislii, grsel yazlm gelitirme ortam, Java
VII

ABSTRACT

DESIGN AND IMPLEMENTATION OF AN ARTIFICIAL


NEURAL NETWORK LIBRARY WITH VISUAL
DEVELOPMENT ENVIRONMENT

KINACI, Ahmet Cumhur

MSc. in Computer Engineering

Supervisor: Assistant Prof. Dr. Aybars UUR

August 2006, 90 pages

Artificial intelligence has been a topic studied on since beginning


of computer science. It's been thought that developing hardware and
software that able to think and solve problems like human do, can be
helpful in dealing most of the daily problems. In that sense, artificial
neural networks is very important in artificial intelligence. It's applied
successfully on the problems that the human mind can easily solve.

In that work, an artificial neural network software library, which


has Perceptron, ADALINE, backpropagation, SOM and LVQ learning
algorithms , has been developed. Also, a visual development
environment, which enables to easily use the library in software
development process, has been implemented. For development
environment Java was chosen, because of it's platform independence and
wide user community.

Keywords: Artificial neural networks, software library, software


engineering, visual software development environment, Java
IX

TEEKKR

Tezin hazrlanma srecindeki deerli katklarndan dolay tez


danmanm Yrd. Do. Dr. Aybars Uura teekkr bir bor bilirim.
Eitimim konusunda bana her trl destei veren aileme de ok teekkr
ederim.
XI

NDEKLER

ZET........................................................................................................V

ABSTRACT...........................................................................................VII

TEEKKR............................................................................................IX

EKLLER DZN.............................................................................XIV

KISALTMALAR.................................................................................XVII

1. GR ...................................................................................................1

2. YAPAY SNR ALARI.......................................................................3

2.1 Yapay Sinir Alar Nedir?............................................................3

2.2 Biyolojik Sinir Alar ....................................................................4

2.3 Yapay Sinir Hcresi Temel Elemanlar.......................................6

2.4 Belli Bal YSA Mimarileri............................................................9

2.5 Yapay Sinir Alar ve Geleneksel Hesaplama Yntemleri ......11

2.6 YSA'nn Avantajlar ve Dezavantajlar.....................................12

2.7 YSA'nn Kullanm Alanlar........................................................12

3. YAPAY SNR AI MODELLER VE RENME


ALGORTMALARI................................................................................14

3.1 McCulloch-Pitts Sinir Hcresi....................................................14

3.2 Hebb Kural..................................................................................14

3.3 Alglayc (Perceptron).................................................................15


3.3.1 Alglayc renme Algoritmas ............................................16
3.3.2 Alglayc renme Kural Yaknsama Teoremi ...................17

3.4 ADALINE ve Delta Kural .........................................................17


XII

3.5 ok katmanl Alglayclar..........................................................20

3.6 Geriye Yaylma Algoritmas (Backpropagation)......................23


3.6.1 Geriye Yaylma Algoritmasnn Uygulanmas.......................25

3.7 Geri Dnml (Recurrent) Alar...........................................27


3.7.1 Jordan A...............................................................................27
3.7.2 Elman A...............................................................................28
3.7.3 Hopfield A...........................................................................29

3.8 Rekabete Dayal veya Rekabeti (Competitive) renme......30


3.8.1 Kmeleme ve Rekabeti renme.........................................31
3.8.2 Kohonen SOM........................................................................33
3.8.3 SOM renme Algoritmas : .................................................34
3.8.4 Vektr Nicemleme (Vector Quantization)..............................36
3.8.5 Learning Vector Quantization (LVQ) ....................................37
3.8.6 LVQ renme Algoritmas....................................................38
3.8.7 Counterpropagation.................................................................39

3.9 Uyarlamal Rezonans Kuram (Adaptive Resonance Theory) 40


3.9.1 ART1.......................................................................................41

4. LGL ALIMALAR......................................................................45

4.1 SNNS ............................................................................................45

4.2 FANN............................................................................................48

4.3 JOONE..........................................................................................49

4.4 Matlab Neural Network Toolbox...............................................56

5. GELTRLEN YAZILIMIN TASARIMI ve GEREKLETRM


.................................................................................................................58

5.1 Ktphaneyi Oluturan Paketler...............................................58

5.2 Ktphanenin Kullanmna Bir rnek: XOR..........................64


XIII

5.3 Grsel Gelitirme Arac...............................................................66


5.3.1 Eclipse Tmleik Gelitirme Ortam.......................................67
5.3.2 EMF (Eclipse Modeling Framework).....................................68
5.3.3 GEF (Graphical Editing Framework).....................................71
5.3.4 GMF (Graphical Modeling Framework).................................71
5.3.5 Yapay Sinir A Grsel Gelitirme Ortam.............................72

5.4 Gelitirilen Arala rnek Bir Uygulama Gelitirme Sreci....77

5.5 Ktphane zellikleri Karlatrmas......................................80

5.6 Ktphane Performans Karlatrmas....................................81

5.7 Yapay Sinir Alarn renme Arac........................................83

6. SONULAR VE TARTIMALAR.....................................................86

KAYNAKLAR DZN............................................................................88

ZGEM............................................................................................90
XIV

EKLLER DZN

ekil 2.1 Biyolojik sinir hcresi...............................................................5

ekil 2.2 Yapay sinir hcresi ...................................................................7

ekil 2.3 rnek aktivasyon fonksiyonlar................................................9

ekil 2.4 Tek katmanl a.......................................................................10

ekil 2.5 ok katmanl ileri beslemeli a...............................................10

ekil 2.6 Geri dnml a..................................................................11

ekil 3.1 McCulloch-Pitts hcresi..........................................................14

ekil 3.2 Alglayc..................................................................................16

ekil 3.3 Eik fonksiyonu ......................................................................16

ekil 3.4 ADALINE................................................................................18

ekil 3.5 XOR tablosu.............................................................................20

ekil 3.6 AND,OR ve XOR problemlerinin geometrik gsterimi..........21

ekil 3.7 Lojistik fonksiyonlarn genel grnts ...............................22

ekil 3.8 Tek gizli katmana sahip ok katmanl alglayc...................23

ekil 3.9 Jordan a................................................................................28

ekil 3.10 Elman a...............................................................................29

ekil 3.11 Hopfield a...........................................................................30

ekil 3.12 Rekabete dayal renme a................................................31

ekil 3.13 SOM ann yaps.................................................................34

ekil 3.14 kt katmann zgara eklindeki grnts .......................34

ekil 3.15 rnek Voronoi blgeleri........................................................36


XV

ekil 3.16 LVQ ann yaps..................................................................37

ekil 3.17 Counterpropagation..............................................................39

ekil 3.18 ART1 yaps............................................................................42

ekil 4.1 SNNS grafik arabirimi XGUI.................................................47

ekil 4.2 JavaNNS..................................................................................47

ekil 4.3 JOONE grafik tabanl dzenleyicisi ......................................51

ekil 4.4 Matlab Neural Network Toolbox kullanc arayz..............56

ekil 5.1 Ktphaneyi oluturan paketler.............................................59

ekil 5.2 algoritmalar paketi..................................................................59

ekil 5.3 aralar paketi...........................................................................60

ekil 5.4 fonksiyonlar paketi..................................................................61

ekil 5.5 temel paketi..............................................................................62

ekil 5.6 temel.cka paketi.......................................................................63

ekil 5.7 veri paketi.................................................................................64

ekil 5.8 Eclipse tmleik gelitirme ortam..........................................68

ekil 5.9 Ecore st modeli......................................................................70

ekil 5.10 Ecore veri tipleri ve Java'daki karlklar...........................70

ekil 5.11 Oluturulan EMF modeli......................................................72

ekil 5.12 Yapay sinir a grsel dzenleyicisi .....................................73

ekil 5.13 Yapay sinir a grsel elemanlar paleti................................74

ekil 5.14 Yapay sinir a grsel elemanlar.........................................74

ekil 5.15 A elemanlarnn zellikler penceresi..................................75


XVI

ekil 5.16 Geriye yaylma algoritmas eitim penceresi........................76

ekil 5.17 SOM eitim penceresi............................................................76

ekil 5.18 Grsel olarak an oluturulmas.........................................78

ekil 5.19 ysa ve algo uzantl dosyalar..................................................78

ekil 5.20 Oluturulan an eitimi ......................................................79

ekil 5.21 Karlatrma tablosu.............................................................80

ekil 5.22 Eitim sreleri.......................................................................82

ekil 5.23 Eitim srelerinin grafiksel olarak gsterimi......................83

ekil 5.24 Yapay sinir a renme arac..............................................84

ekil 5.25 renme algoritmas admlar..............................................85

ekil 5.26 Sinir hcresi zerinde uygulanan ilem...............................85

ekil 5.27 Hcre ve balant bilgisi pencereleri....................................85


XVII

KISALTMALAR

ADALINE : Adaptive Linear Neuron

ART : Adaptive Resonance Theory

EMF : Eclipse Modeling Framework

FANN : Fast Artificial Neural Network Library

GEF : Graphical Editing Framework

GMF : Graphical Modeling Framework

JOONE : Java Object Oriented Neural Engine

LVQ : Learning Vector Quantization

SNNS : Stuttgart Neural Network Simulator

SOM : Self-Organizing Map

YSA : Yapay Sinir Alar


1

1. GR

Zeka zellikleri tayan yazlmlar gerekletirme istei bilgisayar


biliminin gelimesi sresince hedeflenen amalardan olmutur. Bu ama
iin bir ok yaklam ve teknik gelitirilmitir. Bunlarn hepsi birlikte
yapay zeka bilim daln oluturur. Yapay zeka konusu altndaki balca
konular saylacak olursa; uzman sistemler, bulank mantk, genetik
algoritmalar ve yapay sinir alarndan sz edilebilir.

Geleneksel yazlmlarla zeki yazlmlar kyaslandnda balca iki


fark grlr. Birincisi, geleneksel yazlmlar programlanan koullara gre
hareket edip, bu snrlar dna kamazken zeki yazlmlar ise
bilmedikleri durumlara da bir ekilde cevap retebilirler. kinci olarak
ise, zeki yazlmlarn renme yeteneinin olmas ve bylece srekli
olarak kullanld problemin zm iin kendini iyiletirmesidir.

Yapay zeka gelitirmede temelde iki farkl yaklam olduu


sylenebilir. lk yaklam, bilinen zeki varlklarn zekasn taklit etmekle
yapay zekann gerekletirilebilecei eklindedir. kincisi ise makineleri
zekiletirmek iin makinelere has teknikler gelitirilmesi gerektiini
syleyen yaklamdr.

Yapay sinir alar, insan beyninin alma mantnn bilgisayar


ortamna tanmasn amalar. Biyolojik sinir alarnn yetenekleri bu
sayede, geleneksel programlama yntemleriyle zm zor olan
problemler iin kullanlabilir.

Yapay sinir alarnn kullanld problemler genel olarak insann


zmekte zorlanmad ancak bilgisayarlarla zm ok zor olan
problemlerdir. rnek verilecek olunursa; yz tanma, karakter tanma,
tahminleme, grnt ileme gibi problemler saylabilir.
2

Yapay sinir alar teknii uyguland problemlerdeki baars


nedeniyle yapay zeka konusu altnda nemli bir yere sahiptir. Ancak bu
baarl teknik, yazlm gelitirme srecinde problem zmede ok
kullanlamamtr. Bunun balca nedenleri ise, yapay sinir alarnn
renilmesinin ve kullanlmasnn bilgisayar bilimindeki dier problem
zme tekniklerine kyasla zor olmas ve yazlm gelitirme srecine
dorudan entegrasyonu salayacak aralarn mevcut olmamas veya
yetersiz olmasdr.

Bu almada, yapay sinir alarnn yazlmlara eklenebilmesi iin


kolay kullanlabilir bir yazlm ktphanesi, nesne ynelimli
programlama yaklamyla gelitirilmitir. Ayrca, gelitirilen
ktphaneyi kullanarak yazlmlara bu tekniin eklenmesini salayan
grsel gelitirme arac da gerekletirilmitir.

Blm 2'de yapay sinir alar hakknda genel bilgi verilmitir.


Blm 3'de belli bal sinir a modelleri ve renme algoritmalar
anlatlmtr. Blm 4'de bu almayla ilgili benzer almalar
deerlendirilmitir. Gelitirilen yazlm hakknda detayl bilgiler Blm
5'de verilmitir.
3

2. YAPAY SNR ALARI

2.1 Yapay Sinir Alar Nedir?

Yapay sinir alar (YSA), rneklerden renme, bilgiyi


genelletirebilme, paralel alma gibi zellikleri sayesinde veri ileme
arac olarak gnmzde bir ok alanda kullanlmaktadr. Yapay sinir
alar bir bilgi ileme teknolojisidir.

Yapay sinir alar gnmzde kullanlan bilgi ileme


yaklamlarndan tamamen farkl bir yaklamdr. Bu hesaplama
tekniinin, desen tanmlama, robot kontrol ve bilgi kazanc gibi eitli
adresleme problemlerinde daha etkin olduu kantlanmtr (Kohonen,
1988).

Karmak bir yapya sahip olan yapay sinir alarn analiz etmek ve
iinde neler olduunu anlamak olduka zordur. Buna benzer bir baka
sorun ise yapay sinir alar konusunu renme aamasnda yaanlan
zorluklardr. ok boyutlu vektr uzaylar arasndaki ilikilerin, renen
tarafndan aklda canlandrlmas gtr. Bu yzden yapay sinir alarnn
grselletirilmesi, konunun renilmesinde yararl olmaktadr.

Yapay sinir alar, insan beyninin alma mantnn bilgisayar


ortamna aktarlmasn ve bylece geleneksel programlama yntemleriyle
gerekletirimi olduka zor veya mmkn olmayan biyolojik sinir
alarnn yeteneklerinin kullanlmasn salar (Fausett, 1994).

nsan beyninin alma prensipleri nda ortaya kan yapay sinir


alar gcn insan beyninin iki temel zellii olan; paralel datk
yapsndan ve renme sonucunda genelleyebilme yeteneinden alr.

Teknik olarak, bir yapay sinir ann en temel grevi, kendisine


gsterilen bir girdi setine karlk gelebilecek bir kt seti belirlemektir.
4

Bunu yapabilmesi iin a, ilgili olayn rnekleri ile eitilerek (renme)


genelleme yapabilecek yetenee kavuturulur. Bu genelleme ile benzer
olaylara karlk gelen kt setleri belirlenir. A oluturan temel
elemanlarn bilgileri ileme yetenekleri ve birbirleri ile balantlarnn
ekilleri deiik modelleri oluturmaktadr (Haykin, 1999).

2.2 Biyolojik Sinir Alar

nsan beyni yaklak olarak 10 milyar sinir hcresine (nron)


sahiptir. Ortalama olarak her sinir hcresi 10000 balantyla dier sinir
hcrelerine baldr. Beynin bu sinir hcrelerinden oluan a yaps
muazzam bir bilgi ileme sistemi oluturur. Beynin bu zellii, tek
ilemciye sahip ve ayn anda sadece tek ilem yapabilen geleneksel
bilgisayarlar ile belirgin bir farkllk oluturur. Buna karn temel
ilemleri geekletirme srelerine bakacak olursak; sinir hcreleri en
fazla 100 Hz hznda alrken, geleneksel bir Merkezi lem nitesi
(CPU) saniyede yz milyonlarca ilem yapabilme kapasitesine sahiptir.
Donanmsal olarak dk bir hza sahip olarak grnse de, beynin ok
nemli yetenekleri vardr:
Blgesel hasarlar sonras almaya devam edebilir. Buna karn
bir ok yazlm, rastgele baz ksmlar karldnda ounlukla
ilevselliini kaybeder.
Tecrbeyle renebilir, kendini yeniden ekillendirebilir.

ok sayda hesaplamay paralel ve olduka etkin bir ekilde


gerekletirir. rnein, karmak bir grsel alglamay 100 mili
saniyenin altnda yapabilir.
Hatal verilere ramen doru sonu retebilir.
5

Beyin homojen yapda deildir. En byk anatomik lekte beyin 4


blme ayrlr; korteks, orta beyin, beyinsap ve beyincik. Bu her blm
de kendi iinde, gerekletirdii ileme veya sahip olduu sinir a
yapsna gre farkl blgelere ve alanlara ayrlabilir.

nsan beynindeki bir sinir hcresi kabaca ksmdan (ekil 2.1)


oluur :
Dendrit

Hcre gvdesi (Soma)

Akson

ekil 2.1 Biyolojik sinir hcresi

Sinir hcreleri birbirlerine sinaps denilen oluumlarla baldr.


Sinaps; bir hcrenin akson sonuyla dier hcrenin dendrit ksmlarnn
birletikleri noktadr. Bir sinir hcresi dendritleri araclyla kendisine
bal dier hcrelerden sinyalleri alr. Bu sinyaller veya bir dier deyile
girdiler, hcre gvdesinde birletirilir. Eer bu girdiler toplam belli bir
kritik deeri aarsa hcre gvdesinden akson boyunca ilerleyen ve
nihayetinde bal olduu dier sinir hcrelerine ulaan bir elektrik atm
oluur. Bir hcreden gelen sinyalin nemi, yani sinyallerin birletirilmesi
ileminde ne derecede dikkate alnaca sinapsta bulunan sinyal iletim
6

maddesinin miktaryla doru orantl olarak saptanr (Russel-Norvig,


1995).

nsan beyninin nasl rendii konusunda henz bir ok nokta


bilinmese de temel olarak; sinir hcreleri arasndaki balantlar
deitirerek ve hcreler arasnda balantlar oluturup veya mevcut
balantlar kaldrarak renmeyi salad sylenebilir.

Yapay sinir alar modellerinde, sinir sisteminin u zellikleri


kullanlmtr:
Paralel ve datk bilgi ileme

Temel elemanlar arasnda yksek dereceli balant

Balantlarn tecrbeye bal olarak deimesi

renmenin genellikle eiticisiz olmas

Sadece yerel bilgiye dayal renme

2.3 Yapay Sinir Hcresi Temel Elemanlar

Bu bilgiler nda bir yapay sinir hcresinin (ekil 2.2) biyolojik


anlamdaki karlnn kopyas olduu sylenebilir. Bir yapay sinir
hcresinin 5 temel eleman vardr:
Girdiler

Arlklar

Toplam fonksiyonu

Aktivasyon ya da transfer fonksiyonu

Hcre kts
7

ekil 2.2 Yapay sinir hcresi

Girdiler: D sistemden gelen veriler olabilecei gibi baka yapay


sinir a hcrelerinini kt deerleri de olabilir.

Arlklar : Bir sinir hcresine genellikle bir ok girdi verisi ular.


Her girdinin kendine bal bir arlk deeri vardr. Arlk, girdi
deerinin toplam fonksiyonu zerindeki etkisini belirler. Bu sayede baz
girdi deerleri dierlerinden daha nemli olabilir ve bylece sinir hcresi
zerinde daha fazla etkili olabilir. An topolojilik yapsna veya
renme algoritmasna gre arlklarn deitirilmesi yntemleri
farkllk gsterir.

Toplam Fonksiyonu: Bir yapay sinir hcresinde ilk ilem tm


girdilerin arlkl toplamlarn bulmaktr. Matematiksel olarak bu
girdiler ve karlk gelen arlklar i 1 , i 2 ,... ,i n ve w 1 , w 2 , ... , wn
eklinde gsterilebilen vektrlerdir. Toplam girdi sinyali genellikle bu iki
n

vektrn i arpm i jw j olarak bulunur ve sonu bir vektr deil


j=1

tek bir saydr.

Geometrik olarak, iki vektrn i arpm aralarndaki benzerliin


bir lt olarak dnlebilir. Eer vektrler ayn yndeyseler i arpm
en fazla, eer ters yndeyseler i arpm en dk deerini alr.
8

Toplam fonksiyonu, arlkl toplamdan daha karmak olabilir.


Arlklar ve girdiler farkl ekillerde birletirilebilir. rnein; en dk,
en byk fonksiyonlar kullanlabilecei gibi eitli normalletirme
fonksiyonlar da kullanlabilir.

Aktivasyon (Transfer) Fonksiyonu: Toplam fonksiyonunun


sonucu aktivasyon fonksiyonuna aktarlr ve hcrenin kt deeri retilir.
Aktivasyon fonksiyonlar an kullanld probleme, an topolojisine
veya kullanlan renme algoritmasna gre deiiklik gsterebilir.
rnein, geriye yaylma (backpropagation) renme algoritmas
uygulanacak adaki yapay sinir hcrelerinin aktivasyon fonksiyonlarnn,
trevleri alnabilir cinsten olmas gerekir.

Aktivasyon fonksiyonlar an dorusal olmamas iin gereklidir.


Dorusal olmayan aktivasyon fonksiyonlarnn kullanlmas ile yapay
sinir a, sadece alglayclarn (perceptron) kullanld alardan daha
kuvvetli olur. ok katmanl alar gl yapan ey dorusal
olmamalardr. Her trl dorusal olmayan fonksiyon bu anlamda sinir
an etkin klmakta kullanlabilir. Sigmoid, hiperbolik tanjant ve Gauss
fonksiyonlar ok kullanlan dorusal olmayan fonksiyonlardr.

Hem negatif hem pozitif deerler reten dorusal olmayan


fonksiyonlar sadece pozitif veya negatif deer reten fonksiyonlara
kyasla an daha hzl renmesini salayabilirler. Baz aktivasyon
fonksiyonlar ekil 2.3'de gsterilmitir.
9

ekil 2.3 rnek aktivasyon fonksiyonlar

Hcre kts : Aktivasyon fonksiyonun rettii sonu hcre kts


olarak kabul edilir. Bu kt hcrenin adaki konumuna gre, bal
olduu dier hcrelere girdi olarak iletilir veya an rettii sonu olarak
deerlendirilir.

Bir yapay sinir hcresinin almasn zetleyecek olursak; ekil


2.2'deki yapay sinir hcresine gelen girdiler i n ile gsterilmitir. Bu
girdiler w n ile gsterilen balant arllklaryla arplr. En basit
haliyle bu arpmlar toplanarak, aktivasyon fonksiyonuna aktarlr ve
kt retilmesi salanr. Toplam deerinde baz durumlarda belirli bir
sapma uygulanabilir. Bu basit sinir hcresi yaps farkl toplam ve
aktivasyon fonksiyonlar kullanlarak eitlendirilebilinir.

2.4 Belli Bal YSA Mimarileri

Yapay sinir alarnn nasl yapland, renme algoritmalaryla


ok yakndan ilgilidir. Mimarilerine (yaplarna) bakarak genel olarak 3
temel yapay sinir a snfnn olduu sylenebilir.
10

1. Tek katmanl leri Beslemeli Alar : Tek bir girdi katman


vardr ve bu da dorudan kt katmanna baldr. Bu a yapsnda veri
iletimi sadece ileri yndedir, yani girdi katmanndan kt katmanna
doru. Girdi katmannda hibir hesaplama yaplmad iin sadece kt
katman hesaba katlarak bu trdeki alara tek katmanl a (ekil 2.4)
denir.

ekil 2.4 Tek katmanl a

2. ok Katmanl leri Beslemeli Alar : Bir nceki modelden


farkl olarak bu tr alarda bir veya birden fazla gizli katman bulunur.
Gizli katman eklemekle a yksek dereceli istatistik karabilir hale gelir.
Girdi verisi byk olduu zamanlarda, zellikle yksek dereceli istatistik
karmak nem kazanr. ekil 2.5'de tmyle bal olan, yani her
katmandaki hcrelerin bir sonraki katmandaki tm hcrelerle bal
olduu trden, bir ok katmanl a gsterilmitir. Eer baz sinir hcresi
balantlar ada eksikse, o sinir ana ksmen bal a denilir (Haykin,
1999).

ekil 2.5 ok katmanl ileri beslemeli a


11

3. Geri Dnml (Recurrent) Alar : Bu tr alar ileri


beslemeli alardan ayran zellik en az bir tane geri besleme dngsne
sahip olmasdr. rnein, bir geri dnml a tek bir katmandan
oluabilir ve bu katmandaki her sinir hcresinin kts dier hcrelere
girdi olarak aktarlabilir. Bir sinir hcresi kendi ktsn yine kendisine
girdi olarak gnderebilir. Geri besleme dnglerinin olmas an
renme yeteneklerini arttrr ve daha performansl almasn salar
(Haykin, 1999). ekil 2.6'da rnek bir geri dnml a gsterilmitir.

ekil 2.6 Geri dnml a

2.5 Yapay Sinir Alar ve Geleneksel Hesaplama Yntemleri

Yapay sinir alar yntemi, geleneksel hesaplama yntemlerinden


farkl ekilde veri inceleme ve desen tanma imkan getirmektedir. Ancak
tm hesaplama problemleri iin uygun bir yntem deildir. Geleneksel
hesaplama yntemleri iyi tanmlanabilen problemler iin gayet iyi alr.

Yapay sinir alar yntemi, hem kendini programlayan hem de


kendi kendine renebilen bir ara sunar. Problemleri bir uzmann veya
programcnn yardmna ihtiya duymadan zmeyi salar. Veri kmesi
12

iindeki, kimsenin bilmedii desenleri tanmlayabilir. Avantajlarna


ramen bu yntem her ey iin zm deildir.

2.6 YSA'nn Avantajlar ve Dezavantajlar

Yapay sinir alar ok iyi desen tanmlayabilir ve


snflandrabilirler. Geleneksel yntemlerin ie yaramad yerlerde
baarl olabilirler. Bu yntem istisnalarn ve normal olmayan girdi
verilerinin olduu sistemlerde uygulanabilir. rnein, radar veya sonar
sistemleri. Yapay sinir alarnn avantajlar u ekilde sralanabilir:
Veriden modele dorudan geii salar.

Tahmin edilecek deerler iin snrlandrmaya gerek duymaz.

Geleneksel istatistik yntemlerinden daha az aba ister.

Dezavantaj olarak ilk akla gelebilecek durum; yapay sinir alarnn,


rettii sonular aklayamamasdr. Bu nedenle yapay sinir alar kara
kutu olarak anlr. Aslnda bu durum baz geleneksel hesaplama
yntemleri iin de geerlidir, rnein regresyon analizi.

2.7 YSA'nn Kullanm Alanlar

Yapay sinir alar ok geni uygulama alanlarnda, verinin youn


olduu uygulamalarda baaryla kullanlmtr. Maddeler halinde
sralanacak olunursa:
Karakter tanma : El yazs veya basl metinlerin saysal ortama
aktarlmas.
13

Sre modelleme ve kontrol : Bir tesis iin sinir a modeli


oluturup bu modelle iletme iin en uygun kontrol ayarlarnn
bulunmas.
Portfy ynetimi : Portfyn, kar en fazla riski ise en az olacak
ekilde ayarlanmas.
Hedef Tanmlama : Askeri uygulamalarda, video veya kzltesi
verilerden dman hedeflerinin tespit edilmesi.
Tbbi Tehis : Girilen belirtilere gre ya da MRI veya rntgen
verilerine gre doktorlara hastalk tehisi koymasnda yardmc
olunmas.
Kredi Notlandrma : Kiilerin veya kurulularn mali
durumlarna gre kredi notlarnn tespiti.
Ses Tanma : Konuulan kelimelerin metin haline getirilmesi.

Finansal Tahminleme : Gemi verileri kullanarak gelecekteki


finansal hareketleri tahmin etme.
Kalite Kontrol : retim bandndaki hatal rnlerin tespiti.

Zeki Arama : Kullancnn gemi bilgilerine gre en uygun


ierii ve reklam afilerini gsteren nternet arama motoru.

Yapay sinir alarnn tketiciye ynelik rnlerde ilk uygulamalar


1990 ylnn sonlarnda grlmtr. Bu dnemde bulank mantk
teknolojisinin rnlerde yaygn olarak kullanlmas nedeniyle bulank
mant ve sinir alarn birletiren bir ok melez sistem ortaya kmtr
(Asakawa-Takagi, 1994).
14

3. YAPAY SNR AI MODELLER VE RENME


ALGORTMALARI

3.1 McCulloch-Pitts Sinir Hcresi

McCulloch ve Pitts 1943 ylnda, hesaplamalarn ikili (binary)


deerler alan basit sinir hcreleri ile yaplabileceini ne srmeleriyle
birlikte yapay sinir alar kavram ortaya kmtr.

McCulloch-Pitts hcre modeli iki tr girdi ierir, uyarc (excitory)


girdi ve engelleyici (inhibitory) girdi. Hcre gelen girdileri toplar, eer
uyarc girdiler engelleyici girdilerden bykse hcre atelenir yani kt
oluturur. Bu model mantk ilemlerinde almakla beraber, bilginin
nasl saklandn veya zeki davranlarn nasl renildiini gstermez
(McCulloch-Pitts, 1943). McCulloch-Pitts hcresi basit olarak bir ikili
eik birimidir. ekil 3.1'de ematik olarak gsterilmitir.

ekil 3.1 McCulloch-Pitts hcresi

3.2 Hebb Kural

Hebb, 1949'da bilginin sinir hcreleri arasndaki balantlarda


sakland, renmenin de bu balantlarn ve eitli girdilerin uyarc ve
engelleyici etkilerinin deitirilmesi ile olduu varsaymnda
bulunmutur (Hebb, 1949).
15

Basit olarak Hebb kural yle zetlenebilir; eer iki hcre e


zamanl olarak aktif ise yani her ikisi de ayn anda pozitif veya negatif
deere sahip ise aralarndaki ba kuvvetlendirilmeli, eer ayn anda zt
deerlere sahiplerse bu ba zayflatlmaldr.

Matematiksel olarak arlk deiimi u ekilde olur:


w ij yeni=w ij eski x i x j , x i ve x j birbirlerine bal i ve j
hcrelerinin ktlarn gsterir.

3.3 Alglayc (Perceptron)

Frank Rosenblatt, sinir alar konusuna, alglaycy gelitirerek


nemli bir katk yapmtr. Alglayclar ilk sinir alar arasnda en
nemli ilerlemeyi gsterenlerdir.

Alglayc, sinir alarnn kapsaml incelenmesine olanak salayan


basit bir model salamtr. Rosenblatt ayrca dijital bilgisayarlarda yapay
sinir alarnn simlasyonunu gerekletirmitir (Rosenblatt, 1962).
Marvin Minsky ve Seymour Papert alglayclar zerinde yaptklar derin
matematiksel incelemeler sonucunda, alglayclarn ok snrl alanlarda
kullanlabileceini ve alglaycnn zemeyecei ok fazla problem
snf olduunu gstermilerdir (Minsky-Papert, 1969). Alglayclarn
zemedii problemlere rnek olarak XOR problemini gsterebiliriz.

Alglayc renme algoritmas Hebb kuralndan ok daha etkilidir.


Belli varsaymlar altnda, yinelemeli renme srecinin doru arlk
deerlerine yaknsayaca ispatlanabilir. Doru arlk deerlerinden
kast, her eitim verisi iin doru kt deerini retmesini salayan
arlklardr. ekil 3.2'de sapma eleman olan bir alglayc gsterilmitir.
16

ekil 3.2 Alglayc

Her alglayc iin aktivasyon fonksiyonu olarak sabit eik deerine


sahip bir eik fonksiyonu (ekil 3.3) kullanlr .

f y girdi=
{
1
0
y girdi0
y girdi0 }
ekil 3.3 Eik fonksiyonu

3.3.1 Alglayc renme Algoritmas

Adm 0 :Arlklarn ve sapmann (bias) balang deerlerini ata.


renme orann ( ) belirle. ( 01 )

Adm 1 :Durma koulu salanana kadar 2-6 admlar arasnda dngde


kal.

Adm 2 : Her eitim verisi ifti s:t iin 3-5. admlar uygula.

Adm 3 :Girdi deerlerini ata.


x i=s i

Adm 4 :kt deerini hesapla.


17

y girdi=b x iwi

y=
{
1
0
y girdi 0
y girdi 0 }
Adm 5 :Eer hata oluursa arlklar ve sapma
deerini gncelle.
Eer yt

w i yeni=wi eskit y x i
b yeni=b eskit y

deilse
w i yeni=wi eski
b yeni=b eski

Adm 6 :Durma koulunu kontrol et; eer 2.admda


hi arlk deitirme olmadysa dur,
deilse devam et.

3.3.2 Alglayc renme Kural Yaknsama Teoremi

Eer tm eitim verileri iin beklenen sonular reten bir w*


vektr varsa, her w balang arlk vektr iin alglayc renme
algoritmas, tm eitim verileri iin doru sonucu reten bir arlk
vektrne sonlu sayda admda yaknsar.

3.4 ADALINE ve Delta Kural

ADALINE, 1960 ylnda Widrow ve Hoff tarafndan ortaya


konulmutur. Ak ad 'ADAptive LInear NEuron' veya 'ADAptive
18

LINear Element' olan bu sinir hcresi modeli yapsal olarak alglaycdan


farkl deildir. Ancak, alglayc aktivasyon fonksiyonu olarak eik
fonksiyonu kullanrken ADALINE dorusal fonksiyon kullanr.
Alglaycnn kt deerleri 0 ve 1 ile snrlyken ADALINE her trl
deeri alabilir. Her iki model de sadece dorusal olarak ayrlabilen
problemleri zebilirler.

ekil 3.4'de ADALINE gsterilmitir. ADALINE k zamannda


T
X k =[ x 0 , x1k , x 1k , ... , x mk ] girdi vektr alrsa, girdi vektr
bileenleri belli arlk katsaylaryla arplrlar, arlk vektr
T
W k =[w0k , w1k , w 1k , ... , w mk ] . Bu arlklarla arplm deerlerin
toplam hesaplanr, yani i arpm s k = X Tk W k bulunur ve dorusal bir
kt hesaplanm olur. Girdi vektr X k bileenleri srekli analog
deerler olabilecei gibi ikili deerler de olabilir. Arlk deerleri
srekli deikenlerdir ve eksi deerler yannda art deerler de alabilirler
(Widrow-Lehr, 1990).

ekil 3.4 ADALINE

ADALINE, delta kural ya da LMS(Least Mean Square) denilen


renme algoritmasn kullanr. Delta kural; Adaline kural veya
19

Widrow-Hoff kural olarak da bilinir. Bu algoritma temel olarak ortalama


hata kareleri toplamn en aza indirme mantna dayanr.

Tek bir kt eleman olan sistemde;


x : girdi elemanlar vektr
y girdi : kt elemanna gelen net girdi

y girdi = x iw i

t : beklenen kt
Eitim sresince kt elemannn rettii sonu olarak y girdi
kabul edilerek renme ilemi gerekletirilir. Aktivasyon fonksiyonu ise
dorusal fonksiyondur.

Herhangi bir eitim deseni iin hata karesi :


1 2
E= t y girdi
2

E, tm arlklarn bir fonksiyonudur. E'nin gradyan E'nin tm


arlklara gre ksmi trevlerinden oluan bir vektrdr. Gradyan, E iin
en hzl artn ynn verir; bunun tersi yn ise hatadaki en hzl
E
dn ynn verir. Hata, w I arlnn ynnde
w I
deitirilmesiyle azaltlabilir.
E y girdi
=t y girdi
y girdi = x iw i ise , w I w I
=t y girdi x I

Bylece yerel hata en hzl ekilde (verilen renme oranna gre)


arlklarn delta kuralna gre deitirilmesiyle bulunur,
w I = t y girdi x I
20

Bu kural tek bir kt eleman olan sistem iin geerlidir. Birden


fazla kt eleman olan sistemler iin de bu kural genelletirilebilir.
Herhangi bir eitim deseni iin hata:
m
1
E=
2 j=1
t j y j
2
girdi

ve yukardaki admlar takip ederek ok elemanl sistemler iin


I'nci girdiden J'nci kt elemanna olan arl gncellemek iin delta
kural u ekilde olur:
w IJ =t J y J x I girdi

ADALINE renme algoritmasnn alglayc renme


algoritmasndan fark, girdi deerleri doru snflandrlm olsa da
arlklar gncellenir.

3.5 ok katmanl Alglayclar

Alglayclar yetenekleri snrl yaplardr. rnein XOR


fonksiyonunu temsil edemezler. Bu sorunu inceleyecek olursak;

x1 x2 t

-1 -1 -1

-1 1 1

1 -1 1

1 1 -1

ekil 3.5 XOR tablosu


21

ekil 3.5'deki iki girdi ve bir kt durumuna uygun bir alglaycda


girdi yle olur;
y girdi=w 1x 1w2x 2b

Alglaycnn kts, y girdi eksi deer olduunda -1, art deer


olduunda ise +1 olacaktr. Buna gre geometrik olarak dnecek
olursak;
w 1x 1w2x 2=b

dorusunun ayrd iki taraf alglaycnn ktsna denktir. Ancak tek bir
doru ile XOR'daki iki snf tam olarak birbirinden ayrlamaz. Bu durum
geometrik olarak ekil 3.6'da gsterilmitir.

ekil 3.6 AND,OR ve XOR problemlerinin geometrik gsterimi

AND ve OR problemleri alglaycyla zlebilir. Buna karn


XOR probleminde, tek bir doruyla, temsil edilen iki snf birbirinden
ayrmak mmkn deildir.

Genelleyecek olursak;

y girdi=b x iwi ve f y girdi =


{1
1
y girdi0
y girdi0 } olmak zere,

y girdi0 ve y girdi0 blgelerini birbirinden ayran karar snrn


b x iwi =0 denklemiyle gsterebiliriz. Girdi elemanlarnn
22

saysna bal olarak bu denklem bir doru, bir dzlem veya bir hiper
dzlemi temsil eder.

Eer bu karar snr denklemiyle, eitim girdilerinden beklenen


kts +1 olanlar ile -1 olanlar ayr iki ksmda kalyorlarsa bu trden
problemlere dorusal olarak ayrlabilir problemler denir. Tek katmanl
alarn sadece dorusal olarak ayrlabilen problemleri renebildii
Minsky ve Papert [1969] tarafndan gsterilmitir. Biraz daha
genellenecek olunursa, dorusal aktivasyon fonksiyonlarndan oluan ok
katmanl alar tek katmanl alardan daha kuvvetli deildir. nk
dorusal fonksiyonlarn birleimi yine dorusaldr (Fausett, 1994).

ok katmanl alglayclar, tek katmanl alglayclarn zemedii


dorusal olmayan problemlerin zmnde kullanlrlar. Evrensel
tahminleme teoremine (universal approximation theorem) gre, tek bir
gizli katmana sahip ok katmanl alglayc a her trl srekli
fonksiyonu temsil edebilir. Bu teoremin doruluu iin adaki
alglayclarda kullanlan aktivasyon fonksiyonlarnn dorusal olmamas
dnda, sabit olmayan, snrl ve monoton artan fonksiyonlar olmas
gerekir. rnein, lojistik fonksiyonlar. Lojistik fonksiyonlarn genel
grnts aadaki ekil 3.7'de gsterilmitir.

ekil 3.7 Lojistik fonksiyonlarn genel grnts


23

3.6 Geriye Yaylma Algoritmas (Backpropagation)

Girdi katman ile kt katman arasna eklenecek gizli katmanlar


sayesinde alglaycnn getirdii kstlamalarn bir ounun stesinden
gelinmesi salanr. lk yapay sinir a aratrmaclarnn karlat en
byk problem bu gizli katmanlarn arlklarnn nasl gncellenecei
olmutur. Bu amala eitli kurallar ortaya kmtr. Bunlardan en nl
olan hata geriye yayma, altml yllarn sonlarnda Bryson ve Ho
tarafndan ortaya konulmutur (Abdi, 1994).

ekil 3.8 Tek gizli katmana sahip ok katmanl alglayc

ekil 3.8'deki ok katmanl a zerinden bu renme


algoritmasnn nasl tretildii incelenmitir. j kt hcresi iin n'nci
eitim verisi sonras, d j n beklenen deer olmak zere hata u
ekilde tanmlanr;
24

e j n=d j n y j n
1
Hata fonksiyonu olarak E n=
2 j C
2
e j n kullanlmaktadr. C

kt katmanndaki tm sinir hcrelerinin kmesidir. Burada delta


kuralndakine benzer bir yaklamla E n en dk hale getirilmeye
allr.

kt elemanlarna gelen girdiler toplam :


m
v j n= w ji n z i n
i=0

m toplam girdilerin saysn (sapma hari), w j0 sapma elemann


gsterir, ve bylece z 0 =1 olur. Gizli katmandaki elemanlar z ile
gsterilmitir.
kt elemanlarnn rettikleri sonu : y j n= f j v j n
E n
Delta kuralndaki gibi , geriye yaylma algoritmas da
w ji n
ksmi treviyle orantl olarak balant arlklarnda dzeltme yapar.
Buna gre ksmi trev, zincir kuralna uygun olarak yazlrsa:
E n E n e j n y j n v j n
=
w ji n e j n y j n v j n w ji n

Tek tek trevleri alnrsa ;


E n e j n
=e j n , =1 ,
e j n y j n
y j n ' v j n
= f j v j n ve =z i n
v j n w ji n
E n '
bylece =e j n f j v j n z i n halini alr.
w ji n
25

Arlk dzeltme miktar w ji n delta kuralnda yle


tanmlanmt:
E n
w ji n= , renme oran.
w ji n

Bylece geriye yaylma algoritmas iin arlk dzeltme miktar:


w ji n= j n z i n ,

yerel gradyan j n (hata bilgisi terimi olarak da adlandrlr)


ise yle tanmlanr;
E n
j n=
v j n
E n e j n y j n
=
e j n y j n v j n
=e j n f ' j v j n

3.6.1 Geriye Yaylma Algoritmasnn Uygulanmas

Tek gizli katmana sahip bir ok katmanl a zerinde geriye


yaylma algoritmasnn uygulanmas:

Adm 0 : Arlklarn ve sapmalarn (bias) balang deerlerini ata.


renme orann ( ) belirle. ( 01 )

Adm 1 : Durma koulu salanana kadar 2-9 admlar arasnda dngde


kal.

Adm 2 : Her eitim verisi iin 3-8 admlar uygula.

leri Ynde:

Adm 3 : Girdi katmanndan girdi verileri gizli katmana


ilet.
26

Adm 4 : Her gizli katman eleman kendine gelen


girdilerden arlkl toplam hesaplar.
z girdi j =b j x i w ij

Aktivasyon fonksiyonunu uygulayarak


ktsn hesaplar ve bir st katmana (kt
katman) ilet.
z j = f z girdi j

Adm 5 : Her kt katman eleman arlkl girdiler


toplamn hesapla ,
y girdik =bk z j w jk

ve aktivasyon fonksiyonunu uygulayarak


ktsn bul.
y k = f y girdi k

Hatann Geriye Yaylmas :

Adm 6 : Her kt eleman kendisine denk gelen


'beklenen deeri' ( t k ) kullanarak geriye
yaylacak hata bilgisini hesapla.
k =t k y k f ' y girdi k

Bu hata bilgisi terimini kullanarak kendisine


ait balantlar iin dzeltme miktarlarn
hesapla.
w jk = k z j

b k = k

Adm 7 : Her gizli katman eleman bal olduu kt


elemanlarndan gelen hata bilgilerini balant
27

arlklarn da kullanarak topla.


girdi j= k w jk

Kendi hata bilgisi terimini hesapla.


'
j = girdi j f z girdi j

Balant gncelleme miktarlarn hesapla.


w ij = j x i

b j = j

Adm 8 : Tm arlklar hesaplanan dzeltme


miktarlaryla gncelle.
w yeni =w eski w
b yeni=beski b

Adm 9 : Durma koulunu kontrol et.

3.7 Geri Dnml (Recurrent) Alar

3.7.1 Jordan A

lk geri dnml alardan biri Jordan adr. Bu tr ada, kt


elemanlarnn rettikleri sonular tekrar girdi katmanna durum
elemanlar (state units) denilen fazladan girdi elemanlaryla geri
bildirilir. Ne kadar girdi eleman varsa o kadar durum eleman olabilir.
kt ve durum elemanlar arasndaki balantlarn arl sabit olup +1
deerindedir; renme sadece girdi katmanndan gizli katmana olan
balantlar ile gizli katmandan kt katmanna olan balantlar iin
gerekleir. Bylece ok katmanl alglayclar iin kullanlan tm
28

renme kurallar bu tr alar eitmekte de kullanlabilir. (Krse-Smagt,


1996) ekil 3.9'da rnek bir Jordan a gsterilmitir.

ekil 3.9 Jordan a

3.7.2 Elman A

leri beslemeli alar ksa vadeli bellee sahip deillerdir. Her hangi
bir zamandaki ktlar, o anki girdilerin ve an arlklarnn bir
fonksiyonudur. Gerek dnyadaki bir ok problem ise girdilerin
ardkln tanmlamay gerektirir. Bu ihtiyac gidermek iin bir ok
geri dnml a mimarisi ortaya konmutur. Bunlar arasnda
gnmzde en ok kullanlan ise an kesikli zaman aralklarnda
altn kabul eden Elman modelidir (Fahlman, 1990).

Bu tr a, gizli katman sinir hcresi elemanlarnn ktlarnn girdi


katmanna geri bildirilmesiyle oluur. Bunu salamak iin ierik
(context) elemanlar denilen yaplar kullanr. Bu ierik elemanlarnn
kendilerine balantlar yoktur. Jordan anda olduu gibi burada da gizli
elemandan ierik elemanna olan balantnn arl sabit ve +1
deerindedir. ekil 3.10'da Elman ann yaps gsterilmitir.
29

ekil 3.10 Elman a

Elman anda renme u eklide olur :

Adm 0 : erik elemanlar 0 deerine eitlenir.

Adm 1 : Girdi verisi aa uygulanr.

Adm 2 : Geriye yaylma renme algoritmas uygulanr.

Adm 3 : 1. admdan devam edilir.

3.7.3 Hopfield A

Hopfield a birbirlerine bal N adet sinir hcresinden oluur.


Bunlar birbirlerine ktlarn e zamanl olmadan ve dier hcrelerden
bamsz olarak iletir. kt olarak ikili deerler alr. Bu an ortaya
kt ilk zamanlarda kt deerleri olarak 1 ve 0 seilmi olmasna
ramen +1 ve -1 deerlerinin kullanlmas daha avantajldr. ekil 3.11'de
Hopfield a gsterilmitir.
30

ekil 3.11 Hopfield a

Sistemin durumu kt deerleriyle ( y k ) gsterilir. Sinir hcresi


k iin t+1 dngsndeki girdiler toplam ;
s k t1= y j t w jk k , sapma eleman.
k
jk

Aktivasyon fonksiyonu olarak basit bir eik fonksiyonu kullanlr.

y k t1=
{ 1 s k t1B k
1 s k t1B k }
Hopfield'n bu almas, gezgin satc problemi gibi bir ok gnlk
problemin zm iin potansiyele sahip olmas nedeniyle byk ilgi
grmtr (Sondak, 1989). Hopfield a, geleneksel hesaplama
yntemlerinden ok daha hzl bir ekilde kabul edilebilir yollar bulur
(Hopfield, 1984).

3.8 Rekabete Dayal veya Rekabeti (Competitive) renme

imdiye kadar bahsedilen yapay sinir a modellerinde, zlmeye


allan probleme ait girdi ve beklenen deerlerden oluan bir eitim
verisi kullanlmtr. Bu tr eitim verisinin olmad, sahip olunan
31

bilginin sadece girdi verilerinin olduu durumlar da mevcuttur. Byle


durumlarda ilgili bilginin sahip olunan girdi rnekleri iinde bulunmas
gerekir. Bu trden problemlere rnek olarak unlar gsterilebilir:
Kmeleme

Vektr nicemleme

Boyut azaltma

zellik karma

3.8.1 Kmeleme ve Rekabeti renme

Rekabete dayal renme, bir dizi girdi desenini veya verisini


kmelere ayran bir renme yntemidir. Rekabeti renmeyi temel
alan aa sadece girdi vektrleri x salanr ve bir eiticisiz renme
sreci takip edilir.

ekil 3.12 Rekabete dayal renme a

ekil 3.12'de rekabete dayal renme algoritmas uygulanabilecek


rnek bir a gsterilmitir. Tm o kt elemanlar tm i girdi
elemanlarna , w io arlklaryla balanmtr. Bir girdi deseni x ,
aa uygulandnda, sadece tek bir kt eleman (kazanan eleman) aktif
olur. yi eitilmi bir ada bir kmeye ait tm desenler iin tek bir
32

kazanan eleman olmaldr. Kazanan eleman belirlemek iin temel iki


yntem vardr:

1. arpm :
Balang olarak girdi vektr x ve arlk vektr w o birim
uzunlua gre normalletirilmi olduklar kabul edilir. Her kt eleman
o , kt deerini y o , girdiler ile arlk deerlerinin ii arpm
olarak hesaplar.
y o= wio x i
i

Daha sonra kt deeri en byk olan hcre k seilir. kt


deerleri u ekilde sfrlanr:
y k =1 ve y ok =0

Bu, an rekabeti olan yndr ve kt katman kazanan hepsini


alr (winner-take-all) katman olarak adlandrlr. Kazanan hcre k
belirlendikten sonra arlklar u ekilde gncellenir:
w k eski[ xw k eski]
w k yeni=
w k eski [ xw k eski]
fadedeki blen ksm vektr uzunluudur ve arlk deerlerinin
normalletirilmi olmasn salar. Dikkat edilecei zere sadece kazanan
elemana olan balantlar gncellenir.

2. klid (Euclidean) Uzakl :

Bir nceki yntemde girdilerin ve arlklarn normalletirilmi


olmas gerekliydi. nk normallememi vektrlerin kullanlmas yanl
sonular kmasna neden olur. Normalletirilmemi girdi verileri iin
kazanan eleman k 'y bulmak iin klid uzakl kullanlr.
k :wk xw ox o.
33

Arlk gncellemesi ise u ekilde olur:


w k yeni=w k eski [ xw k eski]

Maliyet Fonksiyonu :

Genel olarak an kmelemeyi ne kadar iyi yaptn lmek iin


hata kareleri kullanlr.
2
E= w k x p
p

Bu formlde k , x p girdi vektr aa uygulandnda kazanan


eleman gsterir. Rekabeti renme bu maliyet veya hata fonksiyonunu
en aza indirmeye alr.

3.8.2 Kohonen SOM

Self-Organizing Map (SOM) Teuvo Kohonen tarafndan 1982


ylnda ortaya konuldu. Kohonen'in gelitirdii SOM, eiticisiz renme
zelliine sahiptir. A yaps olarak tek katmanl ileri beslemeli a
yapsna sahiptir. kt katman hcreleri genellikle 2 veya 3 boyutlu
zgara grntsnde dizilirler. Genellikle girdi verisinin boyutu kt
katmannn boyutundan ok daha fazladr. Girdi uzaynn topolojik
zelliklerini koruyarak eitim verilerinin dk boyutlu temsil edilmesini
salarlar. ekil 3.13'de Som ann ileri beslemeli a olarak gsterimi,
ekil 3.14'de kt katmannn 2 boyutlu zgara eklindeki grnts
verilmitir.
34

ekil 3.13 SOM ann yaps

ekil 3.14 kt katmann zgara eklindeki grnts

3.8.3 SOM renme Algoritmas :

SOM'da rekabeti renme eklinde bir eitim uygulanr. Uzaklk


fonksiyonu olarak genellikle klid uzakl kullanlr. Ancak burada tek
bir kazanandan ok, kazanan eleman merkezde olacak ekilde belli bir
ap ierisinde kalan elemanlar kazanan olur.
35

Adm 0 : Arlk deerlerinin ata. renme orannn ve komuluk


yarapnn balang deerlerini ata.

Adm 1 : Durma koulu salanana kadar

Adm 2 : Her girdi vektr x iin

Adm 3 :

Her j iin hesapla :


D j= w ij x i 2
i

Adm 4 : D j en dk yapan J deerini bul.

Adm 5 : J'nin komuluk yar ap iindeki tm


elemanlar iin arlklar gncelle :
w ij yeni=w ij eski[ x i w ij eski]

Adm 6 : renme orann gncelle.

Adm 7 : kt katman iin kullanlan topolojik komuluk


apn belirli aralklarla azalt.

Adm 8 : Durma koulunu kontrol et.

renme oran zamana bal yava azalan bir fonksiyon olarak


dnlr. Kohonen bu fonksiyon iin dorusal azalan bir fonksiyonun
pratik hesaplamada yeterli olacan ifade eder. Ayrca balang
deeri olarak 0.1'e yakn olmal ve eitim srasnda azalmal ancak her
zaman 0.01 deerinin stnde olmaldr (Kohonen, 1982).

Arlk deerleri gncellenecek kt elemanlarnn belirlenmesinde


kullanlan komuluk ap da renme sreci boyunca azalr.
36

3.8.4 Vektr Nicemleme (Vector Quantization)

Vektr nicemleme, nemli bilgileri kaybetmeden sahip olunan


verilerin miktarn sktrmak iin girdi vektrlerinin kmelere ayrlmas
iidir. Bir vektr nicemleme emas girdi uzayn ayrk alt uzaylara ayrr
ve her girdi vektr iine dt alt uzay ismiyle gsterilir. Eer veri
sktrmas iin kullanlyorsa, bu alt uzaylar daha az yer kaplayaca
iin bu ekilde veri sktrlm olur.
Bir vektr nicemleyici, k uzayndaki k boyutlu vektrleri sonlu
saydaki Y ={ y i : i=1,2 , ... , N } vektrlerine eler. Her y i vektrne
kod vektr denir, tm bu kod vektrlerine kod kitab denir. Her y i
vektr iin bir tane en yakn komular blgesi vardr. Bu blgelere
Voronoi blgeleri denir ve u ekilde ifade edilir:
V i ={ x k : x y i x y j ,tm ji }

ekil 3.15'de Voronoi blgelerine ayrlm 2 boyutlu bir girdi uzay


gsterilmitir.

ekil 3.15 rnek Voronoi blgeleri


37

3.8.5 Learning Vector Quantization (LVQ)

LVQ, her kt elemannn bir snf veya kategoriyi gsterdii bir


desen snflandrma yntemidir. Bir kt elemann arlk vektr
genellikle referans veya kod kitab olarak tanmlanr. Eitim sonras
LVQ a, bir girdi vektrn, hangi kt elemannn arlk vektrne en
yakn ise o snfa atar.

Snflandrma doruluu en az dier sinir a algoritmalar


kadarken, hesaplamalar asndan ok daha basittir. renme ve
snflandrma hz dier algoritmalardan daha yksek olabilir. Bunlarn
yannda kullanm ok daha kolaydr (Kohonen, 1990).

Bir LVQ ann yaps Kohonen SOM ann aynsdr, sadece


burada SOM'da olduu gibi kt katmannn topolojik yaps
dnlmez. ekil 3.16'da bir LVQ a gsterilmitir.

ekil 3.16 LVQ ann yaps


38

3.8.6 LVQ renme Algoritmas

Eiticili renme algoritmas nedeniyle girdi vektrleri ile birlikte


ait olduklar snf veya kategori bilgisi de salanmaldr.
x eitim vektr x 1 , ... xi , ... , x n

T eitim vektr iin doru kategori veya snf


wj j kteleman iin arlk vektr w 1j ,... , wij ,... , w nj

Cj j kt elemannn gsterdii kategori veya snf


xw j girdi vektrile j kt elemannn arlk vektr
arasndaki klid uzakl

Adm 0 : Arlklarn balang deerlerini ata.

Adm 1 : Durma koulu salanana kadar dngde kal.

Adm 2: Her girdi vektr x iin

Adm 3: xw J deerini en az yapan J 'yi bul.

Adm 4: w J 'yi gncelle:


Eer T =C j ise
w j yeni=w j eski[ xw j eski]
Eer T C j ise
w j yeni=w j eski[ xw j eski]

Adm 5: renme orann azalt.

Adm 6: Durma koulunu kontrol et.

renme, ya belirli bir tekrarlama saysna ulanca ya da renme


oran belli bir deere gelince durabilir.
39

Arlk deerlerinin balang deerlerinin atanmasnda, girdi


vektrlerinden ilk m tanesi, yani kt eleman says kadar alnp
arlklar bu deerlere atanabilir, bu durumda geri kalan girdi vektrleri
de eitimde kullanlr. Baka bir yol olarak arlklara rastgele say
deerleri verilebilir.

LVQ renme algoritmas daha sonralar gelitirilmitir ve LVQ2,


LVQ2.1 ve LVQ3 olmak zere farkl algoritmalar ortaya kmtr. lk
LVQ renme algoritmasnda, sadece girdi vektrne en yakn referans
vektr gncellenirken gelitirilen sonraki algoritmalarda kazanan ve ona
en yakn olan iki kt elemannn referans vektrleri gncellenir.

3.8.7 Counterpropagation

Bir ok uygulamada vektr nicemleme yapan alar, fonksiyon


tahminlemesi yapan baka tr bir a ile birletirilir. ekil 3.17'de bu a
yaps gsterilmitir.

ekil 3.17 Counterpropagation


40

Bu tr alar f : n m eklindeki fonksiyonlar


tahminleyebilirler.

Bu yolla fonksiyon tahminleme bir arama tablosu eklinde


gerekleir. Girdi vektr x tabloda k ile gsterilir ve
k : xw k xw o , bu tablodaki fonksiyon deeri
[w1k , w 2k , ... , wmk ] ise f x iin bir tahmin olarak ele alnr. Bu
trdeki en bilinen a Counterpropagation adr (Hecht-Nielsen, 1988).

Uygulamaya bal olarak, nce vektr nicemlemesi gerekletirilip


daha sonra fonksiyon tahminleme retilebilir, ya da an ikisinin de e
zamanl renmesi salanabilir.

3.9 Uyarlamal Rezonans Kuram (Adaptive Resonance


Theory)

Geriye yaylma algoritmas dnlecek olunursa, her trl srekli


fonksiyonu renebilmesi asndan gl bir yntemdir. Ancak geriye
yaylma algoritmas ok zaman alan bir yntemdir. An istenilen
noktaya gelebilmesi iin binlerce devir gerekebilir ve evrensel (global) en
dk deere ulaaca da garanti edilemez. Bir kere eitildikten sonra a
tmyle sabitlenir. Yeni gelen desenleri renmesi iin tm eitim iinin
en batan tekrarlanmas gerekir. Bu yzden geriye yaylma algoritmas
iin plastisite veya yorukluk (plasticity) zellii yoktur denir. Eer
evrim ii (on-line) renmeyi yeni desenler iin salarsak bu sefer de a
rendii eski bilgileri abuk unutmaya balayacaktr. Bu duruma
dren renme algoritmalarna da duraan (stable) olmayan
algoritmalar denir. Bu iki zellik arasndaki tercih etme durumuna
yorukluk/duraanlk elikisi (plasticity/stability dilemma) denir.
41

Uyarlamal rezonans kuram, Carpenter ve Grossberg tarafndan


yorukluk/duraanlk elikisini zmek amacyla gelitirilmitir. lk
model olan ART1, ikili (binary) vektrleri snflandrmak iin
gelitirilmitir, bir dier model olan ART2 ise srekli deerlere sahip
vektrleri kabul etmektedir. Bu alar, girdileri eiticisiz renme ile
kmelere ayrrlar. Girdi desenleri istenilen srada sunulabilir.

ART alar, ayn kmede yer alacak desenlerin benzerlik derecesini


kontrol etmeye olanak salar. An eitimi srasnda her eitim deseni
birden fazla kere kullanlabilir. Bir desen ilk bata bir kt elemannda
yer alrken daha sonra baka bir kt elemannda yer alabilir.

Basit bir ART yaps 3 grup sinir hcresi barndrr; girdi ileme
alan (F1 katman), kme elemanlar (F2 katman), ve ayn kmede yer
alan desenlerin benzerlik derecelerini kontrol eden bir mekanizma.

3.9.1 ART1

ART1 ikili deerlere sahip vektrleri snflandrmak iin


tasarlanmtr. Yapsnda F1 katman, F2 katman ve benzerlik derecesini
ayarlayan sfrlama eleman bulunur. ekil 3.18'de ART1 ann yaps ve
balantlar gsterilmitir.
42

ekil 3.18 ART1 yaps

ART1 renme Algoritmas :


n girdi vektrndeki eleman says

m oluturulabilecek en fazla kme says


bij F 1 b' deki X i elemanlarndan F 2 ' deki Y j
elemanlarna olan balantlarn arlklar
t ji F 2 ' deki Y j elemanlarndan F 1 b' deki X i
elemanlarna olan balantlarnarlklar
kontrol parametresi

s ikili girdiler vektr n elemanl


x F 1 b katman iin ktaktivasyon vektr

x x vektrnn normu , x i deerleri toplam

Adm 0: Parametrelerin balang deerlerini ata:


43
L1,
01

Arlk balang deerlerini ata:


L
0bij ,
L1n
t ji =1

Adm 1: Durma koulu salanana kadar dngde kal.

Adm 2: Her eitim girdisi iin.

Adm 3: F 2 elemanlarnn kt deerlerini sfra


eitle. F 1 a Elemanlarn girdi vektr s '
e eitle.

Adm 4: s' in normunu hesapla:


s= si
i

Adm 5: F 1 a 'den F 1 b katmanna girdi sinyalini


gnder:
x i=s i

Adm 6: Her F 2 eleman iin :


Eer y j1 ise ,
y j= bij x i
i

Adm 7: Eer sfrlama doruysa 8-11 admlar uygula

Adm 8: Tm j elemanlar iin yJ y j


koulunu salayan J elemann bul.
Eer y J =1 ise bu desen
snflandrlamaz demektir.

Adm 9: F 1 b 'nin ktsn ( x )


44

hesapla:
x i=s i t Ji

Adm 10: x 'in normunu bul:


x= xi
i

Adm 11: Sfrlama durumunu kontrol et :


x
Eer ise
s
y J =1 ve Adm7 ' den devam et

x
Eer ise Adm 12 ' den
s
devam et

Adm 12: J eleman iin arlklar gncelle:


L xi
bi J yeni =
L1x
t J i yeni=x i
45

4. LGL ALIMALAR

Yapay sinir alar iin eitli programlama dillerinde bir ok


ktphane ve ara gelitirilmitir. Bu blmde, yaygn olarak kullanlan
ve genel kabul grm olan; SNNS, FANN, JOONE ve Matlab Neural
Network Toolbox incelenmitir.

4.1 SNNS

Stuttgart Neural Network Simulator (SNNS) yapay sinir alar iin


Stuttgart niversitesi'nde IPVR enstits tarafndan gelitirilmitir bir
simlatrdr. Sinir a uygulamalar ve aratrmalar iin etkin ve esnek
bir simlasyon ortam oluturmak amacyla yaplmtr.

SNNS 4 ana bileenden oluur:

1. Simlasyon ekirdei

2. Grafik arabirim

3. Toplu altrma arabirimi

4. A derleyicisi: snns2c

Simlasyon ekirdei, sinir alar yaps zerinde alr ve ilgili


tm ileri gerekletirir. A derleyicisi snn2c yardmyla eitilmi alar
C koduna evrilerek programlarda gml almas salanr. Kullanc
tanml olarak aktivasyon fonksiyonlarnn, kt fonksiyonlarnn ve
renme algoritmalarnn basit C programlar olarak yazlp simlatr
ekirdeine balanmalar mmkndr. SNNS'nin destekledii sinir a
mimarileri ve renme algoritmalar unlardr :
46

evrim ii (on-line) , Momentumlu ve Yn Geriye Yaylma

Counterpropagation, Quickprop, Backpercolation 1, RProp

RBF, ART1, ART2, ARTMAP

Cascade Correlation, Recurrent Cascade Correlation

Dinamik LVQ

Backpropagation through time, Quickprop through time

SOM

TDNN (time-delay networks) Geriye Yaylma ile

Jordan alar, Elman alar, Associative Memory

Grafik arabirim XGUI, ekirdek zerinde alr. Sinir alarnn


grafiksel gsterimini ve simlasyon srasndan kontrol edilmelerini
salar. Grafik arabirim, sinir alarnn dorudan yaratlmasn,
deitirilmesini ve grselletirilmesini destekler. Karmak alar abuk
ve kolay bir ekilde yaratlabilir.

SNNS tmyle ANSI-C 'de gelitirilmitir. Simlasyon ekirdei


bir ok makinede ve iletim sisteminde alabilmektedir. Grafik
arabirimi XGUI, X11 pencere sisteminde almaktadr. ekil 4.1'de
XGUI gsterilmitir.
47

ekil 4.1 SNNS grafik arabirimi XGUI

SNNS'nin grafik arabirimi daha sonralar Java ortam kullanlarak


tekrar yazlmtr ve JavaNNS olarak isimlendirilmitir. JavaNNS
anlalaca zere tmyle simlatr ortamnn Java'da gerekletirilmesi
deildir. JavaNNS'de simlatr ekirdei yeniden yazlmadan aynen
kullanlmtr. ekil 4.2'de JavaNNS gsterilmitir.

ekil 4.2 JavaNNS


48

SNNS yapay sinir a simlatr olarak gelimi bir aratr.


Yazlm gelitirme srecinde kullanlmas ynnden ele alnrsa,
eitilmi alarn C koduna evrilerek yazlmlara eklenebilmesini
salamaktadr. Bu haliyle yapay sinir alarnn yazlmlara eklenebilmesi
mmkn olmaktadr. Ancak sadece eitilmi alarn eklenebilmesi yapay
sinir ann kullanld yazlmn esnekliini ortadan kaldrr. Yazlmn
kullanld problemle ilgili girdi verilerinin deiiklik gstermesi
durumunda an yeniden eitilmesi gereklilii olur ki bu da tekrar
simlatrn kullanlmasn daha sonra yazlmn gncellenmesini
gerektirir.

Bir rnekle aklanacak olunursa, basit bir karakter tanma


program tasarland dnlrse, girdi olarak verilen bir karakterin
resmini tanmlayacak sistem iin eitilecek a, Latin harflerinden oluan
bir eitim veri kmesiyle eitilmi olsun. Eer bu yazlm kullanc
tarafndan farkl bir alfabenin karakterleri iin veya el yazs iin
kullanlmak istenirse bu durumda SNNS iinden tekrar an eitilmesi ve
yazlma eklenmesi gerekir. Bilinen alfabeler iin bu yapay sinir a
geniletilip eitilebilir. Ancak, zellikle el yazs tanma yeteneine sahip
bir yazlm isteniyorsa mutlaka kullanc tarafnda eitilebilir bir yazlma
ihtiya olunacaktr. SNNS byle bir durumda yetersiz kalr. renebilen
yazlmlar gelitirmek iin yazlm ierisinde tmyle alr bir yapay
sinir a ktphanesinin kullanlmas gereklilii vardr.

4.2 FANN

FANN (Fast Artificial Neural Network Library), ok katmanl


alglayclar kullanmay salayan, C programlama dilinde yazlm bir
yapay sinir a ktphanesidir. Ayrca bir ok programlama dilinden,
49

C++, Perl, Python gibi, eriilebilmesini salayan balayc arayzleri


vardr.

Ktphanenin destekledii renme algoritmalar :


Geriye yaylma algoritmas

Yn renmeli geriye yaylma algoritmas

RPROP

Quickprop

Arttrmal geriye yaylma algoritmas

Yapay sinir alarnn kullanlmas ile ilgili problemlerden biri


uygulamadaki performans sorunlar olmutur. Bu adan FANN, sinir
alarnn hzl almasn salamak hedefini gz nnde tutarak
gelitirilmitir. Destekledii sinir a modelleri ve renme algoritmalar
asndan sadece ileri beslemeli alar ile geriye yaylma algoritmalarn
desteklemesi, ancak kstl sayda problem tr iin kullanabilmesini
salar.

4.3 JOONE

JOONE (Java Object Oriented Neural Engine), Java ortamnda


gelitirilmi bir yapay sinir a ktphanesidir. Modler bir yapya
sahiptir. ekirdek ksm grsel arabirimden ayr gelitirilmitir. Kod
tasarm olarak yeni renme algoritmalar veya yeni sinir a modelleri
eklenebilecek bir yapya sahiptir. Genetik algoritmalar kullanlarak sinir
a iyiletirilmesi mmkndr. Joone ekirdek ksm, oklu kullanm
(multi-threaded) zelliine sahiptir. Ayrca sinir ann eitimi iin
datk olarak alabilecek bir ortam da sunulur.
50

ekirdek motoru (core engine) olarak tanmlanan ksmn


destekledii zellikler unlardr :
Eiticili renme algoritmalar:

Geriye yaylma

Yn geriye yaylma

RPROP

Kohonen SOM ve Principal Component Analysis

Sinir alarnn serialization mantyla dosyada saklanabilmesi.

Veri okumak iin girdi/kt bileenleri:

Virgl ayrac kullanlm ASCII basit metin dosyalar

Excel dosyalar

Veritaban balants

An renmesini kontrol eden ve ala ilgili parametreleri


deitirmeye yarayan bileenler.
Girdi verisini n ilemden geirmeye yarayan eklentiler.

JOONE ekirdeini kullanan grafik tabanl bir dzenleyici


bulunmaktadr. Dzenleyicinin genel grnts ekil 4.3'de verilmitir.
Bu arala sinir alarnn yaratlmas, eitilmesi ve grselletirilmesi
mmkndr. Bu aracn zellikleri u ekildedir :
ekirdein destekledii her tr modeli yaratabilme

Sinir ann dosyaya kaydedilmesi ve dosyadan yklenmesi.

Sinir a elemanlarnn parametrelerinin deitirilebilmesi

Sinir ann doruluunu kontrol etme

n ilem ve kontrol eklentilerinin kullanlabilmesi


51

Makro editr

Sinir a eitme

Sinir a kt deerlerinin grselletirilmesi

ekil 4.3 JOONE grafik tabanl dzenleyicisi

JOONE ktphanesini kullanarak, XOR problemini zen rnek


kod u ekilde oluturulabilir:

ncelikle XOR problemi iin girdi dosyas oluturulmas gerekir.

Her stun birbirinden noktal virglle ayrlm olmaldr. Problemin


zm iin 3 katmanl bir sinir a oluturmak gerekir.
52

1. XOR iin sadece 2 girdi deeri olduundan girdi katman 2


elemanl olmaldr,

2. Gizli katmana 3 eleman eklenir.

3. XOR'un tek kt deeri olduundan, kt katman 1 elemanl


olmaldr.

Bu katmanlardan gizli katman ve kt katman iin aktivasyon


fonksiyonu olarak sigmoid fonksiyonu atanr. Bu 3 katman oluturmak
iin gerekli kod u ekilde olur:

Sahip olduklar eleman saylar atanr :

Katmanlar birbirlerine balamak iin iki tane balant nesnesi


yaratmak gerekir. Burada FullSynapse snfndan balant kullanlmtr.
Bu tr balantda bir katmandaki her hcre baland katmandaki tm
hcrelerle balant oluturmu olur.

nce girdi katman ile gizli katman balanr:

Daha sonra gizli katman ile kt katman balanr:


53

Bu ilemlerden sonra a iin gerekli ayarlamalar yapmay salayan


Monitor snfndan bir nesne oluturulur ve gerekli parametreleri atanr:

Bu Monitor snfndan yaratlan nesne tm katmanlara atanr:

Uygulamann, ala ilgili durum bilgilerini alabilmesi iin


org.joone.engine.NeuralNetListener arayzn (interface)
gerekletirmesi gerekir. Bundan sonra uygulamann kendini monitor
nesnesine kaytlamas gerekir :

Girdi dosyasn aa gnderebilmek iin


org.joone.io.FileInputStream snfndan bir nesne yaratp girdi dosyas ile
ilgili parametreler dzenlenmelidir:

setAdvancedColumnSelector() metodu ile girdi verilerinin hangi


stun aralnda olduu belirtilir.

girdiDosyasiBaglantisi nesnesi ilk katman olarak yarattmz girdi


katmanna balanr:

Sinir ann renebilmesini salamak iin


org.joone.engine.learning.TeachingSynapse snfndan bir nesne
yaratlmas gerekir. Yaratlan monitor nesnesi retici nesneye atanr.
54

Eitim verisinin ve beklenen deerlerin neler olduu bu retme iini


yapacak olan nesnede, girdi katmanndakine benzer bir ekilde
tanmlanr.

Oluturduumuz TeacherSynapse nesnesi ayn zamanda adaki


son katmann kts olarak kullanlr.

Tm katmanlar start() metoduyla altrlr. Katmanlarn tredii


snflar java.lang.Runnable arayzn gerekletirdikleri iin hepsi ayr
i parac (thread) olarak alr.

Son olarak eitimle ilgili tm parametreler atanr ve eitim


balatlr.

JOONE ktphanesi ncelikli olarak Java ortamn kullanarak bu


ortamn getirdii avantajlara sahiptir. Platformdan bamsz olarak
alabilme ve datk olarak renmenin gerekletirilebilmesi gze
55

arpan zellikleridir. Belli bal a yaplarn ve renme algoritmalarn


destekleyerek sinir alarnn uygulamalara eklenebilmesini
salamaktadr.

Ktphane kullanm asndan deerlendirilecek olunursa, rnek


kodda da grlecei zere basit bir sinir an kurmak ve bunu eitmek
iin gerekli ilemler kodun karmak olmasna neden olmutur. Bu
durumun nedenlerine bakmak gerekirse, rnek kod zerinden srayla
takip ederek u tespitler yaplabilir. ncelikle katmanlarn birbirlerine
balanmas ilemi her katman ikilileri iin kullanc tarafndan tek tek
yapmas kodun uzamasna neden olur. Eitim verisinin hem girdi
katman iin, daha sonra da retme iini gerekletiren nesne iin
tanmlanmas gereksiz yere kod yazmna neden olmaktadr. Girdi
verilerinin tek bir seferde tanmlanmas ve gerekli olan yerde bu
tanmlanm halinin tekrar tanmlamaya gerek olmadan kullanlmasn
salamak daha iyi bir zm olabilir.

Ktphanenin tasarm ile ilgili olarak birka gze arpan noktaya


da deinmek gerekir. Katmanlarn aktivasyon fonksiyonlarna gre
tanmlanmalar, kullanc tarafndan yeni bir aktivasyon fonksiyonu
kullanlmak istendiinde o fonksiyonu barndran yeni bir katman snf
tretilmesini gerektirir. Katman ve aktivasyon fonksiyonlarnn
birbirinden ayr olmas ve katmana kullanlmak istenen aktivasyon
fonksiyonunun atanmas daha iyi bir yntem olabilir.

Genel olarak ktphanenin kullanmna bakacak olursak yapay


sinir alarnn teorik olarak literatrde tanmlanan yapsyla kodda
oluturulan sinir a yaps birebir rtmemektedir. rnein; renme
algoritmasnn kt katmanna balanmas. Bu durum teorik bilgilerden
ktphanenin kullanmna geilmesinde uyum sorununa yol aabilir, bu
da ktphanenin kolay kullanlabilirlik zelliini olumsuz etkileyebilir.
56

4.4 Matlab Neural Network Toolbox

Matlab, bir saysal hesaplama ortam ve bir programlama dilidir.


Matris ilemleri, fonksiyon ve veri izimi, algoritma gerekletirimi gibi
ilemleri gerekletirmeyi salar. Toolbox denilen paketler sayesinde
grnt ileme, kontrol tasarm gibi birok konuya zg zmler sunar.

Matlab neural network toolbox, yapay sinir alarnn


tasarlanmasn, gerekletirilmesini, grselletirilmesini ve
simlasyonunu salayan, Matlab iin gelitirilmi bir aratr. Genel kabul
grm birok sinir a modeli ve algoritmas iin ayrntl bir ortam
sunar. Grafik kullanc arayz (ekil 4.4) ile sinir alarnn
tasarlanmasn ve kontrol edilmesini salar.

ekil 4.4 Matlab Neural Network Toolbox kullanc arayz

Eiticili ve eiticisiz renen sinir a trlerini destekler. Eiticili


alardan ileri beslemeli (feed-forward), radyal tabanl, dinamik ve LVQ
alarn destekler. leri beslemeli alar iin geriye yaylma algoritmas ve
trevlerini, radyal tabanl alardan genelletirilmi regresyon ve
57

olaslksal sinir alarn (probabilistic neural network), dinamik alardan


Elman, Hopfield, NARX, focused time-delay ve distributed time-delay
alarn destekler. Eiticisiz alardan rekabeti ve SOM trnde alar
destekler. Girdilerin n, ktlarn son ilemden gemesine imkan verir.

Matlab, teknik programlama iin kullanlan bir ortam olmas


nedeniyle yazlm gelitirme ortam olarak deerlendirmek gtr.
Programlama dili olarak ise gnmz yazlm gelitirme dillerine kyasla
yetenekleri olduka snrl bir dildir. Yapay sinir alarn desteklemesine
ramen bu aracn yazlm gelitirme srecinde kullanlmas zordur.
Ayrca cretli bir yazlm olmas dolaysyla son kullancya ynelik
program gelitirmek maliyetli bir itir.
58

5. GELTRLEN YAZILIMIN TASARIMI VE


GEREKLETRM

Gelitirilen yapay sinir a ktphanesi nesne ynelimli


programlama yaklamyla tasarlanmtr. Mmkn olduunca basit ve
kolay kullanlabilir olmas hedeflenmitir. Ktphanenin
gelitirilmesinde ncelikli hedef iyi bir tasarm oluturmaktr. Bu nedenle
alma hz ve bellek kullanmyla ilgili performans etkenleri ikinci
planda deerlendirilmitir.

Ktphanenin destekledii renme algoritmalar :


Adaline kural

Alglayc renmesi

Geriye yaylma

Yn geriye yaylma

LVQ

SOM

5.1 Ktphaneyi Oluturan Paketler

Ktphane be ana paketten olumaktadr; algoritmalar, araclar,


fonksiyonlar, temel ve veri paketleri. ekil 5.1'de bu paketler
gsterilmitir.
59

ekil 5.1 Ktphaneyi oluturan paketler

algoritmalar paketi, sinir alarn eitmek iin kullanlan renme


algoritmalarn ierir. renme algoritmalar
EgiticiliOgrenmeAlgoritmas ve EgiticisizOgrenmeAlgoritmas olmak
zere iki snftan trerler. ekil 5.2'de paketin genel grnts
grlebilir.

ekil 5.2 algoritmalar paketi

araclar paketi, yapay sinir alaryla dorudan ilgili olmayan, ancak


temel ileri yapan snflardan oluur. Nokta2B snf, iki boyutlu noktay
60

temsil eder ve SOM katmannda sinir hcrelerine konum atamak iin


kullanlr. klid uzakl bulunaca zaman sinir hcrelerinin sahip
olduklar Nokta2B konum nesneleri zerinden ilem yaplr.
VektorIslemleri snf Java veri yaplarndan Vector snfndan nesneler
zerinde, iki vektrn toplanmas karlmas gibi geometrik vektr
ilemlerini gerekletirmeye yarayan metotlar ierir.
RastgeleSayiTuretici snf tm a balantlarnn arlklarnn
atanmasnda istenilen aralkta rastgele saylar retmekte kullanlr. ekil
5.3'de paketin genel grnts gsterilmitir.

ekil 5.3 aralar paketi

fonksiyonlar paketi, bata aktivasyon fonksiyonlar olmak zere


sinir alarnda kullanlan fonksiyonlarn tanmland pakettir.
AktivasyonFonksiyonu arayz tm aktivasyon fonksiyonlar iin
temeldir. Bu arayz gerekletiren tm snflarn double f double x
ve double fBirinciTurev double x metotlarn gerekletirmeleri
gerekir. Kullanc bu arayz snfn kullanarak ktphanede olmayan
farkl aktivasyon fonksiyonlarn yaratp ktphane zerinde kullanabilir.
Paketin genel yaps ekil 5.4'de gsterilmitir.
61

ekil 5.4 fonksiyonlar paketi

temel paketi, iinde baka paketleri de barndran ve sinir alarn


yapsal olarak oluturmay salayan snflardan oluur. Bu paket
ierisinde ncelikli olarak temel sinir a hcreleri tanmlanmtr. Tm
hcreler KokHucre snfndan trerler. Yapay sinir a tanmlarna uygun
olarak Katman snf bu KokHucre'den tremi her tr sinir hcresini
iinde barndrr. SinirHucresiBaglantisi iki KokHucre'den tremi
hcreyi tutar ve aralarndaki balanty temsil eder. Ayrca bu balantnn
arln tutar ve arlk gncelleme ilemlerini salar. KatmanBaglantisi
snf iki katman arasndaki SinirHucresiBaglantisi nesnelerinden oluan
tm sinir hcresi balantlarnn listesini tutar. Ag snf yapsal olarak
aa ait olan nesneler olan Katman ve KatmanBaglantisi nesnelerini tutar
ve an almasyla ilgili metotlar ierir. UstBilgiAg snf a
bileenlerine ait yapsal bilgileri st bilgi eklinde tutmay salayan temel
snftr. UstBilgiKatman snf ve bu snftan treyen katman st bilgisi
snflar UstBilgiGirdiKatmani, UstBilgiKatmanAlgilayici ve
UstBilgiKatmanKohonen, katmana ait sinir hcre says, aktivasyon
62

fonksiyonu tr ve sapma hcresi olup olmamas gibi bilgileri ierirler.


Bu st bilgi snflar temel.fabrika paketindeki sinir a oluturma snf
AgOlusturucu yardmyla an yapsal olarak oluturulmasn salarlar.
ekil 5.5'de bu paketin barndrd snflar ve ierdii dier paketler
gsterilmitir.

ekil 5.5 temel paketi


63

temel.fabrika paketi, aa ait st bilgileri ieren nesneden, an


yapsal olarak yaratlmasn salayan snflar ierir. Yapsal olarak
oluturmaktan kast; sinir hcrelerini yaratmak ve aktivasyon
fonksiyonlarn atamak, hcre ve katman balantlarn yapmak gibi
ilemlerin gerekletirilmesidir. AgOlusturucu snf ktphanenin
destekledii alar kendine verilen a st bilgisi nesnesini kullanarak
oluturur. Baglayici snfndaki metotlar ile de katmanlar birbirlerine
balanr. Baglayici snf AgOlusturucu snf tarafndan kullanlr ve
gelitiricinin kullanmasna gerek yoktur.

temel.cka ve temel.kohonen paketleri srasyla, ok katmanl


alglayc ve SOM-LVQ alarn oluturmak iin gerekli olan, temel
paketindeki snflardan geniletilmi snflar ierir. ekil 5.6'da
temel.cka paketi gsterilmitir.

ekil 5.6 temel.cka paketi

veri paketi; girdi, kt verileri ile sinir alarnn ve renme


algoritmalarnn, dosyada saklanmas ve dosyadan okunmas ile ilgili
snflar ierir. Tm dosyalar XML biiminde kaydedilir. Yapay sinir
alarnn, YSAKaydedici snf yardmyla XML biiminde saklanmas
sayesinde tm an st bilgilerini ve balant arlk bilgilerinin dosyada
64

saklanmas salanr. YSAOkuyucu snf ile de dosyadan, sinir ann


tekrar oluturulup program ierisinde kullanlmas salanr. Benzer
ekilde AlgoritmaKaydedici ve AlgoritmaOkuyucu snflar, renme
algoritmalarnn ayarlandklar parametrelerle birlikte saklanmasn ve
tekrar kullanlmasnn salarlar. Ayrca GirdiVerisiDonusturucu snf ile
de metin ve Excel dosyalarndan girdi verilerinin, ktphanenin
kulland biime dntrlmesi salanr. ekil 5.7'de paketin gsterimi
verilmitir.

ekil 5.7 veri paketi

5.2 Ktphanenin Kullanmna Bir rnek: XOR

Daha nceden bahsedilen XOR problemi iin tek gizli katmana


sahip bir sinir ann adm adm oluturulmas gsterilmitir. A
yaratmak iin a ile ilgili st bilgi snflar kullanlr. ncelikle girdi
katman st bilgisi oluturulur. Sinir hcre says ve varsa sapma (bias)
hcresinin olduu belirtilir. Hcre says girdi says kadar olmaldr ,
yani 2 tane.
65

Daha sonra gizli katmanda ve kt katmannda kullanlacak


aktivasyon fonksiyonu yaratlr. Gizli katman iin st bilgi yaratlp, girdi
katmanndan farkl olarak seilen aktivasyon fonksiyonu atanr. Daha
nce de deinildii gibi kullanc tarafndan yeni aktivasyon
fonksiyonlar oluturulup burada kullanlabilir.

kt katman st bilgisi de gizli katman iin olduu gibi yaratlr


ve hcre says, kt says kadar yani 1 tane olacak ekilde atanr.

Oluturulan bu st bilgiler, katmanlarn birbirlerine balanma


srasna gre a st bilgisi nesnesine eklenir.

Kullanlacak renme algoritmas seilir. Bu rnek iin geriye


yaylma algoritmas kullanlmtr. Algoritma ile ilgili renme oran,
hedeflenen hata gibi parametreler belirlenir.
66

Son olarak AgOlusturucu snfnn statik agOlustur() metodu


kullanlarak a yaratlr. renme algoritmasna eitecei a atanr. Girdi
verisi ve devir says belirtilerek renme ilemi balatlr.

renme algoritmalar Java'nn Thread snflarndan tredikleri


iin renme ileminin bitip bitmediinin takibi iin en basit haliyle
baka bir Thread nesnesi ierisinden u ekilde kontrol edilebilir:

renmi sinir an test etmek iin basit bir girdi verisi oluturup
a bu veriyle altrmak yeterlidir. Adaki getSonCikti() metodu an
en son almasnda retilen kt deerlerini Vector<Double> veri
yaps olarak dndrr. Tek ktmz olaca iin hzl bir ekilde ilk
eleman seerek kt deerine ulaabiliriz.

5.3 Grsel Gelitirme Arac

Gnmzde yazlm gelitirmek iin kullanlan ortamlar, basit


metin editrlerinin ok tesinde aralardr. Tmleik gelitirme ortam
(Integrated Development Environment - IDE) olarak adlandrlan
programlar, yazlm gelitirmek iin gerekli olan tm aralar bnyesinde
barndrarak gelitirmenin daha kolay ve hzl yaplabilmesine olanak
salarlar.
67

Gelitirilmi olan yapay sinir a ktphanesi her ne kadar


dorudan kullanlp yazlmlara eklenebilse de ktphanenin kullanmn
kolaylatracak bir grsel gelitirme arac yazlm gelitirme srecini
hzlandracaktr. Programclarn bir ounun tmleik gelitirme
ortamlarn kulland dnlecek olunursa, bu ortamlar ierisinde
alabilen bir yapay sinir a grsel gelitirme arac tasarlamak uygun
olacaktr. Bu amala gelitirilen yazlm Eclipse tmleik gelitirme
ortam zerinde alan bir aratr. Bu aracn gelitirilmesinde Eclipse
Vakf bnyesinde gelitirilen EMF,GEF ve GMF kullanlmtr.

5.3.1 Eclipse Tmleik Gelitirme Ortam

Eclipse, ak kaynak kodlu bir tmleik gelitirme ortamdr. Ana


odak noktas Java ile ilikili teknolojiler olsa da esnek yaps sayesinde C
ve Python gibi farkl diller iin de kullanlmaktadr.

2001 ylnda IBM tarafndan balatlan proje, Java'nn ana grafik


sistemi olan Swing yerine bulunduu platformdaki zellikleri dorudan
kullanan SWT'yi kullanarak Java dnyasnda tartmalara yol amtr.
Hzl arayz, k grnm ve ok kuvvetli zellikleriyle ksa zamanda
Java gelitiricileri arasnda en popler gelitirme ortam olmutur. 2005
ylnda Eclipse projesi ynetimi Eclipse Vakfna braklmtr
(Wikipedia).

Eclipse oluturduu platformun zerine tm ilevselliini eklentiler


(plugin) kullanarak salamaktadr. Bu eklenti mekanizmas sayesinde
Java dndaki bir ok programlama dillerini de destekler hale
getirilebilir. C/C++, Fortran, Ruby, Python, PHP ve baka programlama
dilleri iin eklentiler bulunmaktadr. Eklenti mant sayesinde her trl
68

ara Eclipse zerinde alr hale getirilebilir. ekil 5.8'de Eclipse


ortamnn genel grnts gsterilmitir.

ekil 5.8 Eclipse tmleik gelitirme ortam

5.3.2 EMF (Eclipse Modeling Framework)

EMF, bir yapsal model zerine aralar ve uygulamalar gelitirmek


iin kod retmeyi salayan hem bir ara hem de bir Java tabanl iskelettir
(framework). Nesne ynelimli modelleme ile oluturulmu modellerin
sratle etkin, doru ve kolay deitirilebilir Java koduna evirmeyi
salar.

Modelleme denildii zaman genellikle snf diyagramlar, ibirlii


(collaboration) diyagramlar veya durum diyagramlar akla gelmektedir.
69

Bu tr diyagramlar iin UML (Unified Modeling Language), standart


gsterimleri tanmlamtr. UML diyagramlar kullanlarak bir
uygulamann tam bir modeli tanmlanabilir. Bu trden modelleme
genellikle pahal nesne ynelimli inceleme ve tasarm aralarn
gerektirirken, EMF dk maliyetli bir alternatiftir. Bunun nedeni ise
EMF'nin UML'de kullanlan birimlerin ok kk bir altkmesine ihtiya
duymasdr. Yani sadece snflarn, snflarn zelliklerinin ve ilikilerinin
basit tanmlar kullanlr ki bu da tam lekli bir grafik modelleme
aracna gereksinimi ortadan kaldrr.

EMF model tanmlar iin XMI (XML Metadata Interchange)


kullanr. Bu biimde modeller oluturmak iin u yollardan biri
izlenebilir:
Bir XML dzenleyicisiyle dorudan XMI belgesinin oluturulmas.

Rational Rose gibi bir modelleme aracndan XMI belgesinin


alnmas.

Java arayzlerine model zelliklerini dipnot koyarak (annotate)

XML Schema ile modelin tanmlanmas

EMF modeli yaratldktan sonra, ilgili Java gerekletirim snflar


oluturulabilir. Bu oluturulan snflara istenilen metotlar eklenebilir.
Yeniden modelden kod yaratmada, nceki kodda yaplan deiiklikler
eer modelde yaplan deiikliklere bal eklemeler deilse aynen
korunur. EMF modelleri, Ecore st modelinde (ekil 5.9) bulunan
elemanlar kullanlarak oluturulur. EObject her modelin kk nesnesidir
ve java.lang.Object'e denktir.
70

ekil 5.9 Ecore st modeli

Ecore veri tipleri ve bunlara karlk gelen Java ilkel tip veya
snflar ekil 5.10'da gsterilmitir. Ecore zel oluturulmu veri tiplerini
de desteklemektedir.

ekil 5.10 Ecore veri tipleri ve Java'daki karlklar


71

5.3.3 GEF (Graphical Editing Framework)

GEF mevcut uygulama modelinden zengin grafik dzenleyici


oluturmay salar. org.eclipse.draw2d eklentisi grafiklerin gsterimi iin
dzen (layout) ve evirme (rendering) aracdr. GEF bir model grnm
denetleyicisi (MVC; model-view-controller) mimarisi kullanr. Bu
sayede grnm zerinden yaplan deiiklikler modele de uygulanr
(Eclipse Foundation). GEF temel olarak u problemlere zm getirir:

1. Bir modelin grafiksel olarak gsterimi

2. Kullancnn bu modelle etkileimi

Fare ve klavye girilerini ileme

Bu girileri yorumlama

Modeli gncelleme

Yaplan deiiklikleri geri/ileri alma

3. alma ortam ilevsellii


lemler ve menler

Ara ubuklar

Ksayol tular

5.3.4 GMF (Graphical Modeling Framework)

GMF, GEF ortam ile EMF modelleme ortam arasnda kpr


kuran bir teknolojidir. Bahsedildii gibi GEF grafik dzenleyiciler
oluturmay salarken , EMF ise yksek seviyeden verileri ynetme ve
kalc halde tutmaya yarayan bir modelleme teknolojisidir. GMF bu ikisi
72

arasnda balant kurmas sayesinde oluturulan grafik editr EMF


tarafndan kontrol edilen veriyi gsterebilir.

5.3.5 Yapay Sinir A Grsel Gelitirme Ortam

Bahsedilen teknolojiler ve aralar yardmyla yapay sinir alar iin


bir grsel gelitirme ortam gelitirilmitir. Bu ortam iki ksmda
hazrlanmtr ; yapay sinir a grsel dzenleyicisi ve sinir a eitimi
ksm.

ekil 5.11 Oluturulan EMF modeli


73

Grsel dzenleme arac iin ncelikle, kullanlacak verilerin EMF


yardmyla bir modeli oluturulmutur. ekil 5.11'de bu oluturulan
model gsterilmitir. Bu model zerinde GMF yardmyla nce grafiksel
tanmlamalar oluturulmutur. Bu tanmlamalar modeldeki her snf ve
eleman iin basit ekilsel gsterimlerden olumaktadr. Daha sonra
grafiksel tanmlamalar dzenleyicide oluturmaktan sorumlu olacak
aralarn tanmlanmas gerekletirilir. Bu aamadan sonra oluturulmu
olan; veri modeli, grafiksel tanmlar ve ara tanmlarnn birletirilmesi
gereklidir. Bu aamada hangi grafiksel elemann hangi arala izilecei
ve hangi model elemann nasl temsil edecei gibi eletirmeler yaplr.
En son olarak bu oluturulan tanmlardan kod yaratma ilemi
gerekletirilir. Bu aamada GMF gerekli tm tanmlamalara uygun
olarak alacak grafik dzenleyicisinin kodunu otomatik olarak
oluturur. ekil 5.12'de anlatlan yntemle gerekletirilen yapay sinir a
grsel dzenleyicisi eklentisi gsterilmitir.

ekil 5.12 Yapay sinir a grsel dzenleyicisi


74

Aracn ekran grntsnde tek gizli katmana sahip bir sinir a


oluturulmutur. Sa tarafta grnen paletten (ekil 5.13) seilecek sinir
a elemanlar dzenleyici zerinde srkle brak mantyla
oluturulabilir.

ekil 5.13 Yapay sinir a grsel elemanlar paleti

Bu arala, a katmanlar ile ilgili gerekli bilgiler dzenlenebilir.


A eitmek iin gerekli renme algoritmas yaratlp tm parametreleri
dzenlenebilir. A elemanlar ile ilgili dzenlemeler dorudan ekiller
zerinden (ekil 5.14) yaplabilecei gibi Properties penceresinden
(ekil 5.15) de seili elemanla ilgili deiiklikler yaplabilir.

ekil 5.14 Yapay sinir a grsel elemanlar


75

ekil 5.15 A elemanlarnn zellikler penceresi

Dzenleyicide oluturulan bu a daha sonra ktphane ierisindeki


YSAOkuyucu ve AlgoritmaOkuyucu snflar sayesinde, gelitirilen
programa eklenebilir. Bylece bir ka satrla dzenleyicide oluturulan
sinir a ve renme algoritmas programa eklenmi olur. Aada bir
rnek kod verilmitir.

Oluturulan sinir ann eitimi iin gelitirme aracnn Eitim


pencereleri (ekil 5.16 ve ekil 5.17) kullanlabilir. Bu eklentiler geriye
yaylma algoritmas ile SOM renme algoritmas iindir. An eitimi
iin gerekli eitim verisi seilip Balat dmesi ile eitim balatlr.
Geriye yaylma algoritmas eitim penceresi, eitimle ilgili anlk hata,
devir bilgileri ile anlk hata bilgisinin grafiksel olarak gsterimini
iermektedir. SOM eitim penceresi ise yine anlk devir bilgisini ve
SOM katmann u-Matris gsterimini iermektedir.
76

ekil 5.16 Geriye yaylma algoritmas eitim penceresi

ekil 5.17 SOM eitim penceresi

SOM renme algoritmas iin geriye yaylma algoritmasnda


olduu gibi hata bilgisi kullanlmadndan an eitiminin baarsn
lmek iin SOM katmann kmeleme veya snflandrma iini ne kadar
iyi temsil ettiini belirlememiz gerekir. Bunun iin SOM katmann
grselletirilmesi yaklamyla eitli yntemler gelitirilmitir. Bu
yntemlerden basit ve etkin bir yntem olan u-Matris gsterimi eitim
penceresinde kullanlmtr. U-Matris gsterimi u ekilde olur:
n , SOM katmanndaki hcre
NN n , n hcresine komu hcreler
w n , n hcresinin arlk vektr

U uzaklk n= d w n , w m
m NN n

d x , y , SOM algoritmasnda kullanlan uzaklk fonksiyonu


77

Bu ekilde SOM katmanndaki her hcre iin bir U-uzaklk deeri


hesaplanm olur. U-uzaklklarndan oluan u-Matris, genellikle gri tonda
resim olarak gsterilir (Ultsch, 2003).

Eitim sonucu oluan a yine eitim pencereleri zerinden


kaydedilebilir ve eitilmi a daha nce bahsedilen YSAOkuyucu snf
yardmyla programlara eklenebilir.

Bu ara sayesinde bir sinir ann grsel olarak oluturulmas,


eitilmesi ve yazlma eklenmesi tek bir ortam ierisinden salanm
olur.

5.4 Gelitirilen Arala rnek Bir Uygulama Gelitirme Sreci

Eclipse ortam ierisinden yapay sinir a grsel gelitirme arac


eklentisi ile bir a oluturmak ve kod ierisinden bu oluturulan a
armak zere izlenmesi gereken admlar aada anlatlmtr.

ncelikle Eclipse ortamnda NewOther ierisinden YsaEditor


Diagram trnden yeni bir dosya yaratlr. Alan dosya zerine
Palette zerindeki sinir a elemanlar istenilen a modeli
oluturulacak ekilde eklenir ve KatmanBaglants eleman ile
katmanlar istenilen srada balanr (ekil 5.18) . Sinir an eitmek iin
istenilen renme algoritmas yine Palette zerinden sayfa zerine
srekle brak mantyla eklenir. Tm a elemanlar zerinde istenilen
sinir hcresi says, renme parametreleri gibi ayarlar istenilen ekilde
ayarlanr.
78

ekil 5.18 Grsel olarak an oluturulmas

A grsel olarak oluturulduktan sonra YSA mens altnda A


Derle komutuyla uzants ysa ve algo olan iki dosya, diyagram
dosyasnn bulunduu dizinde yaratlr. YSA uzantl dosya a yapsn
tutan, algo uzantl dosya ise renme algoritmas bilgilerini tutan XML
biiminde iki dosyadr (ekil 5.19).

ekil 5.19 ysa ve algo uzantl dosyalar


79

Bu dosyalar yaratldktan sonra eer eitim gerekletirilmek


istenirse WindowShow ViewOther ierisinden uygun algoritma
eitme penceresi alr. Eitim penceresi ierisinden eitim verisi seilip
Balat komutuyla istenilen ayarlarla oluturulan renme algoritmas
altrlr (ekil 5.20). Eitim sonunda bu eitilmi a istenilirse eitim
penceresi zerinden Eitilmi A Kaydet komutu ile saklanr.
Eitilmi a, eitim sonucu oluan arlk bilgileri ile birlikte kaydedilir .

ekil 5.20 Oluturulan an eitimi

Grsel olarak an oluturulmas ve eitilmesi ilemlerinden sonra


gelitirilen yazlmn kodu ierisinden bu alarn eklenmesi istenirse
YSAOkuyucu ve AlgoritmaOkuyucu snflar kullanlarak bu
gerekletirilir.

Eitilmi bir an okunmas ve girdi verisi verilip kt alnmas


rnei :
80

Algoritma okuma ve kod ierisinden a eitimi rnei :

5.5 Ktphane zellikleri Karlatrmas

Gelitirilen ktphanenin, daha nce bahsedilen yapay sinir a


ktphaneleri ve aralar ile belli bal zellikler asndan
karlatrlmas yaplmtr (ekil 5.21).

ekil 5.21 Karlatrma tablosu

Gelitirilen ktphaneyi farkl klan iki zellik tabloda


grlmektedir. ncelikle gelitirilen ktphanenin, Eclipse tmleik
81

gelitirme ortamna, yazlm gelitirme srecinde yapay sinir alarn


eklemeyi hzlandracak entegrasyon aracyla birlikte dahil olmas ilk ayrt
edici zelliidir. Dier ayrt edici zellii ise oluturulan yapay sinir
ann dosyada saklanmas iin XML biiminin kullanlmasdr. Bu
sayede ktphanenin farkl versiyonlar ile kaydedilmi sinir alarnn
problemsiz kullanlmas ans arttrlm olunur. Ayrca XML biimi
kaydedilen sinir alarnn farkl yazlmlar tarafndan okunabilmesini ve
hatta kullanlabilmesini de salar.

5.6 Ktphane Performans Karlatrmas

Her ne kadar gelitirilen ktphane ncelikli olarak performans


deerlerinin iyi olmasn hedeflemese de kabul edilebilir bir alma
hzna sahip olmas gerekir. Bu amala gelitirilen ktphanenin JOONE
ve Matlab ortamlar ile a eitimleri srelerinin karlatrlmas
yaplmtr.

Eitim iin oluturulan a tek gizli katmana sahip 3 katmanl bir


adr. Katmanlarn hcre saylar srasyla 2,4,1 olarak XOR problemine
uygun olacak ekilde belirlenmitir. Test ortam iin kullanlan
bilgisayarn iletim sistemi Linux, ilemcisi AMD Athlon 2500+ ve
bellei 1GB'dir. renme algoritmas olarak geriye yaylma algoritmas
kullanlm ve 10000 devir olacak ekilde eitim verisi iin
altrlmtr. JOONE iin, ktphaneyle birlikte gelen rnek kod olan
XOR_using_NeuralNet.java dosyas temel alnarak oluturulmutur.
Matlab iin oluturulan kod aada verilmitir.
82

Tm alar iin eitim 10'ar defa tekrarlanm ve her eitimin


alma sreleri kaydedilmitir. Aadaki tabloda (ekil 5.22) eitim
sreleri mili saniye cinsinden verilmitir. Elde edilen deerlerin grafik
olarak gsterimi ekil 5.23'de verilmitir.

ekil 5.22 Eitim sreleri


83

ekil 5.23 Eitim srelerinin grafiksel olarak gsterimi

Elde edilen deerler tm a yaplar ve renme algoritmalar iin


ayn veya benzer deerler elde edilecei anlamna gelmez. Deerlere
bakldnda geriye yaylma algoritmas iin gelitirilen ktphanenin
alma hz asndan herhangi bir dezavantaj olmad sylenebilir.
Ktphane tarafndan desteklenen dier a modelleri ve renme
algoritmalar da test iin kullanlanlar ile ayn temel yapy paylarlar.
Bu nedenle gelitirilen ktphanedeki tm modeller ve algoritmalar iin
benzer sonular alnabilecei sylenebilir. Ktphanenin gelitirilmesi
aamasnda, tasarm ve gelitirme aralaryla entegrasyon n planda
tutulmasna ramen performans asndan da kullanlabilir olduu
sonucuna varlabilir.

5.7 Yapay Sinir Alarn renme Arac

Gelitirilen yapay sinir a ktphanesi kullanlarak bir renme


arac gerekletirilmitir. Bu ara iin, Java Applet teknolojisi tercih
edildiinden nternet zerinden kullanlabilmesi de mmkn olmaktadr.
84

http://yzgrafik.ege.edu.tr/ysa-applet.html adresinden programa


eriilebilir.

Temel olarak yapay sinir ann yapsn, yani sahip olduu


elemanlarn (sinir hcreleri, balantlar vb.) grselletirilmesi ile
renme algoritmalarnn ileyiinin grselletirilmesini salar. Bunun
yannda ayn arala yapay sinir a oluturmak, eitmek ve bu eitilmi
a kaydetmek de mmkndr. Bu arala yapay sinir alarn renmek
isteyenler iin bir ortam oluturulmutur.

leri beslemeli alar ile Adaline, alglayc ve geriye yaylma


renme algoritmalarn destekler. Ktphanenin destekledii dier
yapay sinir alar modelleri ve renme algoritmalar da eklenebilir. Bu
ara, gelitirilen ktphanenin kullanlmasna bir rnek oluturmas ve
yapay sinir alarnn yapsnn ve algoritmalarnn grselletirilmeyle
retilmesinin temel olarak nasl olabileceini gstermesi asndan
nemlidir. Yapay sinir alarn ve renme algoritmalarn grselletiren
ara ekil 5.24'de gsterilmitir.

ekil 5.24 Yapay sinir a renme arac


85

Bu arala, yaratlan sinir ann almasnn adm adm nasl


gerekletii gzlemlenebilir. renme algoritmasnda hangi admn
uyguland (ekil 5.25) ve sinir a elemanlar zerinde hangi ilemlerin
ve deiikliklerin yapld (ekil 5.26) takip edilebilir. Ayrca hcrelerin
kt deerleri ile balantlarn arlk deerleri de gzlemlenebilir (ekil
5.27 ).

ekil 5.25 renme algoritmas admlar

ekil 5.26 Sinir hcresi zerinde uygulanan ilem

ekil 5.27 Hcre ve balant bilgisi pencereleri


86

6. SONULAR VE TARTIMALAR

Bu almada temel olarak yapay sinir alar tekniinin


yazlmlarda kullanlmasn kolaylatracak aralarn gelitirilmesi
zerinde durulmutur. Grsel aralarn genelde kullanm kolaylatrmas
ve hzl sonu retmeyi salamas asndan yazlm gelitirme
srelerinde de younlukla kullanlmas bu ynde aratrma ve gelitirme
yapmaya ynlendirmitir.

Gelitirilen ktphane yapay sinir alarnn topolojisine mmkn


olduunca uygun olacak ekilde hazrlanmtr. Bu sayede teorik bilgiye
sahip bir kimsenin gelitirilen ktphaneyi kullanrken uyum sresinin
ksa olmas salanabilir.

Yapay sinir alarnn grsel ifadesinin kolay ve anlaml olmas


dolaysyla, gelitirilen ktphane zerinden yapay sinir alarnn
oluturulmas iin grsel dzenleme ve eitim aracnn gerekletirilmesi
mmkn olmutur. Bu sayede hem ktphanenin kullanmn renme
gereksinimi azaltlm olur, hem de hzl bir ekilde grsel ortamda
oluturulan alar yazlmlara eklenebilir.

Eclipse gelitirme ortamnn ilevsel zellikler asndan gl ve


kolayca geniletilebilir olmas, gelitirilen yapay sinir a ktphanesinin
bu ortama entegre bir ekilde kullanlabilmesini salamtr. Yazlm
gelitirme iin gerekli tm aralar ayn ortamda ve birlikte alr olmal,
tmleik gelitirme ortam felsefesine uygun olarak gelitirilen yapay
sinir alar ktphanesi ve aralar da tmleik yazlm gelitirme
ortamna dahil edilmitir.

Nesne ynelimli olarak gelitirilmesi nedeniyle gerekletirilen


ktphane ve aralar dier sinir alar modellerinin de eklenebilmesine
olanak salar.
87

Ktphanenin ve grsel aracn gelitirilmesinde ncelikle izlenen


yaklam yazlm gelitirme srecine entegrasyonu salamaktr. Bunun
dnda ilem hz, bellek kullanm gibi performans konular ikinci
planda dnlmtr. Ancak elde edilen karlatrmalar ve veriler
sonucunda, uygulama aamasnda performans kriterleri asnda
kullanm engelleyecek durumlarn olumad sylenebilir.

Gnmzde renebilen yazlmlarn gelitirilmesi nem


kazanrken, bu amaca hizmet edecek aralarn da gelitirilmesi ve bir
altyap oluturulmas gerekir. Bu ama dorultusunda bakldnda
yaplan bu alma, zeki yazlmlarn gelitirilmesi iin kullanlabilecek
bir ara olarak deerlendirilebilir.
88

KAYNAKLAR DZN

Abdi, H., 1994, A Neural Network Primer, Journal of Biological


Systems, vol.2, 247-283pp

Asakawa K., Takagi H. , 1994, Neural networks in Japan , Commun.


ACM vol. 37, 106-112pp

Eclipse Foundation, http://www.eclipse.org

Fahlman E. S., 1990, The recurrent cascade-correlation architecture,


NIPS-3: Proceedings of the 1990 conference on Advances in neural
information processing systems 3, 190-196pp.

Fausett L.V., 1994 , Fundamentals of Neural Networks, Prentice-Hall.

Haykin S., 1999, Neural Networks A Comprehensive Foundation,


Prentice Hall

Hebb DO., 1949, The Organization of Behavior, John Wiley

Hecht-Nielsen R. , 1988, Applications of counterpropagation networks,


Neural Networks. Vol. 1, 131-139 pp.

Hopfield JJ., 1984, Neurons With Graded Response Have Collective


Computational Properties Like Those of Two-State Neurons, Proc
National Academy of Science ,81: 3088-3092pp.

Klimasauskas C. , 1989 , Neural networks: a new technolgy for


information processing , SIGMIS Database vol.20, 21-23pp

Kohonen, T.; 1990 , Improved versions of learning vector quantization

Neural Networks, 1990., 1990 IJCNN International Joint


Conference vol.1 , 545 550 pp.

Kohonen T., 1988, An Introduction to Neural Computing, Neural


Networks vol.1, pp.3-16
89

Kohonen T., 1982, Self-organized formation of topologically correct


feature maps, Biological Cybernetics, vol.43, 59-69 pp.

Krse B., Smagt P., 1996, An Introduction to Neural Networks, The


University of Amsterdam

McCulloch WS, Pitts W., 1943, A Logical Calculus of the Ideas


Immanent in Nervous Activity. Bull Mathematical Biophysics,
115-133pp.

Minsky M., Papert S., 1969 , Perceptrons: An Introduction to


Computational Geometry, MIT Press

Rosenblatt F., 1962, Principles of Neurodynamics, Spartan

Russell S. J., Norvig, P., 1995, Artificial Intelligence: A Modern


Approach, Prentice-Hall.

Sondak N. E. , Sondak V. K., 1989, Neural networks and artificial


intelligence, SIGCSE '89: Proceedings of the twentieth SIGCSE
technical symposium on Computer science education, 241-245pp.

Ultsch A., 2003 University of Marburg, Department of Computer


Science, Technical Report, Nr. 36

Widrow B., Lehr M. A., 1990, 30 years of adaptive neural networks:


Perceptron, madaline, and backpropagation, Proc. IEEE, 78:1415
1442.

Wikipedia, http://www.wikipedia.org
90

ZGEM

Ad Soyad : Ahmet Cumhur KINACI

Doum Tarihi : 20.06.1980

Doum Yeri : Sandkl

Medeni Hali : Bekar

Uyruu : T.C.

Eitim

Yksek Lisans : 2003- Ege niversitesi

Fen Bilimleri Enstits

Bilgisayar Mhendislii Anabilim Dal

Lisans : 1998-2003 Orta Dou Teknik niversitesi

Fen Edebiyat Fakltesi

statistik Blm

Ortaokul-Lise : 1991-1998 Ankara Fethiye-Kemal Mumcu


Anadolu Lisesi

Aratrma Alanlar : Yapay zeka, yapay sinir alar, yazlm


mhendislii

Yabanc Dil : ngilizce

Вам также может понравиться