• Sonuç bulunamadı

3. BĐLGĐ GÜVENLĐĞĐNDE ÖZDEVĐMLĐ ÖĞRENME YÖNTEMLERĐ

3.2 ÖZDEVĐMLĐ ÖĞRENMEDE SINIFLANDIRICI ALGORĐTMALAR

Özdevimli öğrenmede ikili veya çoklu sınıflandırıcıların oluşturulması ve verilerin sınıflandırma işlemine sokulup sonuçların elde edilmesinde kullanılan çok çeşitli algoritmalar ve yöntemler bulunmaktadır. Bu sınıflandırıcıların pek çoğu istatistikteki yöntemler ve ilgili modellere dayanmaktadır. AODE, AODEsr, BayesNet, NaiveBayes, Lojistik Regresyon, Doğrusal Regresyon gibi istatistikteki çeşitli yöntemlerin doğrudan kullanıldığı sınıflandırıcılar yanı sıra, diğer pek çok sınıflandırıcının uyarlanmasının belli aşamalarında istatistiğin temel kuramları ve ilkelerinden yararlanılmaktadır (Alpaydın, 2010). Karar Ağaçları (Decision Trees), Destek Vektör Makinesi (SVM – Support Vector Machine), Yapay Sinir Ağları (ANN – Artificial Neural Networks), k- En Yakın Komşu (kNN), Voting Feature Intervals, Karar Tabloları diğer belli başlı sınıflandırıcı algoritmalar olarak tanımlanabilir. Bu algoritmaların, çok çeşitli alt türevleri, farklı işlev ve seçenekli alternatif sürümleri de kullanılmakta ve geliştirilmektedir (Witten, vd., 2011). Ayrıca, birden çok sınıflandırıcının birlikte kullanıldığı birleşik (ensemble) algoritmalar da bulunmaktadır.

Bir sonraki bölüm ve onu takip eden bölümlerde, bu çalışmada en başarılı sonuçları veren sınıflandırıcı algoritmalara kısaca değinilecektir. Çalışmanın 5. bölümünde açıklanacak olan modeldeki en başarılı on sınıflayıcı algoritma; Karar Ağaçları, k-En Yakın Komşu ve Destek Vektör Makinesi sınıflandırıcılarının değişik alt türevleridir.

3.2.1. Karar Ağaçları

Karar ağaçları, her iç düğümün (internal node) bir nitelik üzerindeki testini ve her dalın bu testin çıktısını gösterdiği, her yaprak düğümünün (leaf node) ise sınıfları ya da sınıf dağılımlarını temsil ettiği ağaç yapılı akış şemasıdır. En üstteki düğüm ise kök düğüm (root node) olarak adlandırılır (Alpaydın, 2010). Tahmin edici ve tanımlayıcı özelliklere sahip olan karar ağaçları, özdevimli öğrenmede yaygın olarak kullanılmaktadır.

Karar ağacı, ağacın kökünden başlayıp yaprak düğümlere doğru hareket ederek örnek üzerinden sınıflamayı sağlamada kullanılan tümevarımsal bir yaklaşımdır. Güçlendirme (boosting) ile çeşitli hipotezler birleştirilir. Budama (pruning) ile genelleme gücü arttırılır (Kılıçaslan, vd., 2009).

Karar ağacı öğrenmesinde, ağaçlar karar düğümleri ve sonlandırıcı yapraklardan oluşmaktadır. Sınıflandırılacak yeni bir örnek verildiğinde, bir yaprak düğüme ulaşıp da örneğe bir değer ataması yapılana kadar, test fonksiyonları düğümlerde özyinelemeli bir şekilde uygulanmaktadır. Dallanma için, her düğümde örneğin bir özelliği test edilmektedir. Ağacı oluşturmak için, seçilen özellikten meydana gelecek bilgi kazancı hesaplanmalı ve ağacın derinliğini azaltmak için önceden belirlenmiş sayıda, en çok bilgi sağlayan özellikler seçilmelidir. Bir karar ağacı oluşturulurken A özelliğinin kullanılması durumunda elde edilen bilgi kazancını veren denklemler aşağıda gösterilmektedir:

(3.13)

(3.14)

Denklem 3.13 ve 3.14’te I bilgi içeriği, v i özelliğin alabileceği sonlu sayıdaki olası

değer sayısı, p ve n de sırasıyla eğitim kümesindeki pozitif ve negatif örnek sayılarıdır. Öğrenme kümesinden birden fazla hipotez çıkarılan durumlarda, birleşik (ensemble) öğrenme yöntemleri hipotez uzayı içindeki bir grup hipotezi seçip birleştirerek sınıflandırıcının etkinliğini yükseltirler (Alpaydın, 2010). Bu hipotezler, bileşenlerini derecelendirerek tahmin yürüten tek bir sınıflandırıcı altında toplanır.

Şekil 3.1.’de, karar ağacı ile basit bir sınıflandırma örneği gösterilmektedir. Örnekte, kök karar düğümündeki A parametresinin 2 değerinden küçük veya büyük eşit olma durumuna göre bir alt karar düğümlerine dallanma yapılmakta ve karar ağacı yapısı oluşturulmaktadır. Benzer şekilde, B, C ve D için de çeşitli sayısal değerlerle karşılaştırılmasına göre hangi düğüme geçileceğine karar verilmektedir. Son aşamadaki yaprak düğümlerinde de, k ‘nın; x veya y sınıflarından hangisine gireceği belirlenmektedir.

A C B D k=x k=y k=x k=x k=x Karar Düğümü Yaprak Düğümü A > 2 A <= 2 B > 0.52 B <=0.52 B >=7.5 B < 7.5 C >=2.1 C <2.1 A C B D k=x k=y k=x k=x k=x Karar Düğümü Yaprak Düğümü A > 2 A <= 2 B > 0.52 B <=0.52 B >=7.5 B < 7.5 C >=2.1 C <2.1

Şekil 3.1. Karar Ağacı ile sınıflandırma örneği

3.2.2. k-En Yakın Komşu Algoritması

k-en yakın komşu (k-Nearest Neigbour - kNN) algoritması ve diğer örnek-tabanlı yöntemler, benzerlik yoluyla öğrenme teknikleridir. k-en yakın komşu sınıflandırması, hevesli (eager) olarak da adlandırılan diğer sınıflandırma yöntemlerinden, bütün öğrenim (eğitim) örneklerini n-boyutlu bir uzayda noktalar halinde tutması ve etiketsiz bir örnek sınıflandırılmak isteninceye kadar bir sınıflandırıcı oluşturmaması yönleriyle ayrılır. Bu yöntem, sınama öncesinde bir kural veya fonksiyonlar kümesi oluşturmadığı için eğitim zamanı açısından istekli yöntemlerden daha etkin olmaktadır. Ancak sınama (test) aşamasında her örnek için yeniden hesaplama gerektirdiğinden daha yavaş olmaktadır. Bu yöntemin bir diğer dezavantajı da her özelliğe eşit ağırlık verdiği için ilgisiz özellikleri de sınıflandırmada kullanmak zorunda kalmasıdır. Yeni bir örnek sınanırken, k adet en yakın komsusu arasında en sık geçen sınıf etiketi bu örneğe atanır (Wang, vd., 2006).

n-boyutlu bir uzayda X = (x1,...,xn) ve Y = (y1,...,yn) gibi iki veri noktası kNN

algoritmasına verildiğinde, bunlar arasındaki Öklid uzaklığı su şekilde hesaplanır:

Bir başka deyişle, öğrenme kümesine ait örnekler yerleştirildikleri özellik uzayında birer nokta ile temsil edilirler. Sınıfı bulunacak olan örnek, bu uzayda kendine en yakın ve sayıca belirli bir örneklemin sınıf değerini alır. Örneğin diğerlerine uzaklığı Öklid uzaklığı ile hesaplanır. kNN algoritması, k değeri iyi belirlendiği takdirde olumlu sonuçlar verebilmektedir (Kılıçaslan, vd., 2009).

Weka yazılımındaki kNN algoritmasına IBk adı verilmektedir (Weka, 2011). Çalışmada en başarılı sınıflandırıcılardan birisi de, kNN’ in bir türevi olan Lazy.Ibk algoritması olarak gözlemlenmiştir. Öte yandan, çalışmada Lazy.Ibk varsayılan değerler ve işlevlerle değil, farklı seçeneklerle bu başarı düzeyini yakalamıştır. Bu durum, çalışmanın 5. bölümünde daha detaylı olarak irdelenmiş ve açıklanmıştır.

3.2.3. Destek Vektör Makinesi

Destek vektör makinesi (SVM – Support Vector Machine) sınıflandırmasının temel mantığı, öğrenme (eğitim) verisini bir esleme fonksiyonuyla daha yüksek boyutlu bir uzaya taşımak ve burada maksimum genişlikte ayırıcı çoklu-düzlem (hyperplane) oluşturmaktır. Destek vektör makinesi sınıfları ayıran sonsuz sayıdaki çoklu-düzlem arasında her sınıftan en uzak noktada bulunan düzlemi arar. Sınır çoklu-düzlemleri üzerinde bulunan vektörler destek vektörleri olarak adlandırılmaktadır. Destek vektörleri, çoklu-düzlemleri yeniden kurmak için gerekli tüm bilgiyi taşır. Đlk ortaya konan özgün ve ideal çoklu-düzlem algoritması doğrusal bir sınıflandırıcıyken, daha sonra destek vektör makinelerinin, her nokta çarpımının doğrusal olmayan bir K(xi, xj)

çekirdek fonksiyonuyla yer değiştirilmesi sonucu doğrusal olmayan sınıflandırma problemlerini de çözebilecekleri gösterilmiştir (Hamel, 2009).

Destek vektör makinesi, düşük boyutta doğrusal olarak ayrılamayacak bir veri kümesini, daha yüksek boyuta taşıyarak bir düzlem yardımıyla ayırmayı sağlar. Sınıflandırmada çeşitli çekirdek fonksiyonları kullanılabilmektedir (Kılıçaslan, vd., 2009).

Benzer Belgeler