Yapay Sinir Ağları

Yapay Sinir Ağları (YSA) Nedir ?

ysa nedir

What is the Artificial Neural Networks (ANN) ?

Yapay Sinir Ağları kısaca YSA olarak adlandırırsak; insan beyninin çalışma yapısını taklit ederek geliştirilen yapay zeka tekniklerinden sadece biridir. Peki, Yapay Zeka nedir, nasıl ortaya çıktı?

Yapay Zeka (Artifical Intelligent)

data-brain-e1338974487390

Yapay zeka, makinelere insanlar gibi düşünme, karar verme, karşılaştırma, analiz etme gibi birtakım fonksiyonların kazandırılmasıdır. Fikir babası ise, “Makineler Düşünebilir Mi ?” sorunsalını ortaya atan ünlü İngiliz matematikçi ve bilgisayar bilimci Alan Mathison Turing’dir. Hani şu meşhur Turing Testi’nin sahibi, aynı zamanda 2. Dünya Savaşında sırasında Arthur Scherbius’un Enigma’sını kıran(!) kişi.

[blockquote]

Turing testi, bir makinenin düşündüğünü söylemenin mantıksal olarak mümkün olup olmadığıdır. Turing testine göre makine, gönüllü bir insanla birlikte, sorgulayıcının görüş alanının dışında bir yere saklanır. Sorgulayıcı yalnız soru sormak suretiyle hangisinin insan hangisinin bilgisayar olduğunu saptamaya çalışır. Sorgulayıcının soruları ve daha önemlisi aldığı yanıtlar, tamamen ses gizlenerek, yani ya bir klavye sisteminde yazılarak veya bir ekranda gösterilerek verilir. Sorgulayıcıya bu soru-cevap oturumunda elde edilen bilgiler dışında her iki taraf hakkında hiçbir bilgi verilmez. Dizi halinde tekrarlanan testler sonucunda sorgulayıcı, tutarlı bir şekilde insanı saptayamadığı takdirde makine Turing testini geçmiş sayılır.

(Kaynak: https://tr.wikipedia.org/wiki/Turing_testi )

[/blockquote]

Makineler Düşünebilir mi?

Sahi, makineler düşünebilir mi?, insan beyni içerisinde yer alan 1011 ile 1012 arasında hücre var iken bir bilgisayar yazılımı insan beyinini taklit edebilir miydi? Sonunda olan oldu, IBM 1997 yılında Deeper Blue ile Kasparov’un karşına çıktı bknz: Kasparov IBM Deep Blue2’ye Yenildi

Geçtiğimiz günlerde ise Google şirketi Deep Mind’in yapay zekâ yazılımı AlphaGo, Avrupa şampiyonu Fan Hui’yi 5-0’lık net bir skorla yendi. Bakalım daha neler göreceğiz.

Turing testine dönecek olursak, yapay zekâ problemlerinin çatısı sayılmakta ve yapay zeka kavramının somut hale gelmesini ve gün yüzüne çıkmasını sağlamıştır.


MV5BNDkwNTEyMzkzNl5BMl5BanBnXkFtZTgwNTAwNzk3MjE@._V1_SX640_SY720_Alan Turing’i ve Enigma’yı daha da yakından tanımak isterseniz; 2014 yapımı “The Imitation Game” filmi ile sizi baş başa bırakıyorum.

Buradan http:/www.imdb.com/title/tt2084970/ film hakkında bilgilere ulaşabilirsiniz.

Film Alan Turing adlı matematikçinin II. Dünya Savaşı sırasında Nazilerin kullandığı Enigma kodunu çözme çabasını anlatır.

İyi seyirler


 

Yapay Zeka Teknikleri

  • Uzman Sistemler (Expert Systems)
  • Bulanık Mantık (Fuzzy Logic),
  • Yapay Sinir Ağları (Artificial Neural Networks),
  • Genetik Algoritmalar (Genetic Algorithms),

Kısaca teknikleri açıklayacak olursak;

  • Uzman Sistemler, uzmanların belli bir konudaki bilgi ve deneyimlerinin bilgisayara aktarılmasını amaçlayan sistemlerdir.
  • Bulanık Mantık, 1965 yılında Prof. Dr. Lütfi Aliasker Zade tarafından tanımlanmış olup, bulanık küme teorisine dayanmaktadır. Hava sıcaklığını “Sıcak ve Soğuk” olarak değil de Sıcak-Ilık-Az Soğuk-Çok Soğuk gibi ara değerlere göre çalışmaktadır. Peki, Bulanık Küme Teorisi nedir? O da sizin ödeviniz olsun 🙂
  • Genetik Algoritmalar ise karmaşık optimizasyon problemlerinin çözülmesinde kullanılan bir teknolojidir ve evrimsel hesaplama tekniğinin bir parçasını oluşturur.
  • Peki, Yapay Sinir Ağları ?

Yapay Sinir Ağları (Artificial Neural Networks)

artificial_neuron

YSA, insan beyninin çalışma mekanizmasını taklit ederek beynin öğrenme, hatırlama genelleme yapma yolu ile yeni bilgiler türetebilme gibi temel işlevlerini gerçekleştirmek üzere geliştirilen mantıksal yazılımlardır. YSA biyolojik sinir ağlarını taklit eden sentetik yapılardır.

YSA, biyolojik sinir ağları taklit eden sentetik ağlardır. (Egrioglu, Aladag, Yolcu, Uslu, & Basaran, 2009).

İlk yapay sinir ağı modeli 1943 yılında bir sinir hekimi olan Warren McCulloch ve bir matematikçi olan Walter Pitts tarafından Sinir Aktivitesinde Düşüncelere Ait Bir Mantıksal Hesap (A Logical Calculus of Ideas Immanent in Nervous Activity)  başlıklı makale ile ortaya çıkarılmıştır. Sinir sistemi elemanlarının, Yapay Sinir Ağı modelindeki terminolojisi aşağıdaki tabloda belirtilmiştir.

 

Sinir Sistemi Yapay Sinir Ağı
Nöron İşlem Elemanı
Dentrit Toplama Fonksiyonu
Hücre Gövdesi Aktivasyon Fonksiyonu
Akson Eleman Çıkışı
Sinaps Ağırlıklar

ysa_revise

Yapay sinir ağları modelleri ile İstatistiksel modeller benzer ya da özdeş olmasına rağmen kullanılan terminolojiler farklılık göstermektedir. Aşağıdaki tablo da bazı YSA ve istatistik terminolojilerinde aynı kavramları belirten bazı terimler gösterilmektedir.

 

YSA Terminolojisi İstatistik Terminolojisi
Yapay Sinir Ağı Model
Ağırlık Parametre
Girdi Bağımsız değişken
Çıktı Tahmin değeri
Hedef Bağımlı değişken
Hata Artık
Hata çizgisi Güven aralığı

 Yapay Sinir Ağlarının Özellikleri

  • Doğrusal Olmama
  • Paralel Çalışma
  • Öğrenme
  • Genelleme
  • Hata Toleransı ve Esneklik
  • Eksik Verilerle Çalışma
  • Çok Sayıda Değişken ve Parametre Kullanma
  • Uyarlanabilirlik

Yapay Sinir Ağlarının Temel Bileşenleri

  1. Mimari Yapı
  2. Öğrenme Algoritması
  3. Aktivasyon Fonksiyonu

Bu bileşenler öngörü performansını doğrudan etkilemekte olduğu için karar noktasında verinin yapısına uygun olan tercih edilmelidir

1.Mimari Yapı

mimari yapı

Girdi, Gizli ve Çıktı tabakalarından oluşan 3 tabakalı (ya da katmanlı) ileri beslemeli bir sinir ağı modeli görülmektedir.

 İleri Beslemeli YSA Modeli

ileri beslemeli ysa

  • Tek yönlü bilgi akışı söz konusudur.
  • Bu ağ modelinde Girdi tabakasından alınan bilgiler Gizli katmana iletilir.
  • Gizli ve Çıktı tabakalarından bilginin işlenmesi ile çıkış değeri belirlenir.

Geri Beslemeli YSA Modeli

geri beslemeli ysa

  • Bir geri beslemeli sinir ağı, çıkış ve ara katlardaki çıkışların, giriş birimlerine veya önceki ara katmanlara geri beslendiği bir ağ yapısıdır. Böylece, girişler hem ileri yönde hem de geri yönde aktarılmış olur.
  • Bu çeşit YSA’ların dinamik hafızaları vardır ve bir andaki çıkış hem o andaki hem de önceki girişleri yansıtır. Bundan dolayı, özellikle önceden tahmin uygulamaları için uygundurlar. Geri beslemeli ağlar çeşitli tipteki zaman-serilerinin tahmininde oldukça başarı sağlamışlardır. Bu ağlara örnek olarak Hopfield, SOM (Self Organizing Map), Elman ve Jordan ağları verilebilir

2.Öğrenme Algoritması

Bir bilgi kaynağından öğrenebilme yeteneği YSA’nın en önemli özelliklerinden biridir.  Yapay sinir ağlarında bilgi, ağdaki sinirlerin bağlantılarının ağırlıklarında tutulur. Bu nedenle ağırlıkların nasıl belirleneceği önemlidir. Bilgi tüm ağda saklandığı için bir düğümün sahip olduğu ağırlık değeri tek başına bir şey ifade etmez. Tüm ağdaki ağırlıklar optimal değerler almalıdır. Bu ağırlıklara ulaşılabilmesi için yapılan isleme “ağın eğitilmesi” denir. Buna göre bir ağın eğitilebilir olabilmesi için ağırlık değerlerinin belirli bir kural dahilinde dinamik olarak değiştirilebilir olması gerekmektedir.

Kısaca ifade edecek olursak; “Öğrenme işlemi, ağırlıkların en iyi değerinin bulunması” olarak tanımlayabiliriz.

3.Aktivasyon Fonksiyonu

Aktivasyon fonksiyonu girdi ve çıktı birimleri (katmanları) arasındaki eğrisel eşleşmeyi sağlar. Aktivasyon fonksiyonunun doğru seçilmesi ağın performansın önemli derecede etkiler. Aktivasyon fonksiyonu genelde tek kutuplu (0 1), çift kutuplu (-1 +1) ve doğrusal olarak seçilebilir. Ağın doğrusal olmayan yapıyı öğrenmesini sağlayan bileşenidir.

Bazı Aktivasyon Fonksiyonları
  • Adımsal Aktivasyon Fonksiyonu
  • Sigmoid Aktivasyon Fonksiyonu
  • Parçalı Doğrusal Aktivasyon Fonksiyonu
  • Gaussian Aktivasyon Fonksiyonu
  • Doğrusal Aktivasyon Fonksiyonu
  • Hiberbolik Tanjant Aktivasyon Fonksiyonu

Yapay Sinir Ağları geniş bir kullanım alanına sahiptir; Güvenlik, Otomotiv, Bankacılık, Finans, Sağlık gibi alanlarda kullanılmaktadır. Uygulama alanları aşağıda belirtilmiştir.

Uygulama Alanları
  • Örüntü Tanıma*
  • Sınıflandırma
  • Kümeleme
  • Tahmin Yürütme
  • Optimizasyon
  • Öngörü, tahmin
  • Zaman Serileri Analizi
  • Regresyon
  • Fonksiyon Kestirme
  • Kontrol Benzetimi

Örüntü tanıma noktasında, resim nesnelerini sınıflandırma ve analizinde YSA’nın özel bir hali olan Derin Öğrenme (Deep Learning) yaygın olarak kullanılmaktadır.

Bazı Uygulama Programları

Ticari Yazılımlar Ticari Olmayan yazılımlar
Matlab Neural Networking Toolbox R
SPSS (Statistics ve Modeler) Fast Artificial Neural Network Library (FANN)

Uygulama

İlk olarak, YSA ile Çarpma İşlemi, ardından Altın (Ons) Fiyat Tahmini (Öngörü) ve Gögüs Kanseri Verilerinin Çözümlenmesi (Sınıflandırma) başlıkları altında sizlere 3 örnek sunacağım.

1.YSA ile Çarpma İşlemi

Çarpma işlemi doğrusal olmayan bir işlemdir ve yapay zekâ için zor bir problemdir. Bu örnekte 1 ile 10 arasındaki sayıların çarpım işlemi YSA’ya öğretilmiştir. Çarpma işleminde iki giriş(x ve y) ve bir çıkış(z) vardır. Eğitim veri setinde 20 adet rastgele sayı seçilerek YSA Modeli kurulmuştur. Bu model üzerinden Test veri seti için yine 20 adet rastgele sayı seçilerek sistemin performansı ölçülmüştür.

Öngörü performansını doğrudan etkilediği için; Mimari Yapı, Öğrenme Algoritması, Aktivasyon Fonksiyonlarının seçimi önem arz etmektedir.

Öğrenme algoritması: Levenberg-Marquart,

Aktivasyon Fonksiyonları: Tanjant Sigmoid (Girdi ile Gizli Katman Arası) ve Purelin (Gizli ile Çıktı Katman Arası)

Gizli Nöron Sayısı: 1-10 arasında (En İyi Perf Göre Seçiliyor)

Performans Ölçütü: Root Mean Square Error – RMSE, (Hata Kareler Ortalamasının Karekökü HKOK)

Veri Seti Tablosu
No Eğitim
Giriş Verisi
Eğitim
Çıkış Verisi
Test
Giriş Verisi
Test
Çıkış Verisi
X Y Z X Y Z
1 4 5 20 4 3 12
2 7 4 28 3 2 6
3 0 1 0 0 9 0
4 6 4 24 5 6 30
5 9 1 9 3 10 30
6 4 5 20 10 10 100
7 1 9 9 7 7 49
8 6 9 54 3 5 15
9 6 0 0 3 7 21
10 3 1 3 8 1 8
11 6 1 6 2 2 4
12 7 5 35 6 7 42
13 3 5 15 8 0 0
14 7 8 56 2 5 10
15 3 3 9 4 3 12
16 3 7 21 1 8 8
17 9 8 72 4 7 28
18 9 9 81 6 1 6
19 2 9 18 3 10 30
20 10 8 80 9 4 36

 

Performans Tablosu
Gizli Katmandaki
Nöron Sayısı
En İyi Performans
Değerleri
1 0,01283182
2 0,000374943
3 8,47031E-07
4 1,15522E-08
5 5,71441E-08
6 7,65397E-07
7 1,50007E-08
8 1,5496E-15
9 9,82129E-12
10 9,24E-17

Girdi tabakasındaki nöron sayısı (x ve y olmak üzere) 2 tabaka, gizli tabakadaki nöron sayısı minimum Rmse değerine sahip olacak şekilde 1 ile 10 arasında değiştirilmiş olup, çıktı tabakasındaki nöron sayısı (z olmak üzere) 1 tabakadan oluşmuş olup toplamda 10 model denenmiştir. En iyi model en küçük Rmse değerine sahip 2-10-1 modeli olup olduğu gözlenmiş ve çıktıları aşağıda verilmiştir.

Veri Seti Yöntem Model RMSE
Rasgele Çarpma Veri Seti İleri Beslemeli YSA (2-10-1) 0,0000000000000000924

 ysa grafik

ysa grafik 22.Altın (Ons) Fiyat Tahmini

Bu çalışmada Altın (ons) fiyatları ele alınmıştır. Altın (ons) fiyatları 2 Ocak 2012 ile 8 Ağustos 2012 tarihleri arasındaki günlük altın kapanış değerleri içeren 156 gözlemden oluşmaktadır. Bu seri için ilk 140 gözlem (2 Ocak 2012 – 17 Temmuz 2012) belirlenen eğitim algoritması ile ağ eğitilmiş, sonraki 16 gözlem (18 Temmuz 2012 – 08 Ağustos 2012) ise tahmin edilerek gerçek değerler ile karşılaştırılarak modelin performansı ölçülmüştür. Altın (Ons) Fiyat verileri Türkiye Cumhuriyeti Merkez Bankasından alınmıştır.

altın fiyat tahmini

Uygulama Adımları;
  • Veri setinin ilk 140 gözlemi eğitim, son 16 gözlemi test için kullanılmıştır.
  • Öğrenme Algoritması: Levenberg-Marquardt
  • Aktivasyon Fonksiyonları: Tan-Sigmoid ve Doğrusal fonksiyonlardır.
  • Girdi ve gizli tabakalardaki nöron sayısı 1 ile 12 arasında değiştirilmiş olup, çıktı tabakasındaki nöron sayısı 1 olarak sabit alınarak altın (ons) fiyat serisi için 144 model denenmiştir.
 Performans Ölçütü
  • Performans ölçütü olarak Hata Kareler Ortalamasının Karekökü kullanılmıştır.

hkok

Veri Seti Yöntem Model HKOK
Altın (Ons) İleri Beslemeli YSA (1-4-1) 11,0558

Bu tabloda en iyi YSA modelini görmekteyiz. Burada Altın (ons) fiyatları için ileri beslemeli sinir ağları ile bulunan en iyi mimari 1-4-1’dir. Bu bize sinir ağındaki girdi tabakasında 1 nöronun, gizli tabakada 4 nöronun bulunduğu mimari yapının en iyi öngörü sonuçlarını veren yapı olduğunu göstermektedir. Bu mimari ile elde edilen öngörülerin test kümesi üzerinden hesaplanan hata kareler ortalamasının karekökü değeri 11,0558’tir.

Gözlem ve Tahmin Sonuçları

gözlem ve tahmin sonuçları

Test kümesi üzerinde elde edilen grafikte, Gözlem ve Tahmin değerleri yer almaktadır. Mavi renk gözlem değerlerini, Yeşil renk ise Tahmin değerlerini içermektedir. Tahmin değerlerinin, gözlem değerlerine yaklaştığı ve kırılmaları yakaladığı görülmüştür.

Bu çalışma, 10. Uluslararası İstatistik Öğrenci Kolokyumun da tarafımdan sözlü sunum olarak sunulmuştur.

3. Gögüs Kanseri Verileri ile Sınıflandırma

Bu çalışmada kullanılan göğüs kanseri verisi 9 adet özellik, 2 adet sınıf bilgisi içeren 699 gözlemden oluşan bir veri setidir.

Bağımsız Değişkenler
  1. Kütle kalınlığı (Clump thickness)
  2. Hücre büyüklüğünün üniformluğu (Uniformity of cell size)
  3. Hücre şeklinin üniformluğu (Uniformity of cell shape)
  4. Marjinal yapışma (Marginal Adhesion)
  5. Tek epithelial hücre büyüklüğü (Single epithelial cell size)
  6. Yalın çekirdek (Bare nuclei)
  7. Hafif kromatin (Bland chomatin)
  8. Normal Nükleoli (Normal nucleoli)
  9. Mitozlar (Mitoses)
Bağımlı Değişkenler
  1. İyi Huylu (Bening)
  2. Kötü Huylu (Malignant)

Veri setine ait dağılımlar aşağıdaki tablo da gösterilmiştir.

  Eğitim Kümesi Test Kümesi Toplam
Sınıf Gözlem Yüzde Gözlem Yüzde Gözlem Yüzde
İyi Huylu 394 0,66 64 0,61 458 0,66
Kötü Huylu 200 0,34 41 0,39 241 0,34
Toplam 594 105 699
Uygulama adımları;
  • Uygulama Göğüs Kanseri verileri ele alınmıştır.
  • Kanser verileri 699 gözlemden oluşmaktadır.
  • Bu veri seti için 594 gözlem eğitim algoritması ile ağ eğitilmiş, sonraki 105 gözlem ise tahmin edilerek sınıflandırma yapılmış ve gerçek sonuçlar ile karşılaştırılarak modelin performansı ölçülmüştür.
  • Kanser verileri Matlab R2012a paket programı içerisinden alınmıştır.
  • Veri setinin 594 gözlemi eğitim, 105 gözlem ise test için kullanılmıştır.
  • Yapay sinir ağı mimarisi girdi, gizli ve çıktı katmanı olmak üzere 3 katman kullanılmıştır.
  • Girdi katmanında nöron sayısı 9, Gizli katmandaki nöron sayısı 1 ile 10 arasında değiştirilmiş olup, çıktı tabaksındaki nöron sayısı 2 olarak alınmıştır.
  • Öğrenme algoritması Levenberg-Marquard geri yayılım öğrenme algoritmasıdır.
Veri Seti Yöntem Model
Kanser Verisi İBYSA 9-2-2

 

Gözlenen Tahmin
İyi Huylu Kötü Huylu Yüzde
İyi Huylu 61 3 0,953
Kötü Huylu 0 41 1,000
Toplam Yüzde 0,971

Yapay sinir ağlarının başarı ile kullanıldığı alanlardan birisi de sınıflandırma problemleridir. Bu çalışmada, göğüs kanserine ilişkin veri setindeki bağımsız değişkenler kullanılarak sınıflandırma yapılmıştır.

Test veri setinde sonuçlarına göre;

  • İyi Huylu dağılımına sahip 64 birimin YSA tahmininde 61 tanesi yani %95’i İyi Huylu, 3 tanesi ise Kötü Huylu olarak sınıflandırılmış,
  • Kötü Huylu dağılımına sahip 41 tanenin tamamı ise doğru olarak sınıflandırılmıştır.
  • Sınıflandırma başarısı %97 olarak görülmüştür.

Yazının sonuna gelenler için, Eray Aktokluk arkadaşımınızın Yapay Sinir Ağı Anlatımı videosunu https://www.youtube.com/watch?v=NkUY-VBQfTo tavsiye ediyorum.

Görüş, öneri ve katkıda bulunmak ve beraber öğrenmek isterseniz [email protected] ‘dan bana ulaşabilirsiniz. Görüşmek üzere.

Kaynakça

1- Yapay Sinir Ağları İlkeleri; Zekâi Şen; Su Vakfı Yayınları

2- Tek Değişkenli Zaman Serileri Analizine Giriş; Prof. Dr. Süleyman Günay, Dr. Erol Eğrioğlu, Çağdaş Hakan Aladağ; Hacettepe Üniversitesi Yayınları – 2007

3- Şifrelerin Matematiği: Kriptografi; Canan Çimen, Sedat Akleylek, Ersan Akyıldız

ODTU Yayıncılık (4. Baskı) Temmuz 2009

4- Yapay Sinir Ağları Kullanılarak Altın(Ons) Fiyat Tahmini; Metin USLU; 10. Uluslarararası İstatistik Öğrenci Kolokyumu Sözlü Sunumu; Mayıs 2013

5-Gögüs Kanseri Verilerinin YSA ile Çözümlenmesi; Metin USLU;2013

İstatistik ve Bilgisayar Programlama bölümü mezunu olan Metin; İstatistiksel Modelleme, Yapay Sinir Ağları ve Veri Madenciliği konularına ilgi duymakta ve çalışmalar yapmaktadır. veribilimci olma gayreti içerisinde ama yolun çok başında. İleri spor istatistiklerine de bayılıyor. Daha çok kendi halinde, kitap ve basket sever.