• Sonuç bulunamadı

4. KULLANILAN SINIFLANDIRMA VE KÜMELEME YÖNTEMLERİ

4.1. Sınıflandırma

4.1.1. Yapay Sinir Ağları

Olasılıksal olmayan sınıflandırıcılar literatürde ilişkisel, bilgi temelli gibi isimlerle de karşımıza çıkabilir. Genelde, sınıf etiketi bilinen örneklerden yola çıkarak bir takım ilişkilerin varlığını tespit etmeye çalışırlar ya da bir başka deyişle etiketleri bilinen örneklerden bir takım bilgiler elde ederler. Daha sonra ise bu ilişkiler veya bilgiler ışığında yeni gelen örnekleri bir sınıfa atarlar. Destek vektör makineleri, K en yakın koşu, yapay sinir ağları gibi yöntemler olasılıksal olmayan sınıflandırma yöntemlerine örnek olarak verilebilir.

4.1.1. Yapay Sinir Ağları

YSA (Yapay Sinir Ağları) kavramının ortaya çıkışı, sinir bilimi, mantık ve sibernetik üzerine çalışmalar yapan Warren McCulloch ve Walter Pitts tarafından sinirsel aktivitelerin mantıksal olarak modellenmesi amacıyla 1943 yılında yapılmış olan bir çalışmaya dayanır (McCulloch ve Pitts, 1943). YSA, insan beynindeki biyolojik sinir ağlarının çalışma mantığını taklit etmek amacıyla geliştirilmiştir (Civco, 1993; Fish ve ark., 1995; Corchado ve Lees, 1998; Khan ve ark., 2001; Topcu ve Sarıdemir, 2008).

Çeşitli alanlardaki farklı türlerden problemlerin (Yao ve Liu, 1997; Cannady, 1998; Zhang ve ark., 1998; Hydrology, 2000; Kalogirou, 2000; Dawson ve Wilby, 2001) çözümünde kullanılabilen YSA için zaman içerisinde çok sayıda tanım yapılmıştır. Bu tanımlardan bazıları şunlardır.

• YSA, tecrübeler sonucu elde edilen bilginin depolanmasını ve gerektiği zaman kullanılmak üzere hazır hale getirilmesini sağlayan paralel olarak dağıtılmış çok büyük ölçekteki bir işlemcidir (Haykin, 1994).

• YSA, ağın yapısına, bağlantı ağırlıklarına ve hesaplama elemanlarında gerçekleşen işlemlere göre farklı fonksiyonlara sahip olabilen ve birbirine paralel olarak çalışan çok sayıdaki basit işlem biriminden oluşan sistemlerdir (Widrow, 1988).

• YSA, insan beyninin en önemli özelliği olan öğrenme işlevini çeşitli örneklerden yararlanarak gerçekleştirebilen bilgisayar sistemleridir (Öztemel, 2012).

İnsan beyninin reaksiyon süresini kusursuz kılan ve aynı zamanda anlık karar verebilme yeteneğinin de çok üst düzeyde olmasını sağlayan en temel bileşenlerden birisi biyolojik sinir ağlarıdır. Bu sinir ağları, hem duyu organlarından alınan sinyallerin beyine ulaştırılmasını hem de beynin bu sinyaller sonucu beynin oluşturduğu reaksiyonun gerekli organlara taşınmasını sağlarlar. Bu ağları oluşturan biyolojik sinir hücreleri yani nöronlar, birbirleri ile haberleşme sürecinde belli bir mantığa göre hareket ederler. YSA, yapıları ve çalışma biçimleri itibariyle biyolojik sinir ağlarını taklit ederek belli başlı problemlerin çözümünde insan beyninin kusursuzluğunu yakalamaya çalışırlar. Resim 4.1’de gösterilmekte olan biyolojik ve yapay sinir hücreleri incelendiğinde ortaya çok benzer bir yapı çıkmaktadır (Jain ve ark., 1996; Sharma ve ark., 2012).

Resim 4.1. Biyolojik ve yapay sinir hücrelerinin yapısı

Biyolojik sinir hücreleri genel olarak dört temel bileşenden oluşur, bunlar dendrit, soma (hücre gövdesi), akson ve sinapstır. Dendritler giriş verisi olarak adlandırılan bilgiyi

diğer hücrelerden alarak bu bilgileri somaya iletirler. Soma bilgiler üzerinde gerekli işlemleri gerçekleştirdikten sonra ulaştığı sonuçlar akson aracılığı ile sinapslara iletir. Sinapslar ise diğer hücrelerin dendritleri ile etkileşime geçerek bu bilginin iletimini sağlarlar. Burada aksonlar çıkış birimi, sinapslar ise sinir hücreleri arasındaki iletişimin sağlanması için gerekli olan elektriksel bağlantıların gerçekleştiği birimlerdir.

Yapay sinir hücrelerinde de bu iş akışı taklit edilmektedir, ağa giriş katmanı aracılığıyla gelen bilgiler işlenir ve çıkışa aktarılır. Bu süreçte beş temel bileşenden bahsedebiliriz. Bunlar; girişler, bağlantı ağırlıkları, toplama işlevi (fonksiyonu), aktivasyon işlevi (fonksiyonu) ve çıkış işlevidir. Bu birimlerin işlevleri şu şekildedir.

• Girişler, ağa dış dünyadan veya diğer hücrelerden veya bizzat kendisinden gelen bilgileri temsil eder. Bu bilgiler ağın öğrenebilmesini sağlayan örneklerdir.

• Bağlantı ağırlıkları, girişlerden gelen bilgilerin hücre üzerindeki etkisini belirleyen değerlerdir. Bağlantı ağırlıklarını biyolojik sinir hücrelerindeki sinapslara benzetebiliriz(Eluyode ve Akomolafe, 2013). Ağırlık değerinin büyüklüğü o girişin hücre ile olan bağlantısının gücünü gösterir. Bağlantı ağırlıkları pozitif veya negatif olabilirler. Bir bağlantı ağırlığının büyük olması o bilginin çok önemli olduğu anlamı taşımaz. Oluşturulan modellerde çoğu zaman başlangıçta rasgele değerler atanan bağlantı ağırlıkları ağın öğrenme sürecinde en ideal değerlere ulaşırlar.

• Toplama işlevi (fonksiyonu), hücreye gelen net girdinin hesaplandığı adımdır. Çeşitli toplama fonksiyonları mevcuttur ve bunlar içerisinde ağırlıklı toplam en çok tercih edilenidir ve (4.2)’de gösterildiği gibi hesaplanır (Öztemel, 2012). Hangi toplama fonksiyonun kullanılacağına ağın ulaştığı başarıya göre deneme yanılma yöntemi ile karar verilebilir.

n i i i

NET =

G A (4.2)

: Hücreye gelen net girdi, : Girdiler, : Bağlantı Ağırlıkları, i i NET G A

• Aktivasyon işlevi (fonksiyonu), toplama fonksiyonu ile elde edilen hücreye ait net girdinin işlenmesiyle hücrenin çıktı değerinin hesaplandığı adımdır. Tıpkı toplama fonksiyonunda olduğu gibi aktivasyon için de çeşitli fonksiyonlar kullanılabilir (Salas ve ark., 2000; Karlik ve Olgac, 2011). Çeşitli çalışmalarda aktivasyon fonksiyonlarının ağın başarısındaki etkililikleri karşılaştırılmıştır (Özkan ve Erbek, 2003; Zadeh ve ark., 2010).

(4.3)’te gösterilen sigmoid aktivasyon fonksiyonu çok katmanlı YSA’da en çok tercih edilen aktivasyon fonksiyonudur (Öztemel, 2012). Eldeki veri ile oluşturulacak ağ için hangi aktivasyon fonksiyonunun seçileceğine tıpkı toplam fonksiyonunda olduğu gibi ağın sonucunda ulaşılan başarıya göre deneme yanılma yapılarak karar verilebilir.

1 ( ) 1 NET F NET e− = + (4.3)

• Çıkış işlevi, aktivasyon fonksiyonu ile elde edilen çıktı değerleridir. Bu değer dış dünyaya gönderilebileceği gibi hücrenin kendisine veya başka bir hücreye giriş değeri olarak da işlem görebilir.

YSA’da öğrenme işlemi bağlantı ağırlıklarının ideal değerlere ulaştırılmasıdır. Bu amaçla çeşitli öğrenme algoritmaları kullanılmaktadır. Bunlar içerisinde geri yayılım algoritması en çok kullanılanlardan birisidir.

Geri Yayılım Algoritması

Geri yayılım algoritması, çok katmanlı YSA’da ağ başarısını en üst düzeye çıkaracak olan bağlantı ağırlıklarının elde edilmesi için kullanılır. Bu algoritmanın geliştirilmesiyle ileri yönelimli çok katmanlı ağlar en yaygın kullanılan ağ mimarisi haline gelmişlerdir (Yegnanarayana, 2005). Geriye yayılım algoritmasında genellikle toplam fonksiyonu olarak ağırlıklı toplam, aktivasyon fonksiyonu olarak ise sigmoid fonksiyonu kullanılır. Geri yayılım algoritmasının örnek bir gösterimi Resim 4.2’de verilmiştir.

Ağ ilk oluşturulduğunda belirlenmesi gereken parametreler, bağlantı ağırlıkları, gizli katman sayısı ve gizli katmanlardaki nöron sayılarıdır. Bağlantı ağırlıkları rastgele değerler olarak belirlenir. Gizli katmanların yapısına ise gerçekleştirilen testler sonucunda karar verilir. Gizli katmanlar YSA’nın zeka içeren kısımlarıdır. Gizli katmanlardaki nöron sayıları ağ ilk oluşturulduğunda en az sayıda tutulur (Nabiyev, 2010). Sonrasında ise yapılan deneme yanılmalar sonucunda ağı en yüksek başarıya ulaştıracak olan gizli katman ve nöron sayıları belirlenir (Feng ve ark., 2009; Panchal ve ark., 2011; Esfe ve ark., 2015). Gizli katmanların ve bu katmanlardaki nöron sayılarının fazla olması ağı ezberlemeye yöneltir. Bu durumu insan beynindeki nöronların bilgi tutmasına benzetebiliriz. Herhangi bir görüntü ya da metni tam olarak belleğinde tutan insan bu iş için çok fazla nöron kullanır, oysaki gerekli bilgileri kodlayarak hafızasına kaydettiğinde bu işlemi çok daha az nöron kullanarak ve daha kalıcı şekilde gerçekleştirebilir.

1, 2, ,

q= Q : katman sayısı, q

i

H : ’inciq katmandaki ibiriminin girdisi, q

i

y : ’inciq katmandaki ibiriminin çıktısı,

q ij

w :q −1’incikatmandaki i birimini, ’inciq katmandaki j birimine bağlayan ağırlık,

q i

: ’inciq katmandaki ibirimindeki hata,

i

v : istenilen çıktı,

n : öğrenme katsayısı,

olmak üzere K katmanlı bir ileri beslemeli yapay sinir ağı modeli için geri yayılım algoritmasının çalışma mantığı aşağıdaki gibidir.

• Başlangıç ağırlık değerleri rastgele atanır.

• q katmanındaki her bir j birimi için, (4.4)’teki gibi ileri yönde çıktı değerleri hesaplanır.

(

q-1

)

q q y f y w i i ij i   =     (4.4) • Beklenen ve oluşan çıktı değerleri hesaba katılarak (4.5)’te gösterilen

Q Q Q Q

v y f H

i i i i

 = −    (4.5)

• (4.6)’da gösterildiği gibi, q=2,3,…,Q katmanlarındaki tüm i birimleri için geriye yayılımla gizli katman birimlerinin hata terimleri hesaplanır.

1 1 q q q q f H w i i i ij i  − =  −  (4.6) • Bütün ağırlıklar w

ij’ler kullanılarak (4.7)’de gösterildiği gibi güncellenir (Elmas, 2010). yeni eski q w w w ij = ij +  ij 1 q q q w n y iji i −  = (4.7)