LinkedIn FriendFeed Twitter

Çok Katmanlı Yapay Sinir Ağları ile Sistem Tanıma

by Ordinaryus 5. February 2010 21:08

Perceptron ile alakalı yazımda belirli dönüşümler kullanarak sorunun çözülmesi gerekmekteydi ve sistem lineer olarak ayrıştırılamayan bir sistem olduğundan Rossenblat katmanı kullanarak sistemin ayrıştırılabilir bir hale getirilmesini sağlayacak uygun bir dönüşüm bulunması gerekmekteydi.

Biz bu sistemde öncelikli olarak böyle bir ekstra katman yaratmak ve bunların aktivasyon fonksiyonlarını belirlemek zorunda değiliz. Bunun çok katmanlı algılayıcımız zaten bizim için yapmaktadır. Bizim burada sistemin performansını etkileyecek doğru sayıda giriş çıkış, öğrenme katsayısı belirlemek gibi görevlerimiz bulunmaktadır. Bunun dışında sistem zaten eğitim sonrasında bu verileri ayırabilir duruma gelmektedir. Burada önemli kriterlerden biri sistemin sorudaki 25 noktaya özel olarak eğitildikten sonra ezberleme ile mi yoksa genelleme ile mi sonuca ulaştığını tespit etmektir.

Buradaki sistem içinde birçok katmanlı algılayıcı tasarlanmıştır. Sistemin 2 adet girişi noktaların koordinatlarını temsilen, 2 adet çıkış ise hangi sınıfa mensup olduklarını temsil etmek amacıyla konulmaktadır. Burada elemanların belirtilen eğitim kümesi için eğitilmesinden sonra giriş değerleri olarak da [-2 2] Aralığından rastgele noktalar seçilerek test yapılmıştır. Burada sistemlerin çıkışlarından her 2 değer içinde verdikleri tepkilerin büyük olarak görülmektedir. Burada en büyük olan değer seçilmeye çalışıldığından sistemden uygun çıkışlar alınmaktadır.

Aşağıda sıralı olarak verilmiş olan benzer bir dikdörtgene ait verilerden elde edilmiş olan bir test sınıfı için çıkışlar eğitim kümesindekine uygun olarak verilmektedir. Burada verilerin sıralı dolması giriş değerleri içinde benzer bir sırada verilmesinden kaynaklanmaktadır.

clip_image002    

Şekil 5: Sistemleri ayart etme başarısı

 

Çok Katmanlı Ağ ile Tanıma  

Çok katmanlı ağımızı ilk soruda da olduğu genellikle sınıflandırma problemleri üzerine kullandık ancak yapay sinir ağlarının pek çok işlevi ve farklı uygulama alanları da bulunmaktadır. Bunların başlıcalar tanıma,  sınıflandırma, eğri uydurma vb.

Yapay sinir ağları kullanılarak yapılan sistemlerin birine örnek verecek olursak. Genellikle görüntü işleme uygulamaları beraber kullanılmaktadırlar. Bunlar içerisinde face recognition uygulamaları fazlasıyla bulunmaktadır.

Burada sisteme eğitim amaçlı olarak belirli kişi veri tabanlarından örnek görüntüler yüklenmektedir. Bunların mümkün olduğunca farklı ortam şartlarında ve kişiyi en iyi temsil edecek şekilde seçilmesi önemli olmaktadır. Bu sistemin fazla sayıda fotoğraf ile eğitilmesi sonucunda yüz görüntülerine özel bir ortalama yüz elde edilebilmektedir. Yöntemlerden en bilineni ve uygulaması en basit olanı ortalama bir yüz (eigenface) elde etmek ve bunun üzerinden diğer kişilerin bu ortalamaya olan uzaklıklarından yerlerinin belirlenmesidir. Sistem bu şekilde eğitildikten sonra yeni bir görüntü geldiğinde ortam şartları (aydınlanma, face pose, gestures) değişmesine rağmen yüz için belirlenen featurlar eşleştirilerek eldeki veri tabanında en yakın sonucu geri getirmektedir. Burada sistemin tanıma kriterleri biraz daha sıkı tutularak yanlış sonuçlar alınması da engellenebilmektedir.

Bizim sistemimizde de farklı karakterler için eğitildikten sonra aslında sistemin girişlerine karşı verilen çıkışlara bakıldığından tasarlanan sistemde o karakteri temsil eden çıkışın değerinin en yüksek olması beklenmektedir. Bu şekilde sistem girilen veriye en yakın çıkışı veren sistemi bir bakıma bize geri vermiş olmaktadır.

Sistem tanıma problemi üzerine ilgilenirken yapmış olduğumuz ve başarıma etkiyen parametreleri tekrar inceleyelim. Burada ağın nasıl tasarlandığı, eğitim ve test kümelerimiz bizim için önemli olmaktadır.

Eğitim kümesinin seçiminde belirli bir başlangıç koşulu için takip eden işaretler ve bunların sistem üzerindeki hatanın minimumlanması ile ağ katsayılarını güncellemesi ile gerçeklenmektedir. Daha sonra bu verilerin devamlılığı sağlanır ancak bu kez aradaki geri besleme hattı ortadan kaldırılmaktadır. Ancak bu zamana kadar sistem öğrenildikten sonra başarılı bir şekilde veriler birbiri ile uyuşmaktadır.

clip_image004

Şekil 6: Sistemin Eğitim ve test düzenekleri

 

Eğitimde sistemin takip etmeye başlamasına kadar geçen süre içerisinde ağırlıklar sürekli güncellenerek sistem öğrenilmektedir. Daha sonra bu sistemin verileri ile uygun sonuçlar elde edilmeye başlanmıştır.

Test aşamasına gelindiğinde ise takip eden veri dizgisi kullanılmıştır ve bunlar üzerinden kıyaslama yapılıp geri besleme yolu ortadan kaldırılmıştır.

Sistemin tanınmasının başarımı belirlemede bir diğer kullanılan yöntem ise durum portresinin oluşturulmasıdır. Bu sistem için biz eğitim ve test süreçlerinde durum portrelerine bakacak olursak (şekil 7).

clip_image006

Şekil 7: Billings sistemi durum portresi

Billing Sistemi

Billing sistemleri dinamik bir sistem üzerinde katsayıların güncellenmesine dayalı olarak çalışan bir sistemdir ve sistemin taklit edilmesi için kullanılmaktadır.

Borsada özellikle zaman serileri analizi önemli bir rol oynamaktadır. Geçmiş verilerden gelecekteki değerleri tahmin edebilecek bir sistem yapılması üzerinde özellikle önemli çalışmalar sürmektedir. Bunların başında Monte-Carlo modeli, Markov serileri yer almaktadır. Yapay sinir ağları ile de sistemlerin eğer bir modele uydurabiliyorsak (Borsa örneğinde böyle bir model kurmak mümkün değildir.) bunun için gelecek dataların tahmin edilmesi üzerine bir sistem kurulabilmektedir.

Buradaki örneğimizde verilen sistem modeli için gelecek değerlerin tanımlanması sağlanabilmektedir. Öncelikle seçilen whitenoise genliği bizim için önemli olmaktadır. Bunun dışında sistemin başlangıç değerlerinin belirlenmesi de önemli bir kriterdir.

Uygulama çalışırken başarılı değerler yakalanabilmiştir ancak burada sistemin başarımında etkili parametrelerin seçimi önemli olmaktadır.     

clip_image008

Şekil 8: Sistemin eğitim fazı

Tags: , ,

Yapay Zeka | Neutral Networks

Add comment




  Country flag

biuquote
  • Comment
  • Preview
Loading



Powered by BlogEngine.NET 1.5.0.7
Theme by Mads Kristensen

Ordinaryus Hakkında


Hayata gözlerini İzmirde açtı. 3 yaşında legolarla oynadı =) Küçük yaşta baskete başladı zaten başka sporlarla arası hiç olmadı. Orta okulda matematikle ilgilendi. Liseyi Karşıyaka Anadolu Lisesinde okudu. 

2006da İTÜ Elektronik Mühendisliğini kazandı. Sonrasında Fizik bölmünde çift anadala kabul oldu. Fantazi olarak fzik dersleri alıyor. Biryandan da kuluplere saldırdı. Öğrendi, öğrendiklerini paylaştı. Ara sıra ineklik etti, etmekte =)

Yazılımı sevdi... Odur budur derken yolunu çizmeye çalıştı. Hala da çalışıyor..

2008te MSP oldu belkide bu blogu yazmaya başlamamda en büyük etken=) Zamanla yazılım dünyasında Ordinaryus olmayı hedeflemekte =) 

Yapay Zeka, Görüntü İşleme, Kuantum Mekaniği, Bilişsel Bilimlerle ilgili. Geceleri öle kafasına göre takılıyo. Sabahlarıda öğrencilik yapıyo =)

gibi gibi... 

 

Page Rank

Şuan ne okuyorum

Bilişsel Psikoloji

Ramayla Buluşma


Ayrıca okuduklarımdan seçtiğim kitaplara buradan ulaşabilirsiniz..

Okuduklarımı üye olarak takip etmek için ise aşağıdaki RSS bağlantısını kullanabilirsiniz. Ayrıca bana kitapta hediye edebilirsiniz =)


Google Translate


CCL


Copyright © Ordinaryus Says That by http://www.vypro.org/ is licensed under a Creative Commons Attribution-No Derivative Works 3.0