makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında...

67
T.C. B ˙ ILEC ˙ IK ¸ SEYH EDEBAL ˙ I ÜN ˙ IVERS ˙ ITES ˙ I MÜHEND ˙ ISL ˙ IK FAKÜLTES ˙ I B ˙ ILG ˙ ISAYAR MÜHEND ˙ ISL ˙ I ˘ G ˙ I Makine Ö ˘ grenme Yöntemlerinin Ara¸ stırılması ve Uygulanması MUSTAFA KÖSTEK Proje 1 12 Haziran 2014 B ˙ ILEC ˙ IK

Upload: miralem-yushcajk

Post on 02-Jul-2015

928 views

Category:

Software


5 download

DESCRIPTION

machine learning algorithm(support learning) with weka

TRANSCRIPT

Page 1: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

T.C.

BILECIK SEYH EDEBALI ÜNIVERSITESI

MÜHENDISLIK FAKÜLTESI

BILGISAYAR MÜHENDISLIGI

Makine Ögrenme Yöntemlerinin Arastırılması ve Uygulanması

MUSTAFA KÖSTEK

Proje 1

12 Haziran 2014

BILECIK

Page 2: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

T.C.

BILECIK SEYH EDEBALI ÜNIVERSITESI

MÜHENDISLIK FAKÜLTESI

BILGISAYAR MÜHENDISLIGI

Makine Ögrenme Yöntemlerinin Arastırılması ve Uygulanması

MUSTAFA KÖSTEK

Proje 1

12 Haziran 2014

BILECIK

Page 3: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

ÖZET

Projenin Amacı

Makine ögrenme yöntemleri adı altında çesitli algoritmaların ögrenilmesi ve ilgili simü-

lasyon programı aracılıgıyla uygun algoritmanın kullanılması ve sonuçların analiz edil-

mesi.

Projenin Kapsamı

Makine ögrenme yöntemleri ve kullanım alanları ele almaktadır.Öncelikle konumuz da-

hilindeki sınıflandırma yöntemlerine deginilecek sonra ise ilgili simulator programı ara-

cılıgıyla ilgili veriler islenip,proje çıktısı analiz edilecektir.

Sonuçlar

Simulator ortamında makine ögrenme yöntemleri uygulanarak yöntemlerin verdigi ce-

vapların kıyaslanmıstır.

ii

Page 4: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

ABSTRACT

Project Objective

Under the name of machine learning methods to learn a variety of algorithms and related

simulation programs through the use of appropriate algorithms and analysis of results.

Scope of Project

Machine learning methods and uses are discussed.First, the issues will be referred to

the methods of classification within our respective related data is processed through the

simulator program, project outcomes will be analyzed.

Results

Simulator environment by applying methods of machine learning methods in the compa-

rison of the answers.

iii

Page 5: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

TESEKKÜR

Bu projenin basından sonuna kadar hazırlanmasında emegi bulunan ve beni bu konuya

yönlendiren saygıdeger hocam ve danısmanım Sayın Emre Dandil’e tüm katkılarından

ve hiç eksiltmedigi desteginden dolayı tesekkür ederim.

Mustafa Köstek

12 Haziran 2014

iv

Page 6: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

Içindekiler

ÖZET ii

ABSTRACT iii

TESEKKÜR iv

SEKIL LISTESI viii

TABLO LISTESI ix

1 GIRIS 1

1.1 Makine ögrenmesi nedir? . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Makine ögrenmesi algoritmaları . . . . . . . . . . . . . . . . . . . . . . 1

2 Ögrenmeli Ögrenme(Classification) 2

2.1 Sınıflandırma geçerliligi . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2.1.1 Rasgele örnekleme . . . . . . . . . . . . . . . . . . . . . . . . . 2

2.1.2 K Parçalı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2.1.3 Birini hariç tut . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2.2 Egri uydurma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2.3 Karar agaçları . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.4 Bayes teoremi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.4.1 Naive bayes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.4.2 Bayes agları . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.5 YSA(Yapay sinir agları) . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.5.1 Çok katmanlı algılayıcılar . . . . . . . . . . . . . . . . . . . . . 18

2.5.2 Radyal tabanlı sinir agları . . . . . . . . . . . . . . . . . . . . . . 18

2.6 Destek vektör makinesi . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3 Ögrenmesiz Ögrenme(Clustering) 22

3.1 Bölünmeli yöntemler . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.1.1 k-komsu(k-means) . . . . . . . . . . . . . . . . . . . . . . . . . 24

v

Page 7: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

3.1.2 K-medoids demetleme yöntemi . . . . . . . . . . . . . . . . . . . 26

3.2 Hiyerarsik yöntemler . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3.3 Yogunluk tabanlı yöntemler . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.3.1 DBSCAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.4 Model tabanlı demetleme yöntemleri . . . . . . . . . . . . . . . . . . . . 31

3.4.1 EM algoritması . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

4 Iliskili(Associate) 33

4.1 Appriori(iliskilendirme) . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

5 Weka 35

5.1 Ortam tanıtımı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

5.2 Veri alınması . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

5.2.1 Kullanacagımız yöntemler . . . . . . . . . . . . . . . . . . . . . 37

5.3 Kullanılan yöntemlerin cevap açıklamaları . . . . . . . . . . . . . . . . . 39

5.4 Görsel komponentlerle isleme . . . . . . . . . . . . . . . . . . . . . . . 40

5.4.1 Nereden yapılır? . . . . . . . . . . . . . . . . . . . . . . . . . . 40

5.4.2 Yükleme(loader) Durumu . . . . . . . . . . . . . . . . . . . . . 41

5.4.3 Kayıt ediciler . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

5.4.4 Filtreler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

5.4.5 Sınıflayıcılar . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

5.4.6 Demetleyiciler . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

5.4.7 Iliskilendirmeler . . . . . . . . . . . . . . . . . . . . . . . . . . 43

5.4.8 Konvertör komponentler . . . . . . . . . . . . . . . . . . . . . . 43

5.4.9 Görsel komponentler . . . . . . . . . . . . . . . . . . . . . . . . 43

SONUÇLAR 47

KAYNAKLAR 56

ÖZGEÇMIS 57

vi

Page 8: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

Sekil Listesi

1 Bir dogru olarak temsil edilen veri kümesi . . . . . . . . . . . . . . . . . 3

2 Agaç sınıflandırma yöntemi . . . . . . . . . . . . . . . . . . . . . . . . . 4

3 Seri sekilde yollar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

4 Ayrılmıs sekildeki yollar . . . . . . . . . . . . . . . . . . . . . . . . . . 12

5 Birlesen yollar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

6 Bayes aglarında söz konusu dört durum) . . . . . . . . . . . . . . . . . . 13

7 Yapay sinir ag katmanları(perseptronlar) . . . . . . . . . . . . . . . . . . 14

8 Yapay sinir agının yaklasımı . . . . . . . . . . . . . . . . . . . . . . . . 15

9 Ysa’nın ögrenme sekli . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

10 Ysa’nın aktivasyon fonksiyonu . . . . . . . . . . . . . . . . . . . . . . . 16

11 Radyal tabanlı nöron . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

12 Radyal tabanlı fonksiyon . . . . . . . . . . . . . . . . . . . . . . . . . . 19

13 Radyal tabanlı ag topolojisi . . . . . . . . . . . . . . . . . . . . . . . . . 20

14 Destek vektör makinesi ile ayırma . . . . . . . . . . . . . . . . . . . . . 20

15 Lineer olarak ayrılamayan verilerin sınıflandırılması . . . . . . . . . . . . 22

16 Waikato üniversitesi tarafından gelistirilmis bir makine ögrenme simülas-

yonu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

17 Seçilen veri kümesinin önislemeye tabi tutulması için gereken form ekranı 36

18 Weka’da arff dosya formatının veri yapısı,veriler . . . . . . . . . . . . . . 37

19 Weka’da veri ön isleme ekranı . . . . . . . . . . . . . . . . . . . . . . . 38

20 Sol alttaki çekbaksların seçilerek ilgili istatistiklerin gösterilmesi . . . . . 38

21 Wekada ögrenmeli ögrenmede pratik yöntemleri . . . . . . . . . . . . . . 39

22 Weka’da knowledge flow butonu . . . . . . . . . . . . . . . . . . . . . . 41

23 Data Source sekmesi içerigi . . . . . . . . . . . . . . . . . . . . . . . . . 41

24 Data Sink sekmesi içerigi . . . . . . . . . . . . . . . . . . . . . . . . . . 42

25 Filtreler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

26 Data Classifier sekmesi . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

27 Data Clusterer sekmesi . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

28 Data Associate sekmesi . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

vii

Page 9: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

29 Data Evaluation sekmesi . . . . . . . . . . . . . . . . . . . . . . . . . . 43

30 Data Visualization sekmesi . . . . . . . . . . . . . . . . . . . . . . . . . 44

31 J48 karar agacından olusan bir sistem . . . . . . . . . . . . . . . . . . . . 45

32 Bayes ögrenmesini iliskin sistem . . . . . . . . . . . . . . . . . . . . . . 45

33 Ögrenmesiz ögrenme yöntemi olan k-means kullanımı . . . . . . . . . . 46

34 ÇKA’lı bir simulasyon arayüzü . . . . . . . . . . . . . . . . . . . . . . . 46

35 Agaç sınıflandırma metodu kullanarak verilerin islenmesi . . . . . . . . . 47

36 Wekada j48 agaç metodu ile karar agacının görüntülenmesi . . . . . . . . 48

37 Ilgili veri kümesinin karar agacı . . . . . . . . . . . . . . . . . . . . . . 48

38 Destek vektör makinesi(bu programdaki adıyla "smo") yöntemi kullanıla-

rak veri isleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

39 Destek vektör makinesi için ilgili çekirdegin seçimi . . . . . . . . . . . . 49

40 Lineer regression yöntemi kullanılarak ilgili verilerin dogruya uydurul-

ması . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

41 Çok katmanlı algılayıcı yöntemi kullanılarak veri isleme . . . . . . . . . 51

42 Iris’e ait olan verilerin mla ile islenmesi . . . . . . . . . . . . . . . . . . 51

43 Mla yönteminde katmanların gösterilmesi . . . . . . . . . . . . . . . . . 52

44 Mla’da islenen verinin algılayıcı katmanları . . . . . . . . . . . . . . . . 52

45 Bayes yöntemi ile veri islenmesi . . . . . . . . . . . . . . . . . . . . . . 53

46 Iris’e ait verilerin bayes ile islenmesi . . . . . . . . . . . . . . . . . . . . 53

47 Naive bayes yöntemi ile islenmesi . . . . . . . . . . . . . . . . . . . . . 54

48 Iris’e ait verilerin naive bayes yöntemi ile islenmesi . . . . . . . . . . . . 54

49 Ögrenme yöntemi olan k-means ile sınıflandırma . . . . . . . . . . . . . 55

50 Veri setinin büyüklügü,sınıflandırılacak olan alanın kaç farklı tipi oldugu,alanların

sayısına göre sınıflandırma algoritmalarının basarımı . . . . . . . . . . . 55

viii

Page 10: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

Tablo Listesi

1 m ve uzun,orta,kısa niceliklerinden olusan veriler . . . . . . . . . . . . . 4

2 Örnek veri setimiz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

3 Gün,havadurumu,sicaklik,nem,rüzgar ve oynama durumu ile ilgili veri

kümesi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

4 Hava durumuna iliskin alanların kosullu olasılıkları . . . . . . . . . . . . 9

5 Ve kapısının giris ve çıkısları . . . . . . . . . . . . . . . . . . . . . . . . 14

6 Nesne ve o nesneye ait olan nicelikler(ögrenmesiz ögrenme) . . . . . . . 25

ix

Page 11: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

1 GIRIS

1.1 Makine ögrenmesi nedir?

Çok büyük miktarlardaki verinin elle islenmesi ve analizinin yapılması mümkün degildir.

Amaç geçmisteki verileri kullanarak gelecek için tahminlerde bulunmaktır. Bu problem-

leri çözmek için Makine Ögrenmesi (machine learning) yöntemleri gelistirilmistir. Ma-

kine ögrenmesi yöntemleri, geçmisteki veriyi kullanarak yeni veri için en uygun modeli

bulmaya çalısır. Verinin incelenip, içerisinden ise yarayan bilginin çıkarılmasına [1]’e

göre da Veri Madenciligi (data mining) adı verilir.

1.2 Makine ögrenmesi algoritmaları

Farklı uygulamaların, analizlerden farklı beklentileri olmaktadır.Makine ögrenmesi me-

totlarını bu beklentilere göre sınıflandırmak mümkündür.

Amaç: Bir niteligin degerini diger nitelikleri kullanarak belirlemek...

• verinin dagılımına göre bir model bulunur. bulunan model, basarımı belirlendikten

sonra niteligin gelecekteki ya da bilinmeyen degerini tahmin etmek için kullanılır.

• model basarımı: dogru sınıflandırılmıs sınama kümesi örneklerinin oranı

Veri madenciligi uygulamasında:

• ayrık nitelik degerlerini tahmin etmek: sınıflandırma

• sürekli nitelik degerlerini tahmin etmek: öngörü

Gözetimli (Supervised) sınıflandırma = sınıflandırma

• Sınıfların sayısı ve hangi nesnenin hangi sınıfta oldugu biliniyor.

Gözetimsiz (Unsupervised) sınıflandırma = demetleme (clustering)

• Hangi nesnenin hangi sınıfta oldugu bilinmiyor. Genelde sınıf sayısı bilinmiyor.

1

Page 12: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

2 Ögrenmeli Ögrenme(Classification)

2.1 Sınıflandırma geçerliligi

Veriye dayalı olarak egitim yapılmasının temel amacı [12]’ya göre egitilen sistemin ben-

zer konuda hiç bilinmeyen bir örnege mantıklı bir cevap üretebilmesidir. Eldeki sınırlı

veri kullanılarak sistemin hem egitilmesi hem de basarısının tarafsız bir sekilde ölçülebil-

mesi gerekmektedir. Bunun için çapraz geçerlik (cross validation) adıyla anılan yöntemler

kullanılmalıdır. Çapraz Geçerlilik bu temel prensibe dayanarak önerilmis birkaç geçer-

lik yöntemi vardır. Ama hepsinde temel mantık aynıdır. Sistemin basarısını ölçebilmek

için mevcut veri kümesi ikiye bölünür. Birisi egitim için (train set) digeri de sistemin hiç

görmedigi olası örnekleri temsilen (test set) kullanılır. Sistem, seçilen egitim algoritması

ile egitim kümesini ögrenir. Egitilen sistemin basarısı daha sonra test kümesi üzerinde

hesaplanır.

2.1.1 Rasgele örnekleme

Rasgele örneklemede kümeler rasgele seçilir. Optimum basarı için birkaç kez tekrarlanır.

Çapraz geçerlik içerisinde en yüksek basarıyı saglayan yöntemdir.

2.1.2 K Parçalı

K parçalıda veri, K adet kümeye ayrılır. Birisi test kümesi için ve diger K-1 küme birles-

tirilip egitim kümesi için seçilir. Bu islem kümeler degistirilerek K kez tekrarlanır. Genel

basarı için K adet basarı degerinin ortalaması alınır.

2.1.3 Birini hariç tut

Birini hariç tut yöntemi ile K parçalı geçerlik yöntemleri çok benzerdir. N adet örnek

içeren veri kümesi için kullanılan birini hariç tut yöntemi K=N için K parçalı çapraz

geçerlik gibi uygulanır.

2

Page 13: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

2.2 Egri uydurma

[4]’daki kaynaklardan alınan bilgiler geçmis verilere ait sınıflar yerine sürekli bilginin

yer aldıgı problemlerdir. x ekseni hava sıcaklıgını, y ekseni de deniz suyu sıcaklıgını gös-

termektedir. Bizden istenen hava sıcaklıgına baglı olarak deniz suyu sıcaklıgının tahmin

edilmesidir.Sekil 1’de giris ile çıkıs arasındaki fonksiyonun egrisi bulunmustur.

Sekil 1: Bir dogru olarak temsil edilen veri kümesi

w0 + · · ·+ wny >= 0 (1)

peki ya bu dogruyu makine nasıl çiziyor?

θ(x) = θ1 · x+ θ2 (2)

Ifade 2 alınıp ifade 3’e fonksiyonu parametre olarak gönderilir. 3’de en küçük degeri veren

2 fonksiyonunu kabul eder.

H(θ) =1

2 ·m

m∑i=1

(θ(xi)− yi)2 (3)

• Regresyon 1 nolu ifadeye göre en az hata yapan wi leri bulmaya çalısır.

• Basit bir model

• Yeterince esnek degil

3

Page 14: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

2.3 Karar agaçları

Böl ve yönet stratejisi Nasıl bölecegiz ?

Ürettikleri kurallar anlasılır.

Tablo 1: m ve uzun,orta,kısa niceliklerinden olusan veriler1,73 orta1,59 kısa1,98 uzun1,78 orta1,65 orta1,72 orta1,69 orta

Sekil 2: Agaç sınıflandırma yöntemi

Yukarıda Tablo 1 te görüldügü gibi bir veri kümesinin karar agacı Sekil 2 deki gibi ola-

caktır. Karar dügümleri ve yapraklardan olusan hiyerarsik bir yapı.

Karar Agaçları Olusturma

• [6]’deki verilere göre tüm veri kümesiyle baslanır.

• Bir özelligin bir degerine göre veri kümesi iki alt kümeye bölünür. Bölmede kulla-

nılan özellikler ve degerler karar dügüme yerlestirilir.

4

Page 15: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

• Her alt küme için aynı prosedür, her alt kümede sadece tek bir sınıfa ait örnekler

kalıncaya kadar uygulanır.

Karar Dügümleri Nasıl Bulunur ?

• Karar dügümlerinde yer alan özelligin ve esik degerinin belirlenmesinde genel ola-

rak entropi kavramı kullanılır.

[5]’den her bir özelligin Bilgi Kazancı (information gain) hesaplanır. Negatif ve

pozitif örneklerden olusan bir S kümesi olsun.

S kümesinin Entropy’si hesaplanırken 4’deki ifade kullanılır.

f(s) = −p.logp − q.logq (4)

S kümesinde 14 örnek olsun: 9 pozitif ve 5 negatif ise,

f(s) = −(9/14).log9/14 − (5/14).log5/14 = 0.94

4 nolu denklem yardımıyla seçilen iki alan ile 5 nolu bilgi kazancı formülü hesaplanır.

Gain(s, a) = f(s)−∑

vεV alues(a)

|sv||s|

.f(sv) (5)

• Egitim verisi her bir özelligin her bir degeri için ikiye bölünür. Olusan iki alt kü-

menin entropileri toplanır. En düsük entropi toplamına sahip olan özellik ve degeri

karar dügümüne yerlestirilir.

Örnek:

2 nolu tablodaki örneklerde piknige gitmenin hangi özelligin en baskın oldugunu bulalım.

Tablo 2: Örnek veri setimizHava Nem Rüzgar Su sıcaklıgı Piknige gidelim

günesli normal güçlü ılık evetgünesli yüksek güçlü ılık evet

yagmurlu yüksek güçlü ılık hayırgünesli yüksek güçlü soguk evet

5

Page 16: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

Piknige gidildimi?

gitme olasılıgı 3/4,gitmeme olasılıgı 1/4

f(piknik) = −(3/4) ∗ log0.752 − (1/4) ∗ log0.252 = 0.811

ile piknik ile her bir olayın kosullu olasılıgı ile alınarak,

• 0,811 piknige gitme olayının entropisi

• 0,75 havanın günesli olma olasılıgı

• 0 hava günesli iken piknige gidilmeme oranı

• 1 havanın günesli iken piknige gidilmesi

• 0,25 havanın yagmurlu olma oranı

• 0 hava yagmurlu iken piknige gidilme oranı

• 1 hava yagmurlu iken piknige gidilmeme oranı

Gain(piknik, hava) = 0.811− (0.75)(−1 ∗ log12 − 0)− (0.25)(0− 1 ∗ log12) = 0.811

aynı sekilde

Gain(piknik, nem) = 0.811−(0.25)(−1∗log12−0)−(0.75)(−0.67∗log0.672 −0.33∗log0.332 ) = 0.1225

Gain(piknik, ruzgar) = 0.811− 1(−0.75 ∗ log0.752 )− (0.25)(log0.252 − 0.33) = 0

Gain(piknik, susicaklik) = 0.811−(0.75)(−0.67∗log0.672 −0.33∗log0.332 )−1(−1∗log12) = 0.1225

Bu islemler sonucunda bilgi kazancı en büyük olan hava etkeni oldugundan karar dügü-

münde en tepede hava etmeni bulunacaktır piknige gidilme olayı için.

Karar Agaçlarıyla Sınıflandırma

• En tepedeki kök karar dügümünden basla.

6

Page 17: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

• Bir yapraga gelinceye kadar karar dügümlerindeki yönlendirmelere göre dallarda

ilerle (Karar dügümlerinde tek bir özelligin adı ve bir esik degeri yer alır. O dü-

güme gelen verinin hangi dala gidecegine verinin o dügümdeki özelliginin esik

degerinden büyük ya da küçük olmasına göre karar verilir)

• Verinin sınıfı, yapragın temsil ettigi sınıf olarak belirle.

2.4 Bayes teoremi

Bir olayın meydana gelmesinde birden fazla etkenin olması kosulunda [3]’den alınan-

lardan, olayın hangi etkenin etkinligi ile ortaya çıktıgını gösteren teorem 6 denklemi ile

verilmistir.

p(h|d) = p(d|h)p(h)p(d)

(6)

p(h)=h olayının önsel olasılıgı

p(d)=d egitim verisinin önsel olasılıgı

p(d|h)=h olayı verildiginde d nin kosullu olasılıgı

p(h|d)=d egitim verisi verildiginde h nin kosullu olasılıgı

2.4.1 Naive bayes

Istatistiksel bir sınıflandırıcıdır. Istatistikteki bayes teoremine dayanır[3]. Örneklerin hangi

sınıfa hangi olasılıkla ait olduklarını öngörür. Basit bir yöntemdir. Ögrenme zamanı yok-

tur, yani sınıflandırmadan önce bir baslangıç zamanı gerekmez. Her sınıflandırma için

tüm veri kümesini isler. Elimizde sınıfı belli olmayan bir örüntü olsun. Bu durumda

x = [x(1), x(2), · · · , x(L)]T ∈ RL (7)

sınıfı belli olmayan örüntünün L-boyutlu nicelik vektörü 7 ifadesi selinde olacak. Spam

e-posta örneginden gidecek olursak spam olup olmadıgını bilmedigimiz yeni bir e-posta

sınıfı belli olmayan örüntüdür. Yine Si x’in atanacagı sınıf ise;

7

Page 18: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

Bayes karar teorisine göre x sınıf Si’ya aittir eger P (x|Si) > P (x|Sj),∀j 6= i di-

ger bir ifade ile P (x|Si)P (Si) > P (x|Sj)P (Sj),∀j 6= i dir. Verilen bir x’in (x =

[x(1), x(2), · · · , x(L)]T ∈ RL) sınıf Si’ye ait olup olmadıgına karar vermek için kullanı-

lan yukarıda formüle edilen Bayes karar teoreminde istatistik olarak bagımsızlık önerme-

sinden yararlanılırsa bu tip sınıflandırmaya Naive bayes sınıflandırılması denir.Matematiksel

bir ifadeyle P (x|Si)P (Si) > P (x|Sj)P (Sj),∀j 6= i ifadesindeki P (x|Si) terimi yeniden

gibi yazılırsa 8 nolu ifade elde edilir.

P (x|Si) ≈L∏k=1

P (xk|Si) (8)

böylece Bayes karar teoremi 9 nolu ifade seklini alır. Bayes karar teorisine göre x sınıf

Si’ya aittir eger

P (x|Si)L∏k=1

P (xk|Si) > P (x|Sj)L∏k=1

P (xk|Sj) (9)

P (Si) ve P (Sj) i ve j sınıflarının öncel olasılıklarıdır. Elde olan veri kümesinden de-

gerleri kolayca hesaplanabilir. Naive bayes sınıflandırıcının kullanım alanı her nekadar

kısıtlı gözüksede yüksek boyutlu uzayda ve yeterli sayıda veriyle x’in (nicelik kümesi)

bilesenlerinin istatistik olarak bagımsız olması kosulu esnetilerek basarılı sonuçlar elde

edilebilinir.

Tablo 3: Gün,havadurumu,sicaklik,nem,rüzgar ve oynama durumu ile ilgili veri kümesiGün havadurumu sicaklikderecesi nemoranı ruzgar oynamadurumud1 günes sıcak yuksek zayıf hayırd2 günes sıcak yuksek siddetli hayırd3 bulut sıcak yuksek zayıf evetd4 yagmur ılık yuksek zayıf evetd5 yagmur serin normal zayıf evetd6 yagmur serin normal siddetli hayırd7 bulutlu serin normal siddetli evetd8 günesli ılık yuksek zayıf hayırd9 günesli serin normal zayıf evet

d10 yagmur ılık normal zayıf evetd11 günes ılık normal siddetli evetd12 bulut ılık yuksek siddetli evetd13 bulut sıcak normal zayıf evetd14 yagmur ılık yuksek siddetli hayır

Tablo 3 de gerekli islemler yapilarak Tablo 4 elde edilir.

8

Page 19: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

Tablo 4: Hava durumuna iliskin alanların kosullu olasılıklarıhavadurumu

p(gunes|evet)=2/5 p(gunes|hayır)=3/5p(bulut|evet)=4/4 p(bulut|hayır)=0

p(yagmur|evet)=3/5 p(yagmur|hayır)=2/5sıcaklık

p(sıcak|evet)=2/4 p(sıcak|hayır)=3/4p(ılık|evet)=4/6 p(ılık|hayır)=2/6

p(serin|evet)=3/4 p(serin|hayır)=1/4nemoranı

p(yuksek|evet)=3/7 p(yuksek|hayır)=4/7p(normal|evet)=6/7 p(normal|hayır)=1/7

Ruzgarp(siddetli|evet)=3/6 p(siddetli|hayır)=3/6p(zayıf|evet)=6/8 p(zayıf|hayır)=2/8

Bu asamadan sonra kosullu olasılıklar hesap edilecektir.

p(evet)=9/14

p(hayır)=5/15

Yeni örnek X =<yagmur,sıcak,yüksek,zayıf>

P(evet|X)=?

P(yagmurlu|evet)·P(sıcak|evet)·P(yüksek|evet)·P(zayıf|evet)·P(evet)

3/5·2/4·3/7·6/8·9/14 =0.062

P(hayır|X) = ?

P(yagmurlu|hayır)·P(sıcak|hayır)·P(yüksek|hayır)·P(zayıf|hayır)·P (hayır)

2/5·2/4·4/7·2/8·5/14 =0.01

P(evet|X)>P(hayir|X) oldugundan örnek X’in sınıfı evet olarak öngörülür.

Kullanım Alanları

Metin sınıflandırma, konusmacı tanıma sistemleri sifre kontrolü uygulamaları ,orta veya

genis egitim kümesinin mevcut,orta veya genis egitim kümesinin mevcut olması duru-

munda ,örnekleri tanımlayan nitelikler, sınıflandırmadan bagımsız olarak verildiginde.

Avantaj ve Dezavantajları

Avantajları: Kolay uygulanabilirlik, üstün performans çogu durumda iyi sonuçlar

Dezavantajları: Varsayım,sınıf bilgisi verildiginde nitelikler bagımsız gerçek hayatta de-

9

Page 20: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

giskenler birbirine bagımlı degiskenler arası iliski modellenemiyor, test verisinin uzun

islem zamanıdır.

Çözüm: Bayes agları

2.4.2 Bayes agları

[13]’de sunumlardan bayesçi aglarda dügümler (nodes) rastlantı degiskenlerini,dügümler

arasındaki baglar(edges) ise rastlantı degiskenleri arasındaki olasılıksal bagımlılık du-

rumlarını gösterir.Bayes agları yönlü dönüssüz grafik(Drected acyclic graph DAG) olarak

bilinen bir grafiksel model yapısına sahiptir. Bu aglar kesin olmayan uzman görüslerinin

sisteme girmesini saglayan önemli bir yöntemdir.Bayes kuralındaki gibi kosullu olasılık-

ları yine kullanılacaktır.DAG yapısı dügümler kümesi ve yönlendirilmis baglar kümesi

olmak üzere iki kümeden olusur.Dügümler rastlantı degiskenlerini temsil eder,daire bi-

çiminde gösterilir.Baglar ise degiskenleri arasındaki dogrudan baglımlılıkları belirtir ve

dügümler arasında çizili oklarla gösterilir.xi ve xj agdaki iki dugum olmak üzere ,xi dü-

gümünden xj dügümüne dogru çizilen bir bag karsılık geldikleri degiskenler degiskenler

arasındaki istatistiksel bagımlılıgın bir göstergesidir.xi dügümünden xj dügümünün ebe-

veyni ,xj dügümünün ise xi dügümünün çocugu oldugu söylenebilir.Ayrıca ,agdaki bir

dügümden çıkan dügüme gelen yol uzerinden yer alan dügümler kümesine "soy dügüm-

ler",bir dügüme gelen yol üzerinde yer alan dügümler kümesi ise "ata dügümler" olarak

tanımlanmıstır. X,y,z, rastlantı degiskenleri tanım kümeleri sırasıyla ux, uy, uz bu rast-

lantı degiskenlerinin çok degiskenli olasılık fonksiyonu Pxyz bu degiskenlerin aldıgı tüm

x ∈ ux, y ∈ uy, z ∈ uz degerleri için Px,y,zx, y, z = Px|zx|z · Py|zy|z · Pzz yazılabili-

yorsa z bilindigine göre ,x ve y nin kosullu bagımsız oldugu söylenir ve x⊥y|z biçiminde

yazılır.x⊥y|z ise Py|zy|z > 0 esitsizliklerinin saglayan x ∈ Ux, y ∈ Uy, z ∈ Uz tüm

degerleri için Px|y,zx|y, z = Px|z · x|z yazılabilir. Grafın agların niceliklerini olarak ta-

nımlanan parametrelerin belirlenmesi gerekir.Bu parametreler agdaki her bir dügüme ait

kosullu olasılıklar,yalnızca kendi ebeveynleri baglı olarak tanımlanır.Bu tablolarda ebe-

veynlerin aldıgı degerleri alma olasılıkları yer alır.Bu tablolara kosullu olasılık tablosu

denir.Bayes aglarında ,bir X = x1, ..., xn rastlantı degiskenleri kümesine iliskin çok de-

giskenli olasılık dagılımını temsil eden bir DAG tır.Ag G ve Q olmak üzere iki bilesenden

10

Page 21: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

olusur.BN=GQ biçiminde gösterilir.Ilk bilesen G,dügümlerin x1, ..., xn rastlantı degisken-

lerini arasındakı dogrudan bagımlılık ları verecektir.Bayes aglarının ikinci bileseni Q, ag-

daki parametrelerin kümesini gösterir.Bu parametreler,bayesçi agdaki her bir x,rastlantı

degiskenine iliskin kosullu olasılık dagılımlarıdır.Bir xi rastlantı degiskeni için kosullu

olasılık dagılımı ,xi nin G deki ebeveynlerinin kümesi πi,olmak üzere Qxi|πi = Pbnxi|πibiçiminde tanımlanır.Bir rastlantı degiskeninin verilen bayesçi agda bir ebeveyni yoksa

bu rastlantı degiskeni için kosullu olasılık dagılımı ,marjinal olasılık dagılımına karsılık

gelir.Her bir degiskene ait marjinal yada kosullu olasılık dagılımları genel olarak "yerel

olasılıklar dagılımı" olarak adlandırılır.Bu parametrelerden bayes ag yapısından yararla-

nılarak x = x1, x2, · · ·xn için tek bir çok degiskenli olasılık dagılımı tanımlanır ve bu

dagılım asagıdaki esitlikten yararlanılarak elde edilir.Çok degiskenli olasılık dagılımının

bu esitligi denklem 10 ile ifade edilir bu kural "zincir kuralı" olarak adlandırılır.

Qx1,··· ,xn ,n∏i=1

xi|πi,n∏i=1

Qxi|n (10)

Bir bayesçi aga yeni bilgi girildiginde agdaki degiskenlerin bagımsızlık durumuna d-

ayrılık özeliginden yaraklanılarak karar verilir.Nedensel bir agda yer alan iki degisken

a ve b olmak üzere bu degiskenler arasında tüm yolları kesen bir c degiskeni varsa ve a

ile b arasında Sekil 3’deki gibi dizisel sekilde,

Sekil 3: Seri sekilde yollar

yada serilen bag varsa ve C nin durumu biliniyorsa yada a ile b arasında birlesen bag varsa

ve c yada c nin soy dügümleri hakkında herhangi bir bilgi yoksa aile b degiskenlerinin

Sekil 4’teki gibi "d-ayrı"olur.

11

Page 22: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

Sekil 4: Ayrılmıs sekildeki yollar

a ile b d ayrı degil se "d baglı " olarak adlandırılır ve Sekil 5 gibi sematize edilir.

Sekil 5: Birlesen yollar

Bayesçi aglarda çıkarsamalar ilgilenilen degiskenlerin marjinal dagılımları hesaplana-

rak(iliskisiz degiskenler üzerinden çok degiskenli olasılık dagılımının toplamı alınarak)

yapılır.Bayesçi aglarda çıkarsamalar en genel anlamda iki sekilde gerçeklesir.Bunlardan

ilkinde ,bir dügüme ebeveyn dügümleri vasıtasıyla baglı olan bilgi dügümlerinden yarala-

nılarak gerçeklestirilir.Bu hesaplama yöntemi "yukarıdan asagıya çıkarsama" olarak ad-

landırılır.Diger çıkarsama yönteminde ise bir dügüme çocuk dügümleri vasıtasıyla baglı

olan bilgi dügümlerine dayanır.Bu yöntem "asagıdan yukarıya çıkarsama" olarak adlan-

dırılır. Ag yapısının ögrenilmesi ,parametrelerin ögrenilmesinden daha zor bir problem-

dir.Ayrıca gizli dügümler yada kayıp veri gibi kısmi gözlenebilirlik durumu söz konusu

oldugunda baska zorluklarda ortaya çıkar.Genellikle,farklı ögrenme yöntemlerinin öne-

rildigi Sekil 6’daki gibi dört farklı ögrenme durumu söz konusudur.

12

Page 23: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

Sekil 6: Bayes aglarında söz konusu dört durum)

Bayesci ag yapısının ögrenilmesinde verilen bir D = x1, x2, ..., xn ögrenme veri kumesi

için em uygun «B» bayesçi agının bulunması amaçlanır.Bunun için de genellikle bir skor

fonksiyonundan yararlanılır.Bu skor fonksiyonlarından en sık kullanılanları :

bayesci skor fonksiyonu ve en kucuk tanım uzunlugu ilkesine dayalı bir fonksiyonu de-

nir.Ekt ilkesi veriyi özetlemeye dayalı olarak ögrenmeyi gerçeklestirir.Bu ilkede amaç,orjinal

verinin en kısa tanımını yapabilmektedir.b = (G|θ) bir bayesci ag ve D=x1, x2, · · · , xnögrenme veri kumesi olsun.D verildiginde B agına iliskin ekt skor fonksiyonu denklem

11 ile formulize edilmistir.

ektB|D =logN

2|B| − LL(B|D) (11)

|B| agdaki parametre sayısıdır.LL(B|D) ise bilindiginde B’nin logaritmik olabilirlik fonsi-

yonudur.

LL(B|D) =N∑i=1

logPBxi bir bayesçi ag sınıflandırıcısı C sınıf degiskeni x1, x2, · · · , xndiger degiskenler olmak üzere X = (x1, x2, · · · , xn) olasılıgını modelleyen bayesçi ag B

olsun.Bu sınıflandırıcı B üzerinden PB = (c|x1, x2, · · · , xn) sonsal olasılıgını maksimum

yapan C sınıflarını belirler.

argmaxPBc C|X1, X2, · · · , Xn Literaturde,sınıflandırma için kullanılan Bayes ag yapısını

belirleyen bir çok farklı yaklasım mevcuttur.

a. Tree augmented naive(tan) bayes sınıflandırıcısı

b. Bayes naive augmented(ban)

c. Bayesian multinet

13

Page 24: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

d. Genel bayesçi ag

2.5 YSA(Yapay sinir agları)

Insan beynindeki sinir hücrelerinin islevini modelleyen yapı [2]’den alınanlara göre;

• Sekil 7 deki gibi birbiri ile baglantılı katmanlardan olusur.

Sekil 7: Yapay sinir ag katmanları(perseptronlar)

• Katmanlar hücrelerden olusur.

• Katmanlar arasında iletim

• Ileti katmanlar arasındaki bagın agırlıgına ve her hücrenin degerine baglı olarak

degisebilir.

Tablo 5 de verildigi gibi girisler ve beklenen çıkıları belirtilmistir.Sekil 8 ve Sekil 9 de

karakutu yaklasımı,girisler ile agırlıkları sematize edilmistir.

Tablo 5: Ve kapısının giris ve çıkıslarıbirincil ikincil netice

0 0 00 1 01 0 01 1 1

14

Page 25: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

Sekil 8: Yapay sinir agının yaklasımı

Sekil 9: Ysa’nın ögrenme sekli

netice = I(0.5 ∗ birincil + 0.5 ∗ ikincil − t > 0) (12)

I(z) =

0 z > 0 ise

1 diger(13)

• Birbiri ile baglantılı nöronlar ve agırlıklar

• Denklem 14 teki gibi çıkıs nöronu kendisine gelen girisleri agırlıklı olarak topluyor

• 12 nolu ifadede çıkıs nöronu bir esik degeri ile karsılastırılıyor

netice = I(∑i

wiXi− t), netice = sign(∑i

wiXi− t) (14)

15

Page 26: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

Sekil 10: Ysa’nın aktivasyon fonksiyonu

• Sekil 10 de bir aktivasyon fonksiyonu sematize edilmistir.

• Yapay sinir agını ögrenme: agırlıkları ögrenme

Yapay Sinir Agı ile Ögrenme

• Yapay sinir agı olusturma giris verisini modelleme

• Gizli katman sayısını, gizli katmanlardaki nöron sayısını belirleme

• Yapay sinir agını egitme

• Sinir agını küçültme

• Sonucu yorumlama

Yapay Sinir Agını Olusturma

• Giris nöron sayısı

• Ögrenme kümesindeki verilerin nitelik sayısı

• Gizli nöron sayısı ögrenme sırasında ayarlanır

• Çıkıs nöron sayısı sınıf sayısı

Yapay Sinir Agını Egitme

16

Page 27: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

• Amaç: Veri kümesindeki örneklerin hepsini dogru sınıflandıracak agırlıkları belir-

lemek

• Agırlıklara rasgele degerler ata ögrenme kümesindeki giris degerlerini teker teker

sinir agına uygula

• Çıkısı hesapla

• Hata degerini hesapla

• Agırlıkları hata fonksiyonunu en küçültecek sekilde düzelt

∑i

(Yi − f(wi, Xi))2 (15)

Denklem 15 ile hata degeri hesaplanır.

Yapay Sinir Agını Küçültme

• Tam baglı agın anlasılması çok güç

• n giris nöron, h gizli nöron, m çıkıs nöronu h(m+n) agırlık

• Küçültme: agırlıklardan bazıları sınıflandırma sonucunu etkilemeyecek sekilde si-

linir.

Avantaj dezavantajları

• Dogru sınıflandırma oranı genelde yüksek

• Kararlı ögrenme kümesinde hata oldugu durumda da çalısıyor

• Çıkıs ayrık, sürekli ya da ayrık veya sürekli degiskenlerden olusan bir vektör olabi-

lir

• Ögrenme süresi uzun

• Ögrenilen fonksiyonun anlasılması zor

17

Page 28: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

2.5.1 Çok katmanlı algılayıcılar

Algılayıcı ve Adaline yöntemleri dogrusal olmayan çözümler üretemedigi için hem mi-

mari hem de egitim algoritması açısından iyilestirilmis Çok Katmanlı Algılayıcı (MLP)

agı önerilmistir. Mimari açıdan dogrusal olmayan aktivasyon fonksiyonuna sahip birçok

nöronun birbirine hiyerarsik olarak baglandıgı bir yapıya sahip olan MLP, Algılayıcı ve

Adaline yöntemlerinin avantajları yanı sıra geri-yayılım adındaki ögrenme sistemini kul-

lanmaktadır.

aktivasyon fonksiyonu

Genel kavram olarak aktivasyon fonksiyonu, bir degiskeni farklı bir boyuta tasıyan dog-

rusal veya dogrusal olmayan bir fonksiyondur. Türevinin kolay alınabilmesi egitim hızını

arttırır. Sıklıkla kullanılan üç aktivasyon fonksiyonu vardır; Sigmoid,Hiperbolik Tanjant

ve Adım Basamak.

s(net) =1

1 + e−net(16)

s(net) =

1 net >= 0 ise

−1 net < 0(17)

s(net) =1− e−2net

1 + e2net(18)

Denklem 16 sigmoid fonksiyonunu,denklem 17 birim basamak,denklem 18’de hiperbolik

tanjant fonsiyonunu belirtmektedir.

2.5.2 Radyal tabanlı sinir agları

Radyal tabanlı aglar, duyarlı almaç bölgelerinin oldugu giris tabakası, radyal tabanlı nö-

ronları, Sekil 11, içeren gizli tabaka ve çogunlukla dogrusal aktivasyon fonksiyonlu nö-

ronlardan ibaret çıkıs tabakasından olusur.Radyal tabanlı aglar, geriyayılım algoritmalı

ileri beslemeli aglardan daha fazla nöron kullanımına ihtiyaç duyabilirse de egitim süresi

çok daha kısadır. Yogun egitim verisiyle daha iyi sonuçlar verir.[11]’dan alınan verilerden

yaralanılmıstır.

18

Page 29: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

Sekil 11: Radyal tabanlı nöron

Radyal tabanlı transfer fonksiyonunun net girisi, agırlık vektörü, w, ile giris vektörü, p’nin

vektörel uzaklıgının bias terimi ile çarpımıdır. w ile p arasındaki uzaklık azaldıkça transfer

fonksiyonunun çıkısı artar ve uzaklık sıfırken çıkıs maksimum degeri 1’e ulasır. w ile p

arasındaki uzaklık arttıkça çıkıs sıfıra gider.

Sekil 12: Radyal tabanlı fonksiyon

Sekil 12 de radyal tabanlı fonksiyon ve radyal tabanlı bir agın topolojisi Sekil 13’de gös-

terilmstir.

19

Page 30: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

Sekil 13: Radyal tabanlı ag topolojisi

2.6 Destek vektör makinesi

SVM, Vladimir Vapnik ve Alexey Chernovenkis tarafından istatistiksel ögrenme teorisi

kullanarak türetilmis [7]’den alınan kaynaklara göre.Sınıfları birbirinden ayıran özel bir

çizginin (hyperplane) nin bulunmasını amaçlar. Bu çizgi iki sınıfa en uzak olan çizgidir.

Egitim verileri kullanılarak hyperplane bulunduktan sonra, test verileri sınırın hangi tara-

fında kalmıssa o sınıfa dahil edilir.Sekil 14 de verildigi gibi lineer olarak ayrılması sag-

lanır.Sequential Mimimal Optimization, SMO (Ardısık minimal optimizasyon metodu)

olarakta adı geçmektedir.

Sekil 14: Destek vektör makinesi ile ayırma

Lineer olarak ayrılamayan örneklerde veriler daha yüksek boyutlu baska bir uzaya tasınır

ve sınıflandırma o uzayda yapılır. Asagıdaki sekilde örnekler lineer olarak ayrılamaz iken,

Sekil 15 de üç boyutlu uzayda denklem 19 ile ayrılabilmektedir.

20

Page 31: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

x21, x22, (2 · x1 · x2)0.5 (19)

Peki nasıl ayrılıyor?

• SVM’de,lineer olmayan özellikler için "kernel" (çekirdek) terimi kullanılır,K(xi, xj)

sembol ile gösterilir

• Kerneller kullanarak, SVM lineer olmayan sınıflandırma için kullanılabilir

• SVM problemi, bu sekilde yazılabilir (dual sekli adlandırılan ifade 20 ve ifade 21

ve 22 da ise durumları gösterilmistir);

max∑

ai −1

2

∑aiajyiyj(xi · xj) (20)

∑aiyi = 0 (21)

0 ≤ aiyi ≤ C (22)

• Ifade 20’nin en sagındaki parametre skalar oldugundan dolayı xi · xj = K(xi, xj)

yazacagız.

• 4 farklı çekirdek opsiyonu vardır.

1. K(xi, xj) = e−(xi − xj)2

2σ2 en çok kullanılan,

2. K(xi, xj) = (xi · yj)d homojen polinom kerneli,

3. K(xi, xj) = (1 + xi · yj)d homojen olmayan polinom kerneli,

4. K(xi, xj) = tanh(c+ k · xi · yj) homojen polinom kerneli,

21

Page 32: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

Sekil 15: Lineer olarak ayrılamayan verilerin sınıflandırılması

3 Ögrenmesiz Ögrenme(Clustering)

• [8]’daki verilerden kümeleme algoritmaları egiticisiz ögrenme metotlarıdır.

• Örneklere ait sınıf bilgisini kullanmazlar.

• Temelde verileri en iyi temsil edecek vektörleri bulmaya çalısırlar.

• Verileri temsil eden vektörler bulunduktan sonra artık tüm veriler bu yeni vektör-

lerle kodlanabilirler ve farklı bilgi sayısı azalır.

• Bu nedenle birçok sıkıstırma algoritmasının temelinde kümeleme algoritmaları yer

almaktadır.

Elimizde tek boyutlu 10 örnek içeren bir verimiz olsun.

12 15 13 87 4 5 9 67 1 2

Bu 10 farklı veriyi 3 farklı veri ile temsil etmek istersek

12 12 12 77 3 3 3 77 3 3

seklinde ifade ederiz. Gerçek degerler ile temsil edilen degerler arasındaki farkı minimum

yapmaya çalısır.

Yukarıdaki örnek için 3 küme olusmustur.

12-15-13 örnekleri 1. kümede

87-67 örnekleri 2. kümede

4-5-1-2-9 örnekleri 3. kümede yer almaktadır.

• Ölçeklenebilirlik

22

Page 33: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

• Farklı tipteki niteliklerden olusan nesneleri demetleme

• Farklı sekillerdeki demetleri olusturabilme

• En az sayıda giris parametresi gereksinimi

• Hatalı veriler ve aykırılıklardan en az etkilenme

• Model olusturma sırasında örneklerin sırasından etkilenmeme

• Çok boyutlu veriler üzerinde çalısma

• Kullanıcıların kısıtlarını göz önünde bulundurma

• Sonucun yorumlanabilir ve anlasılabilir olması

Iyi Demetleme

Iyi demetleme yöntemiyle elde edilen demetlerin özellikleri;

• aynı demet içindeki nesneler arası benzerlik fazla , farklı demetlerde bulunan nes-

neler arası benzerlik az

• Olusan demetlerin kalitesi seçilen benzerlik ölçütüne ve bu ölçütün gerçeklenme-

sine baglı

• Uzaklık Benzerlik nesnelerin nitelik tipine göre degisir

• Nesneler arası benzerlik: s(i, j)

• Nesneler arası uzaklık: d(i, j) = 1− s(i, j)

• Iyi bir demetleme yöntemi veri içinde gizlenmis örüntüleri bulabilmeli

• Veriyi gruplama için uygun demetleme kriteri bulunmalı

• demetleme = aynı demetteki nesneler arası benzerligi en büyüten, farklı demetler-

deki nesneler arası benzerligi en küçülten fonksiyon

• Demetleme sonucunun kalitesi seçilen demetlerin sekline ve temsil edilme yönte-

mine baglı

23

Page 34: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

Peki temel demetleme yalasımları nelerdir?

1. Bölünmeli yöntemler: Veriyi bölerek, her grubu belirlenmis bir kritere göre deger-

lendirir

2. Hiyerarsik yöntemler: Veri kümelerini (ya da nesneleri) önceden belirlenmis bir

kritere göre hiyerarsik olarak ayırır

3. Yogunluk tabanlı yöntemler: Nesnelerin yogunluguna göre demetleri olusturur

4. Model tabanlı yöntemler: Her demetin bir modele uydugu varsayılır. Amaç bu mo-

dellere uyan verileri gruplamak

3.1 Bölünmeli yöntemler

Amaç: n nesneden olusan bir veri kümesini (D), k, (k ≤ n) demete ayırmak ayrılan her

demette en az bir nesne bulunmalı ayrıca her nesne sadece bir demette bulunmalı

Yöntem:Demetleme kriterini en büyütücek sekilde D veri kümesi k gruba ayırma

• Global çözüm: Mümkün olan tüm gruplamaları yaparak en iyisini seçme (NP kar-

masık)

• Sezgisel çözüm: k-means ve k-medoids

k-means 1: Her demet kendi merkezi ile temsil edilir

k-medoids2: Her demet, demette bulunan bir nesne ile temsil edilir

3.1.1 k-komsu(k-means)

Egiticisiz bir yöntem olan K-Mean Clustering, eldeki verileri özelliklerine göre hiçbir

sınıf bilgisi olmadan K sayıda kümeye gruplama islemidir. Gruplama, ilgili cluster’ın

centroid (merkez) degeri ile veri setindeki her objenin/nesnenin arasındaki farkın kareleri

toplamının minimumu alınarak gerçeklestirilir. Objelerin sınıflandırılması islemi gerçek-

lestikten sonra her bir sınıfa veya kümeye ilgili etiketin verilmesi uzman bir kisi tarafından

1 MacQueen tarafından 67 yılında bulunmustur.2PAM (Partition around medoids) (Kaufman & Rousseeuw’87)

24

Page 35: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

yapılır [4]’daki verilere göre.

Örnek:

Egitim setinizde 4 adet objenin oldugu ve her bir objenin iki özellige sahip oldugunu var-

sayalım.

Tablo 6: Nesne ve o nesneye ait olan nicelikler(ögrenmesiz ögrenme)Nesne Ozelik1(Agırlık indeksi(X)) Ozellik2(Y)pH

medicinea 1 1medicineb 2 1medicinec 4 3medicined 5 4

Öncelikle bilinmesi gereken objelerin kaç kümeye ayrılacagıdır (bu örnek Tablo 6 için 2

olsun, Cluster 1 ve Cluster 2). Esas problem ise bu ilaç objelerinin hangisinin Cluster 1,

hangisinin Cluster 2’ye ait oldugudur.

• Öncelikle cluster (küme) sayısına karar verilir (k)

• Herbir cluster’ın centroid/merkez noktası belirlenir

• Baslangıç centroid’leri olarak veri setinden rasgele k nokta seçilebilir veya

• Veriler sıralanarak her k ve k’nın katlarında yer alan degerler centroid noktaları

olarak alınabilir

• Daha sonra K-means algoritmasında, cluster’lar içerisinde yer alan objeler hare-

ketsiz kalıncaya kadar yani yer degistirmeyinceye kadar üç asamadan olusan islem

tekrarlanır

• Centroid noktalarına karar verilir

• Her objenin centroid noktalarına olan uzaklıkları hesaplanır

• Her obje minimum uzaklıgı sahip oldugu cluster’a atanır

K-means demetleme çesitleri

25

Page 36: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

• K-Means demetlemeye baslamadan önce yapılanlar

Veri kümesini örnekleyerek hiyerarsik demetleme yap. Olusan k demetin orta-

lamasını baslangıç için merkez nokta seç

Baslangıçta k’dan fazla merkez nokta seç. Daha sonra bunlar arasından k tane

seç.

• K-Means demetleme islemi sonrasında yapılanlar

Küçük demetleri en yakın baska demetlere dahil et

En büyük toplam karesel hataya sahip olan demeti böl

Merkez noktaları birbirine en yakın demetleri birlestir

Toplam karesel hatada en az artısa neden olacak iki demeti birlestir

K-Means demetleme algoritmasının özellikleri

• Gerçeklemesi kolay

• Karmasıklıgı diger demetleme yöntemlerine göre az

• K-Means algoritması bazı durumlarda iyi sonuç vermeyebilir

Veri grupları farklı boyutlarda ise

Veri gruplarının yogunlukları farklı ise

Veri gruplarının sekli küresel degilse

Veri içinde aykırılıklar varsa

3.1.2 K-medoids demetleme yöntemi

Her demeti temsil etmek için demet içinde orta nokta olan nesne seçilir.

• 1, 3, 5, 7, 9 ortalama:5

• 1, 3, 5, 7, 1009 ortalama=205

• 1, 3, 5, 7, 1009 orta nokta=5

26

Page 37: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

Medoids demetleme yöntemi

PAM (Partitioning Araound Medoids 1987)

• Baslangıçta k adet nesne demetleri temsil etmek üzere rasgele seçilir xik

• Kalan nesneler en yakın merkez nesnenin bulundugu demete dahil edilir

• Merkez nesne olmayan rasgele bir nesne seçilir xrk

• xrk merkez nesne olursa toplam karesel hatanın ne kadar degistigi bulunur

• 23 nolu denklem Tcik > 0 ise xrk merkez nesne olarak atanır

• Demetlerde degisiklik olusmayana kadar Merkez nesne olmayan rasgele bir nesne

seçilir xrk islemi gerçeklenir.

nk=k demeti içindeki nesne sayısı xjk=k demeti içindeki j. nesne

Tcik =nk∑j=1

(xik − xjk)2 −nk∑j=1

(xrk − xjk)2 (23)

Özellikler

• Küçük veri kümeleri için iyi sonuç verebilir, ancak büyük veri kümeleri için uygun

degildir [14]’deki verilere göre.

3.2 Hiyerarsik yöntemler

Demet sayısının belirlenmesine gerek yok ancak sonlanma kriteri belirlenmesi gereki-

yor.Asagıdan yukarıya agglomerative,yukarıdan asagıya divisive denir.

• AGNES (AGglomerative NESting):

Kaufmann ve Rousseeuw tarafından 1990 yılında önerilmistir.

Birinci adımda her nesne bir demet olusturur.

Aralarında en az uzaklık bulunan demetler her adımda birlestirilir.

Bütün nesneler tek bir demet içinde kalana kadar yada istenen sayıda demet

elde edene kadar birlestirme islemi devam eder.

27

Page 38: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

• DIANA (DIvisive ANAlysis):

Kaufmann ve Rousseeuw tarafından 1990 yılında önerilmistir.

AGNES’in yaptıgı islemlerin tersini yapar.

En sonunda her nesne bir demet olusturur.

Her nesne ayrı bir demet olusturana ya da istenilendemet sayısı elde edene

kadar ayrılma islemi devam eder.

Hiyerarsik demetleme

• Dendogram: Demetler hiyerarsik olarak agaç yapısı seklinde görüntülenebilir

• Ara dügümler çocuk dügümlerdeki demetlerin birlesmesiyle elde edilir

Kök: bütün nesnelerden olusan tek demet

Yapraklar: bir nesneden olusan demetler

• Dendogram istenen seviyede kesilerek demetler elde edilir

Asagıdan yukarıya demetleme

• Algoritma

Uzaklık matrisini hesapla

Her nesne bir demet

Tekrarla

En yakın iki demeti birlestir

Uzaklık matrisini yeniden hesapla

Sonlanma: Tek bir demet kalana kadar

• Uzaklık matrisini hesaplarken farklı yöntemler farklı demetleme sonuçlarına neden

olurlar

Hiyerarsik demetleme yöntemlerinin özellikleri

• Demetleme kriteri yok

28

Page 39: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

• Demet sayılarının belirlenmesine gerek yok

• Aykırılıklardan ve hatalı verilerden etkilenir

• Farklı boyuttaki demetleri olusturmak problemli olabilir

• Yer karmasıklıgı - O(n2)

• Zaman karmasıklıgı - O(n2logn) ve n : nesne sayısı

3.3 Yogunluk tabanlı yöntemler

• Demetleme nesnelerin yogunluguna göre yapılır.

• Baslıca özellikleri:

Rastgele sekillerde demetler üretilebilir.

Aykırı nesnelerden etkilenmez.

Algoritmanın son bulması için yogunluk parametresinin verilmesi gerekir.

• Baslıca yogunluk tabanlı yöntemler:

DBSCAN: Ester, et al. (KDD’96)

OPTICS: Ankerst, et al (SIGMOD’99).

DENCLUE: Hinneburg & D. Keim (KDD’98)

CLIQUE: Agrawal, et al. (SIGMOD’98)

3.3.1 DBSCAN

• Iki parametre:

Eps: En büyük komsuluk yarıçapı

MinPts: Eps yarıçaplı komsuluk bölgesinde bulunan en az nesne sayısı

• Neps(p) : q ∈ D|d(p, q) ≤ Eps

29

Page 40: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

• Dogrudan erisilebilir nesne: Eps ve MinPts kosulları altında bir q nesnesinin dog-

rudan erisilebilir bir p nesnesi su sartları saglar:

p ∈ Neps(q)

q nesnesinin çekirdek nesne kosulunu saglaması Neps(q) ≥MinPts

• Erisilebilir nesne:

Eps ve MinPts kosulları altında q nesnesinin erisilebilir bir p nesnesi olması

için:

p1, p2, · · · , pn nesne zinciri olması

p1 = q, pn = p

pi nesnesinin dogrudan erisilebilir nesnesi:pi+1

• Yogunluk baglantılı Nesne:

Eps ve MinPts kosulları altında q nesnesinin yogunluk baglantılı nesnesi p su

kosulları saglar:

p ve q nesneleri Eps ve MinPts kosulları altında bir o nesnesinin erisilebilir

nesnesidir.

Yogunluk tabanlı yöntemlerin özellikleri

• Veri tabanındaki her nesnenin Eps yarıçaplı komsuluk bölgesi arastırılır.

• Bu bölgede MinPts’den daha fazla nesne bulunan p nesnesi çekirdek nesne olacak

sekilde demetler olusturulur.

• Çekirdek nesnelerin dogrudan erisilebilir nesneleri bulunur.

• Yogunluk baglantılı demetler birlestirilir.

• Hiçbir yeni nesne bir demete eklenmezse islem sona erer.

• Yer karmasıklıgı - O(n)

• Zaman karmasıklıgı - O(n log n) n: nesne sayısı

30

Page 41: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

3.4 Model tabanlı demetleme yöntemleri

• Veri kümesi için öngörülen matematiksel model en uygun hale getiriliyor.

• Verinin genel olarak belli olasılık dagılımlarının karısımından geldigi kabul edilir.

• Model tabanlı demetleme yöntemi

Modelin yapısının belirlenmesi

Modelin parametrelerinin belirlenmesi

• Örnek EM (Expectation Maximization) Algoritması

• Demetlemede amaç gizli degiskenleri bulmak: sınıf bilgisi

• Gizli degiskenler veri üzerinde bir olasılık fonksiyonu ile matematiksel olarak ifade

edilebilen bir olasılıksal dagılımdır

• Örnek: Satılan dijital kameraların sınıfı

Profesyonel veya amatör (C1 ve C2)

• Her sınıf için iki olasılık yogunluk fonsiyonu: f1 ve f2

• Olasılıksal karısım modelleri gözlenen verinin farklı olasılık dagılımları ile temsil

edilen demetlerin örnekleri oldugunu varsayar

• Gözlenen verideki her örnek birbirinden bagımsız

Istatistiksel olarak:

• K nesneden olusan bir veri kümesi D = x1, x2, · · · , xK

∀xi(i ∈ [1, · · ·K]) nesnesi θ parametre kümesiyle tanımlanan bir olasılık dagı-

lımından olusturulur.

Olasılık dagılımının, cj ∈ C = c1, c2, · · · , cG seklinde G adet bileseni vardır.

∀θg, g ∈ [1, ..., G] parametre kümesi g bileseninin olasılık dagılımını belirleyen,θ

kümesinin ayrısık bir alt kümesidir.

Herhangi bir xi nesnesi öncelikle, p(cg|θ) = τg, (∑

G τg = 1) olacak sekilde

31

Page 42: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

bilesen katsayısına (ya da bilesenin seçilme olasılıgına) göre bir bilesene atanır.

Bu bilesen p(xi|cg; θg) olasılık dagılımına göre xi degiskenini olusturur.

Böylece bir xi nesnesinin bu model için olasılıgı bütün bilesenlerin olasılıkla-

rının toplamı denklem 24 ve 25 ile ifade edilebilir:

p(xi, θ) =G∑g=1

p(cg|θ)p(xi|cg; θg) (24)

p(xi, θ) =G∑g=1

τgp(xi|cg; θg) (25)

• Model parametrelerinin belirlenmesi

Maximum Likelihood (ML) yaklasımı denklem 26’deki gibidir.

`ML(θ1, · · · , θG; τ1, · · · , τG|D) =K∏i=1

G∑g=1

τgp(xi|cg, θg) (26)

Maximum aposteriori (MAP) yaklasımı 27 deki gibi olacaktır.

`MAP (θ1, · · · , θG; τ1, · · · , τG|D) =K∏i=1

G∑g=1

τgp(xi|cg, θg)p(θ)D

(27)

Uygulamada her ikisinin logaritması 28 ve 29 ile ifade edilebilir.

L(θ1, · · · , θG; τ1, · · · , τG|D) =K∑i=1

lnG∑g=1

τgp(xi|cg, θg) (28)

L(θ1, · · · , θG; τ1, · · · , τG|D) =K∑i=1

lnG∑g=1

τgp(xi|cg, θg) + lnp(θ) (29)

3.4.1 EM algoritması

• Veri kümesi: D = x1, x2, · · · , xK

• Gizli degiskenler H = z1, z2, · · · , zk (her nesnenin hangi demete dahil oldugu bil-

gisi)

32

Page 43: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

zj = xj, y1j, y2j, · · · , yGjxj verisi ci demetinde ise yij = 1

• Verinin eksik oldugu durumda, tam verinin beklenen degeri 30 nolu denklem ile

hesaplanır.

Q(θ, θ′) = E(Lc(D,H|θ)|D, θ′) =K∑i=1

G∑g=1

p(Cg|xi)[ln p(xi|cg) + ln τg] (30)

E ve M adımları

• Iki adım arasında yinelemeli

• E adımı: θ’ parametrelerine dayanarak eksik veri için en iyi olası kestirimler

• M adımı: Eksik veri atandıgında yeni parametrelere iliskin kestirimler

• EM Algoritmasının adımları:

θ’ için baslangıç degerleri atama

(E) Expectation: Q(θ|θ′) hesaplanması

(M) Maximization: argmaxQ(θ|θ′)

Normal dagılım için EM algoritması

• xj verisi ci demetinde ise yij = 1 degilse yij = 0

• E adımı: p(ci, xj, θl) = p(yij = 1, θl) =p(xj|ci, µli, σli)p(ci)∑G

g=1 P (cg)p(xj|cg, µli, σli)≡ hij

• Normal dagılım için:P (xj|ci, µi, σ) =1

(2π)d/2σdexp−(xj − µi)2

2σ2

• M adımında ise p(ci) =

∑j hij

Kve µl+1

i =

∑j hijxj∑j hij

ayrıca σl+1i =

∑j hij(xj − µli)(xj − µli)T∑

j hij

4 Iliskili(Associate)

4.1 Appriori(iliskilendirme)

Bir süpermarkette, x ürününü alan müsterilerin yüzde 80’i y ürününü de alıyorsa, x ürü-

nünü alıp, y ürününü almayan müsteriler, y ürününün potansiyel müsterileridir. Müsterile-

33

Page 44: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

rin sepet bilgilerinin bulundugu bir veri tabanında potansiyel y müsterilerini bulma islemi

türündeki problemler iliski belirme yöntemleri ile çözülür.[9]

• Sepet analizi

• Raf düzenlemesi

• Promosyonlar

34

Page 45: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

Makine ögrenme simulatörü

Piyasada bu alanda birden çok program mevcuttur.Biz hem kolay bulunması ve de kolay

anlasılır arayüzü nedeniyle weka’yı kullanacagız.Programın arayüzü Sekil 16 da gösteril-

mistir.

5 Weka

[7]’e göre Weka’nın açılımı Waikato Environment for Knowledge Learning.Bu program

Yeni Zelanda’nın Waikato üniversitesi tarafından gelistirilmistir.Weka programı ile veri-

leri önisleme,sınıflandırma,demetleme gibi islemleri data tipine göre isliyebiliyoruz.

5.1 Ortam tanıtımı

Explorer:Bu sekme veri ön isleme secilen özelige ait istatistiklerin görüntülenmesini sag-

layan forma götüren sekmedir.

Knowledge Flow:Sürükle bırak mantıgına göre belirli komponentlerle yapılan islemlerin

yapılmasını saglayan forma götürür.

Sekil 16: Waikato üniversitesi tarafından gelistirilmis bir makine ögrenme simülasyonu

35

Page 46: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

Yukarıdaki formda explorer sekmesi tıklandıgında Sekil 17 daki form açılır.Bu asamadan

sonra formun üst kısmındaki butonlarla asıl isimiz.Yukarıda sözü geçen perprocess,classify,cluster

vb. dügmeler.

Sekil 17: Seçilen veri kümesinin önislemeye tabi tutulması için gereken form ekranı

5.2 Veri alınması

Open file sekmesini tıklatıp ilgili kaynak kodumuz csv,arff yada ilgili veritabanı baglantısı

aracılıgıyla dataları çekebiliyoruz.Ancak biz farklı yollara girmeyip arff dosya formatında

bahsedersek,Sekil 18 deki gibi olmalıdır.

Yani javadaki class’ın ismi ile dosyanın adının aynı olması gibi iliskilendirilebilir.alanlar:

@relation ’dosyaismi’

@attribute degiskenadi dizitipidegiskenleri

36

Page 47: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

Sekil 18: Weka’da arff dosya formatının veri yapısı,veriler

yada

@attribute degiskenadi (numeric,real,vb..)

@data

sonra ilgili veriler girdigimiz alan kadar girilip alt satırda kayıtlar devam edilir.

Ilgili .arff dosyamızı Open file butonuyla açtıktan sonra Filter sekmesinin altında iliskili

dosyanın adı kaç tane örneklemesinin oldugu kaç adet sütun alanının oldugu bilgileri

Sekil 19 de,sag üstteki kısımda sol alttaki seçilmis olan alana göre istatistiki verileri herbir

alanından kaç adet veri oldugu bilgisi string grid komponentine yazılmıs hemen altındaki

chart grafiginde ise secilen alanla ilgili görsel istatiski kullanıcıya Sekil 20 de göstermistir.

5.2.1 Kullanacagımız yöntemler

Kullanılan yöntemlere geçmeden önce Sekil 21 deki gibi sınıflandırma geçerliligi buton-

ları vardır. use training set çekbaksını tiklersek bütün datayı pratik olarak alacaktır.Daha

sonra test yapmak istedigimizde aynı duzene sahip bir formatta bir dosya olusturarak

supplied test set çekbaksı aracılıgla test ederiz.

37

Page 48: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

Sekil 19: Weka’da veri ön isleme ekranı

Sekil 20: Sol alttaki çekbaksların seçilerek ilgili istatistiklerin gösterilmesi

38

Page 49: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

cross validation

çekbaksı tiklendiginde ise veri,textbakstaki sayi k olursa k adet kümeye ayrılır. Birisi test

kümesi için ve diger K-1 küme birlestirilip egitim kümesi için seçilir. Bu islem kümeler

degistirilerek K kez tekrarlanır. Genel basarı için K adet basarı degerinin ortalaması alınır.

Sekil 21: Wekada ögrenmeli ögrenmede pratik yöntemleri

Percentage split

çekbaksı tiklendiginde ise yüzde olarak kısmını egitimde kalan kısmını ise test asama-

sında kullanır.

5.3 Kullanılan yöntemlerin cevap açıklamaları

Correctly classified instances=Sinifi dogru belirlenen sayisi(datanın)

incorrectly classified instances=Sinifi yanlis belirlene sayisi(saglıksız veri)

mean absolute error=tam hata degeri

root mean squared error=gerçel hatanın karesi

Relative absolute error =göreceli tam hata

Root relative absolute error =göreceli tam hatanın karekökü

total number of instances =toplam örnekleme sayisi

tp rate=dogru sınıflandırılmıs örnek sayisinin tümüne oranı

fp rate=yanlıs sınıflandırılmıs örnek sayisinin tümüne oranı

39

Page 50: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

precision=pozitif dogruların bütün pozitiflere oranı

recall=pozitif dogruların pozitif dogrularla negatif yanlısların toplamına oranı

accuracy=(dogruların tümüne oranı)

düzensizlik matrisia b

2 1 a=0

5 3 b=1

• Burada 2 a da dogru örneklenen sayisi

• Burada 3 b de dogru örneklenen sayisi

• 5 ise b olarak verilen ancak a da olan

• 1 a da verilen ancak b de sınıflandırılmıstır.

5.4 Görsel komponentlerle isleme

5.4.1 Nereden yapılır?

Weka arayüzü ana menüden knowledge flow butonu tıklanarak Sekil 22’ deki gibi.

40

Page 51: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

Sekil 22: Weka’da knowledge flow butonu

5.4.2 Yükleme(loader) Durumu

Gelen arayüzden DataSource sekmesi yardımıyla Sekil 23’deki gibi butonlar gelecek-

tir.Bu sekmeler yardımıyla bundan sonraki asama olan alan seçme islemi gerçeklenecek-

tir.Genelde arff loader kompanenti kullanıyoruz.

Sekil 23: Data Source sekmesi içerigi

41

Page 52: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

5.4.3 Kayıt ediciler

Bu sekme ile biz hedef dosyada farklılıkları kayıt edebiliyoruz.Bu sekmenin içeriginde

Sekil 24’de oldugu gibi komponentler bulunur.

Sekil 24: Data Sink sekmesi içerigi

5.4.4 Filtreler

Filtre sekmesi Sekil 25’deki ögrenmeli ve ögrenmesiz olmak üzere iki tiptir.

Sekil 25: Filtreler

5.4.5 Sınıflayıcılar

Ögrenmeli ögrenme yöntemlerinin algoritmaları içerir,veriyi loader dan sınıf atamaları ve

seçilmesi yapıldıktan sonra egitim ve test verileri’ni gönderecek olan komponente oradan

da söz konusu algoritma ile islenecek daha sonra ise sınıflanırma yada demetleme dö-

nüstürücüsüne ilgili parametreleri aktaracaktır ayrıca bayes ve agaç uygulamalarında da

görsel sekmeden grafik komponentine aktarılarak graf ve karar agacının yapısı görüntü-

lenebilir.Sekil 26 deki gibi komponentler mevcuttur.

Sekil 26: Data Classifier sekmesi

42

Page 53: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

5.4.6 Demetleyiciler

Ögrenmesiz ögrenme yöntemlerinin ögrenmeli de oldugu gibi Sekil 27’deki simgeler tıkla

bırak yaparak kullanıyoruz.

Sekil 27: Data Clusterer sekmesi

5.4.7 Iliskilendirmeler

Veri madenciliginin önemli bir kolu olan iliskilerin kesfini saglayan ayrıca iliskilendirme

komponentleri Sekil 28’deki gibi tanımlanmıstır.

Sekil 28: Data Associate sekmesi

5.4.8 Konvertör komponentler

Bu elemanlar ise arff loader çekilen verilerin alanlarının tanınması,sınıflandırılacak olan

özeligi seçme ayrıca sınıflandırma yapıldıktan sonra ilgili metottan dönecek olan hata ve

sınıflandırma detaylarını parametre olarak alır olarak alır ve ilgili komponentlere gön-

derir,bu yönüyle binevi aktarma görevi üstlenmistir.Bu komponentler Sekil 29’deki gibi

tanımlanmıstır.

Sekil 29: Data Evaluation sekmesi

5.4.9 Görsel komponentler

Yüklenen verilen görsel olarak incelenmesinin yanı sıra ögrenme algortimalarında dö-

nen parametrelerin(esik degeri,hata vb.) görüntülenmesi saglayan komponentleri barındı-

43

Page 54: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

rır.Görüntüsü Sekil 30’deki gibidir.

Sekil 30: Data Visualization sekmesi

Birkaç örnek yapalım

Sekil 31’da oldugu gibi öncelikle arff loader simgesi ,sonra ise class assigner simgesi

eklendi sonra ise çapraz dogrulama ,graph viewer,j48,graph viewer,classifier perfor-

mance evaluator,text viewer,model performance chart komponentlerini ekliyoruz.Bu

siralama su an önemli degil ancak baglantıları açısında sıralı olarak eklememiz sekilsel

olarak anlamamıza yardımcı olacaktır. arff loader simgesini sol klikle dosyayı yüklüyo-

ruz sonra sag klikleyip dataset seçip class assigner’a baglıyoruz.Aynı sekilde class As-

signer simgesinin sag klikleyip datasetini cross validation fold maker simgesine gönde-

riyoruz.Bu asamadan sonra aynı sekilde cross validation fold maker simgesi sag tıklanıp

egitim ve test okları j48 simgesine yönlendiriyoruz.J48’in aynı sekilde sag klikleyip graph

seçip graph viewer simgesiyle birlestiriyoz.J48 den devam edersek sag tıklayıp batch clas-

sifiers özeligini secip classifier performance evaluator simgesine yönlendiriyoruz bu kom-

ponentten de visualizable error parametresini mdel performace chart ’a sonuç verileri olan

text dosyalarını ise text viewer’a gönderip anlasılabilir sonuçları analiz edilir.Peki islem

nasıl baslatılır?

Söyle arff loader simgesinin üzerine gelinip sqg tıklatılıp start loading sekmesi tıklan-

dıgında islem baslatılmıs olunacak ve analiz yapmak için son uçlardaki komponentlerin

üzerine sag tıklantılıp show result ya da bu bir chart ise show cart secenegi seçilerek

sonuçlar incelenebilir.

44

Page 55: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

Sekil 31: J48 karar agacından olusan bir sistem

Aynı sekilde Sekil 32’de buna benzer bir örnek yalnızca burada bir nüans farkı class value

picker kompenenti mevcut bu eleman ise bizim veriyi hangi alana göre sınıflandırılaca-

gına olanak saglayan opsiyondur.

Sekil 32: Bayes ögrenmesini iliskin sistem

Sekil 33’de gösterilen örnekte ise ögrenmesiz ögrenen bir sistem tasarlanmıstır bu sis-

tem yukarıdaki örneklerden pek farklı degildir ancak söz konusu bu durumda yine bir

farklılık gözümüze çarpacaktır,o da classifier performance evalutor yerine clusterer

performance evalutor yani anlasılacaga üzere sınıflandırma ile demetleme metotlarının

islemesi biribirinden farklı oldugu için farklı bir konvertör kullanmamızdır.

45

Page 56: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

Sekil 33: Ögrenmesiz ögrenme yöntemi olan k-means kullanımı

Asagıdaki Sekil 34’de gösterilen sistemde ise bir çok katmalı algılayıcı tabanlı bir sistem

gösterilmistir.

Sekil 34: ÇKA’lı bir simulasyon arayüzü

46

Page 57: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

SONUÇLAR

Sekil 35 de tree algoritması kullanılarak veriler islenmesi sonra Sekil 36 deki gibi ilgili

butonlar aracılıgıyla veri kümesindeki agaç yapısı çizdirilmistir.Son olarak Sekil 37 te ise

agaç yapısı gösterilmistir.

Sekil 35: Agaç sınıflandırma metodu kullanarak verilerin islenmesi

47

Page 58: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

Sekil 36: Wekada j48 agaç metodu ile karar agacının görüntülenmesi

Sekil 37: Ilgili veri kümesinin karar agacı

Sekil 38 de ise destek vektör makinesi kullanılarak verinin islenmesi sonuçları ayrıca

Sekil 39 de ise makinenin hangi çekirdegi kullanarak gerçekleyecegi gösterilmektedir.

48

Page 59: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

Sekil 38: Destek vektör makinesi(bu programdaki adıyla "smo") yöntemi kullanılarak veriisleme

Sekil 39: Destek vektör makinesi için ilgili çekirdegin seçimi

49

Page 60: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

Altta bulunan Sekil 40 de ise lineer regression yöntemi kullanılarak veriler islenmistir.

Sekil 40: Lineer regression yöntemi kullanılarak ilgili verilerin dogruya uydurulması

Sekil 41,42 de ise Ysa adi altında çka algoritması kullanılarak isleme,ve Sekil 43,44 de ki

gibi katmanlar görüntülenmistir.

50

Page 61: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

Sekil 41: Çok katmanlı algılayıcı yöntemi kullanılarak veri isleme

Sekil 42: Iris’e ait olan verilerin mla ile islenmesi

51

Page 62: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

Sekil 43: Mla yönteminde katmanların gösterilmesi

Sekil 44: Mla’da islenen verinin algılayıcı katmanları

52

Page 63: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

futbol.arff,iris.arff veri kümelerinin Sekil 45 ve Sekil 46 de ise naive bayes, kullanılarak

ve ise Sekil 47 ve Sekil 48 de bayes agları ile islenmistir.

Sekil 45: Bayes yöntemi ile veri islenmesi

Sekil 46: Iris’e ait verilerin bayes ile islenmesi

53

Page 64: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

Sekil 47: Naive bayes yöntemi ile islenmesi

Sekil 48: Iris’e ait verilerin naive bayes yöntemi ile islenmesi

Ögrenmesiz ögrenme yöntemi olan k-means ile veri sınıflandırması Sekil 49 deki gibi

gerceklenmistir.

54

Page 65: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

Sekil 49: Ögrenme yöntemi olan k-means ile sınıflandırma

Son olarak birden çok olan sınıflama algoritmalarının veri tipinin büyüklügü,verideki

alanların çoklugu verisetinin lineer olarak sınıflandırılıp sınıflandırılamadıgı,veride yan-

lıs sınıflandırmaların olması gibi ölçütlere baglı olarak Sekil 50’deki gibi sınıflandırma

tipleri seçilebilir.

Sekil 50: Veri setinin büyüklügü,sınıflandırılacak olan alanın kaç farklı tipi ol-dugu,alanların sayısına göre sınıflandırma algoritmalarının basarımı

55

Page 66: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

Kaynaklar

[1] http://tr.wikipedia.org/wiki/Veri_madenciligi

[2] Öztemel, E., 2006, Yapay Sinir Agları, Papatya Yayıncılık, Istanbul

[3] http://www.ninova.itu.edu.tr/EgitimDetay.aspx?eId=195

[4] Dr.Banu Diri’a ait kaynaklardan alınmıstır.

[5] http://dms.irb.hr/tutorial/tut_dtrees.php

[6] O. T. Yıldız, E. Alpaydın, Univariate and Multivariate Decision Trees, Tainn 2000

[7] http://www.kernel-machines.org/

[8] Doç. Dr. Sule Gündüz Ögüdücü’e ait kaynaktan alınmıstır.

[9] An Introduction to the WEKA Data Mining System

[10] http://sourceforge.net/projects/weka/files/

documentation/3.7.x/WekaManual-3-7-11.pdf/download?

use_mirror=garr&download=

[11] http://okulsel.net/docs/index-23863.html?page=4

[12] Yrd.Doç.Dr Umut Orhan’a ait kaynaklardan alınmıstır.

[13] www.slideshare.com

[14] CLARA (Kaufmann & Rousseeuw, 1990)& CLARANS (Ng & Han, 1994)

56

Page 67: makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamında uygulanması

ÖZGEÇMIS

KISISEL BILGILER

Adı Soyadı :Mustafa Köstek

Uyrugu : T.C

Dogum Yeri ve Tarihi: Çayıralan 09/05/1993

Adres : Balıkesir

——-

Telefon : 5549935366

e-mail : [email protected]

EGITIM DURUMU

Lisans Ögrenimi : Bilecik Seyh Edebali Üniverstesi, Bilecik

Bitirme Yılı : 2015

Lise : T.C Balıkesir Edremit Anadolu Lisesi

IS DENEYIMLERI

Yıl :

Kurum : ——-

Stajlar : Izsu stajyer

ILGI ALANLARI

YABANCI DILLER : Ingilizce

57