145
T.C. ERCİYES ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ VERİ MADENCİLİĞİNDE GENETİK PROGRAMLAMA TEMELLİ YENİ BİR SINIFLANDIRMA YAKLAŞIMI VE UYGULAMASI Tezi Hazırlayan M. Burak TELCİOĞLU Tezi Yöneten Yrd. Doç. Dr. Lale ÖZBAKIR Endüstri Mühendisliği Anabilim Dalı Yüksek Lisans Tezi Ocak 2007 KAYSERİ

T.C. ERC İYES ÜN İVERS İTES İ FEN B İLİMLER İ ENST İTÜSÜ ... · Bir çok gizli ve fayda potansiyeli olan ili şkiler analist tarafından tanınmayabilir. Bugünlerde, bir

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

T.C. ERCİYES ÜNİVERSİTESİ

FEN BİLİMLERİ ENSTİTÜSÜ

VERİ MADENCİLİĞİNDE GENETİK PROGRAMLAMA TEMELLİ YENİ BİR SINIFLANDIRMA YAKLAŞIMI VE

UYGULAMASI

Tezi Hazırlayan

M. Burak TELCİOĞLU

Tezi Yöneten

Yrd. Doç. Dr. Lale ÖZBAKIR

Endüstri Mühendisliği Anabilim Dalı Yüksek Lisans Tezi

Ocak 2007

KAYSERİ

ii

TEŞEKKÜR

Bu tezin hazırlanmasında bir çok değerli insanın katkıları olmuştur. Hepsine ayrı ayrı

teşekkür etmek istiyorum.

Bu tez çalışmasının başarı ile sonuçlanmasını sağlayan değerli danışmanım Yrd. Doç.

Dr. Lale ÖZBAKIR’a tez çalışmam sırasında her türlü konudaki anlayışı, desteği,

motivasyonu ve yardımları için minnettarlıklarımı belirtmek istiyorum.

Tez çalışmam süresince her türlü yardımı ve desteği sağlayan değerli müdürüm Tuncer

AKTAŞ’a sonsuz teşekkür ediyorum.

Her türlü yardımlarından dolayı Araştırma Görevlisi Sinem KULLUK’a teşekkür

ederim.

Tez çalışmam sırasında, her zaman bana destek olan eşim Ayşe TELCİOĞLU’na her

türlü anlayışı ve yardımı için teşekkür ederim.

Hayatımın her aşamasında her türlü destek ve anlayışları ile yanımda olan sevgili annem

ve babam Gülçin ve Mahmut TELCİOĞLU’na ve kardeşim Murat TELCİOĞLU’na

anlayış ve desteklerinden dolayı sonsuz teşekkürlerimi iletmek istiyorum.

iii

VERİ MADENCİLİĞİNDE GENETİK PROGRAMLAMA TEMELLİ YENİ BİR SINIFLANDIRMA YAKLAŞIMI VE UYGULAMASI

M. Burak TELCİOĞLU

Erciyes Üniversitesi, Fen Bilimleri Enstitüsü

Yüksek Lisans Tezi, Ocak 2007 Tez Danışmanı: Yrd. Doç. Dr. Lale ÖZBAKIR

ÖZET

Bu çalışmanın amacı veritabanlarında bulunan veri kümelerinin sınıflandırma sürecini

mümkün olduğunca hızlı ve kolay biçimde tamamlayacak bir algoritma tasarlamaktır.

Bu algoritmanın diğer çalışmalardan ayrılan iki önemli özelliği çoklu denklem

programlama temelli bir kromozom yapısı kullanması ve genetik programlamanın

uygunluk değerlendirme aşamasını evrimleştirdiği SQL cümleciklerini kullanarak

başarmasıdır. Geliştirilen MEPAR-SQL algoritması çeşitli literatür ve gerçek veri

kümelerine uygulanmış, deney tasarımında bulunan parametre düzeyleri kullanılarak

bulunan sonuçlar iyi bilinen çeşitli geleneksel algoritmalar ile karşılaştırılmıştır.

Karşılaştırma sonucunda MEPAR-SQL algoritması çok iyi sonuçlar bulmuştur.

Anahtar Kelimeler: Veri madenciliği, sınıflandırma, genetik programlama, çoklu

denklem programlama.

iv

A NEW GENETIC PROGRAMMING BASED CLASSIFICATION APPROACH IN DATA MINING AND APPLICATION

M. Burak TELCİOĞLU

Erciyes University, Graduate School of Natural and Applied Sciences

M.Sc. Thesis, January 2007 Thesis Supervisor: Assist. Prof. Dr. Lale ÖZBAKIR

ABSTRACT

The aim of the study is, to design an algorithm that can complete a classification

process of datasets resides in databases in a fast and easy manner. This algorithm differs

from others by the two distinctions; this algorithm uses a multi expression programming

based chromosome structure and it uses SQL scripts for fitness evaluation which is one

of the steps of the genetic programming. MEPAR-SQL algorithm is applied to several

literature and real datasets and the parameter levels which are found by experimental

design are compared with several well known traditional algorithms. According to the

comparison it is found that MEPAR-SQL algorithm shows good performance.

Keywords: Data mining, classification, genetic programming, multi expression

programming.

v

İÇİNDEKİLER

KABUL VE ONAY....................................................................................................... i

TEŞEKKÜR ................................................................................................................. ii

ÖZET ..........................................................................................................................iii

ABSTRACT ................................................................................................................ iv

ŞEKİLLER LİSTESİ .................................................................................................... x

1.BÖLÜM .................................................................................................................... 1

GİRİŞ ........................................................................................................................... 1

2.BÖLÜM .................................................................................................................... 3

GENEL BİLGİLER ...................................................................................................... 3

2.1. Veri Madenciliği .................................................................................................... 3

2.1.1. Veri Madenciliğine Giriş ..................................................................................... 3

2.1.2. Veri Madenciliği Nedir?...................................................................................... 5

2.1.3. Veri Madenciliği Süreci ...................................................................................... 6

2.1.3.1. Problemin Tanımlanması.................................................................................. 7

2.1.3.2. Geçmiş Bilgiler ................................................................................................ 8

2.1.3.3. Veri Seçimi ...................................................................................................... 8

2.1.3.4. Veri Önişleme .................................................................................................. 9

2.1.3.5. Analiz ve Yorumlama....................................................................................... 9

2.1.3.6. Raporlama ve Kullanım.................................................................................. 10

2.1.4. Veri Madenciliğinin Görevleri........................................................................... 10

2.1.4.1. Sınıf Betimlemesi........................................................................................... 10

2.1.4.2. Birliktelik....................................................................................................... 11

2.1.4.3. Sınıflandırma.................................................................................................. 11

2.1.4.4. Tahmin........................................................................................................... 11

2.1.4.5. Kümeleme...................................................................................................... 12

2.1.4.6. Zaman Serileri Analizi ................................................................................... 12

2.1.5. Veri Madenciliğinde Kullanılan Algoritmalar.................................................... 12

2.1.5.1. Danışmansız Öğrenme Algoritmaları.............................................................. 13

2.1.5.1.1. K-Yol Kümeleme ........................................................................................ 13

2.1.5.1.2. Özdüzenleyici Haritalar (Self Organized Maps)........................................... 13

2.1.5.2. Danışmanlı Öğrenme Algoritmaları................................................................ 13

vi

2.1.5.2.1. Regresyon Modelleri ................................................................................... 13

2.1.5.2.2. K-En Yakın Komşu ..................................................................................... 15

2.1.5.2.3. Yapay Sinir Ağları....................................................................................... 16

2.1.5.2.3.1. Yapay Sinir Ağlarının Özellikleri ............................................................. 17

2.1.5.2.3.2. Yapay Sinir Ağlarının Yapısı.................................................................... 18

2.1.5.2.4. Karar Ağaçları............................................................................................. 19

2.1.5.2.5. Evrimsel Algoritmalar ................................................................................. 20

2.1.6. Veri Madenciliğinin Kullanım Alanları ............................................................. 21

2.1.7. Veri Madenciliğinde Yapılan Çalışmalar........................................................... 23

2.2. Sınıflandırma ....................................................................................................... 26

2.2.1. Sınıflandırmaya Giriş ........................................................................................ 26

2.2.2. Sınıflandırma Nedir? ......................................................................................... 27

2.2.3. Sınıflandırma Kuralları...................................................................................... 29

2.2.3.1. AQ (Ancestral Quest) Algoritması.................................................................. 30

2.2.3.2. CN2 Algoritması ............................................................................................ 31

2.2.3.3. ID3 Algoritması ............................................................................................. 32

2.2.3.4. C4.5 Algoritması ............................................................................................ 32

2.3. Evrimsel Algoritmalar.......................................................................................... 33

2.3.1. Genetik Algoritmalar......................................................................................... 34

2.3.1.1. Genetik Algoritma Çeşitleri............................................................................ 35

2.3.1.2. Basit Genetik Algoritma İşleyişi..................................................................... 36

2.3.2. Genetik Programlama........................................................................................ 39

2.3.3. Evrim Stratejileri............................................................................................... 40

2.3.4. Evrimsel Programlama ...................................................................................... 41

2.4. Genetik Programlama........................................................................................... 42

2.4.1. Genetik Programlama ve Veri Sınıflandırma ..................................................... 43

2.4.2. Standart Genetik Programlama.......................................................................... 45

2.4.2.1. Hazırlık Adımları ........................................................................................... 45

2.4.2.1.1. Fonksiyon ve Terminal Seti ......................................................................... 46

2.4.2.1.2. Uygunluk Ölçümü ....................................................................................... 47

2.4.2.1.3. Kontrol Parametreleri .................................................................................. 47

2.4.2.1.4. Durdurma Kriteri......................................................................................... 48

2.4.2.2. Genetik Programlama Çalışma Adımları ........................................................ 48

vii

2.4.2.3. Standart Genetik Programlama Akış Diyagramı ............................................. 49

2.4.2.3.1. Başlangıç Popülasyonunun Oluşturulması ................................................... 50

2.4.2.3.2. Genetik Programlamanın Ana Nesil Döngüsü.............................................. 50

2.4.2.3.3. Mutasyon Operasyonu................................................................................. 51

2.4.2.3.4. Çaprazlama Operasyonu.............................................................................. 51

2.4.2.3.5. Çoğalma Operasyonu .................................................................................. 53

2.4.2.3.5. Mimari Değişim Operasyonu....................................................................... 53

2.4.3. Doğrusal Genetik Programlama......................................................................... 54

2.4.3.1. GEP ............................................................................................................... 55

2.4.3.1.1. GEP Akış Diyagramı................................................................................... 56

2.4.3.1.2. GEP Gen Yapısı .......................................................................................... 57

2.4.3.1.2.1 Açık Okuma Çatısı ve Genler .................................................................... 57

2.4.3.1.2.2 GEP Genleri .............................................................................................. 58

2.4.3.1.2.3 Çoklu Gen Kromozomları ......................................................................... 60

2.4.3.1.3. Seçim ve Replikasyon ................................................................................. 60

2.4.3.1.4. Mutasyon .................................................................................................... 61

2.4.3.1.5. Sıra Değişimi ve Sıralı Elemanların Eklenmesi............................................ 62

2.4.3.1.6. Çaprazlama ................................................................................................. 63

2.4.3.2. Çoklu Denklem Programlama......................................................................... 65

2.4.3.2.1. MEP Gösterimi............................................................................................ 66

2.4.3.2.2. MEP Gösterimi ile GP ve GEP Gösterimi Karşılaştırması ........................... 68

2.4.3.2.3. MEP Çaprazlama......................................................................................... 69

2.4.3.2.4. MEP Mutasyon............................................................................................ 71

2.4.3.2.5. Uygunluk Hesaplama Süreci........................................................................ 72

2.4.3.2.6. MEP Algoritması......................................................................................... 72

2.5. Veri Madenciliği ve İlişkisel Veritabanları ........................................................... 72

3.BÖLÜM .................................................................................................................. 74

YÖNTEM................................................................................................................... 74

3.1. MEPAR-SQL Algoritmasının Geliştirilmesi ........................................................ 74

3.1.1. Fonksiyon ve Terminal Kümeleri ...................................................................... 75

3.1.2. Başlangıç Popülasyonu...................................................................................... 78

3.1.3. Uygunluk Fonksiyonu ....................................................................................... 78

3.1.4. Genetik Operatörler........................................................................................... 79

viii

3.2. Yazılımın Kullanılması ........................................................................................ 82

3.2.1. Ön Gereksinimler.............................................................................................. 82

3.2.2. Yazılımın Çalıştırılması .................................................................................... 83

4.BÖLÜM .................................................................................................................. 94

BULGULAR VE YORUMLAR ................................................................................. 94

4.1. Test Problemleri................................................................................................... 95

4.2. Uygun Parametre Kümesinin Belirlenmesi ........................................................... 96

4.3. Analiz Sonuçları .................................................................................................. 96

4.3.1. Hepatitis Veri Kümesi Analiz Sonuçları ............................................................ 97

4.3.2. Adult Veri Kümesi Analiz Sonuçları ............................................................... 101

4.3.3. Iris Veri Kümesi Analiz Sonuçları................................................................... 102

4.3.4. Lymphograpy Veri Kümesi Analiz Sonuçları .................................................. 103

4.3.4. Zoo Veri Kümesi Analiz Sonuçları.................................................................. 104

4.3.5. Credit App Veri Kümesi Analiz Sonuçları....................................................... 105

4.3.6. ENDQ Veri Kümesi Analiz Sonuçları ............................................................. 106

4.4. Sonuçların Diğer Çalışmalar ile Karşılaştırması ................................................. 107

5. BÖLÜM ............................................................................................................... 109

SONUÇ VE ÖNERİLER .......................................................................................... 109

KAYNAKLAR......................................................................................................... 111

EKLER..................................................................................................................... 118

EK-1 ENDQ Veri Kümesi Hakkında Bilgiler............................................................ 118

EK-2. MINITAB Analiz Grafikleri ........................................................................... 119

EK-2.a. Adult Ana Etki Grafiği................................................................................. 119

EK-2.b. Adult Etkileşim Grafiği 1............................................................................. 119

EK-2.c. Adult Etkileşim Grafiği 2............................................................................. 120

EK-2.d. Adult Etkileşim Grafiği 3............................................................................. 120

EK-2.e. Creadit-App Ana Etki Grafiği ...................................................................... 121

EK-2.f. Credit-App Etkileşim Grafiği 1 .................................................................... 121

EK-2.g. Credit-App Etkileşim Grafiği 2.................................................................... 122

EK-2.h. Credit-App Etkileşim Grafiği 3.................................................................... 122

EK-2.i. Iris Ana Etki Grafiği ..................................................................................... 123

EK-2.j. Iris Etkileşim Grafiği 1 ................................................................................. 123

EK-2.k. Iris Etkileşim Grafiği 2 ................................................................................ 124

ix

EK-2.l. Iris Etkileşim Grafiği 3 ................................................................................. 124

EK-2.m. Lymphography Ana Etki Grafiği ................................................................ 125

EK-2.n. Lymphography Etkileşim Grafiği 1.............................................................. 125

EK-2.o. Lymphography Etkileşim Grafiği 2.............................................................. 126

EK-2.p. Lymphography Etkileşim Grafiği 3.............................................................. 126

EK-2.q. Zoo Ana Etki Grafiği ................................................................................... 127

EK-2.r. Zoo Etkileşim Grafiği 1................................................................................ 127

EK-2.s. Zoo Etkileşim Grafiği 2................................................................................ 128

EK-2.t. Zoo Etkileşim Grafiği 3 ................................................................................ 128

EK-2.u. ENDQ Ana Etki Grafiği............................................................................... 129

EK-2.v. ENDQ Etkileşim Grafiği 1........................................................................... 129

EK-2.y. ENDQ Etkileşim Grafiği 2........................................................................... 130

EK-2.z. ENDQ Etkileşim Grafiği 3........................................................................... 130

EK-3. MEPAR-SQL Sonuç Çıktıları......................................................................... 131

EK-3.a Adult Veri Kümesi Sonuç Çıktısı .................................................................. 131

EK-3.b Credit-App Veri Kümesi Sonuç Çıktısı ......................................................... 131

EK-3.c Iris Veri Kümesi Sonuç Çıktısı...................................................................... 132

EK-3.d Lymphography Veri Kümesi Sonuç Çıktısı................................................... 132

EK-3.e Zoo Veri Kümesi Sonuç Çıktısı .................................................................... 133

EK-3.f ENDQ Veri Kümesi Sonuç Çıktısı ................................................................ 134

ÖZGEÇMİŞ.............................................................................................................. 135

1.BÖLÜM

GİRİŞ

Verilerin dijital ortamda saklanmaya başlanması ile birlikte, yeryüzündeki bilgi

miktarının her 20 ayda bir kendini iki katına çıkardığı günümüzde veri tabanlarının

sayısı da benzer, hatta daha yüksek bir oranda artmaktadır. Yüksek kapasiteli işlem

gücünün ucuzlaması ile, veri saklama hem daha hızlı hem de kolay hale gelmiştir [1].

Veritabanları günümüzde terabyte – 1,000,000,000,000 byte’tan daha büyük veri,

büyüklüklerine ulaşabilmektedir. Bu büyüklükteki veri yığınlarının içinde stratejik

öneme sahip gizli bilgiler bulunabilmektedir [2].

Veritabanları değerli hazinelerdir. Bir veritabanı sadece veri saklayıp veri sağlamaz,

aynı zamanda çok önemli olabilecek gizli değerli bilgiler de içerir. Bu bilim için yeni

bir kanun olabilir, bir hastalığın tedavisi için yeni bir kavrayış olabilir veya milyon

dolarlar kazandırabilecek yeni bir pazar eğilimi olabilir. Genelde verilerin analizi elle

yapılır. Bir çok gizli ve fayda potansiyeli olan ilişkiler analist tarafından tanınmayabilir.

Bugünlerde, bir çok organizasyon büyük miktarlarda veri üretme veya toplama

kabiliyetindedir. Mevcut durumda analiz için elde edilebilecek veriler yalın insan

aklının kapasitenin çok ötesine geçmiştir. İnsanoğlu bu sorunla başa çıkmak için

bilgisayar gücünden faydalanmaya ihtiyaç duymaktadır. Veri madenciliği veya

veritabanlarından bilgi keşfi, veritabanlarında gömülü olan altını almak için

otomatikleştirilmiş veri eleme sürecidir [3].

Veri madenciliği terimi ile veritabanında bilgi keşfi terimlerinin birbirine yakın

anlamları vardır. Veritabanında bilgi keşfi ile elde edilen desen alışılmamış , doğrudan

hesaplamalarla elde edilemez ve nihayetinde insan tarafından anlaşılabilir olmalıdır.

Veri madenciliği ise veri içinde yararlı desen bulmayı ifade eder. Veritabanında bilgi

keşfi etkileşimli ve tekrarlı birkaç adıma sahip bir süreçtir. Veri madenciliği ise bu

2

adımlardan biridir. Veri madenciliği KDD sürecinin çekirdeği olduğu için bu iki terim

birbirlerinin yerine kullanılabilmektedir [3].

Veri madenciliği, esas olarak veriden bilgi elde etmeyi içeren bir süreçtir. Temel fikir

şudur; eğer keşfetme imkanı varsa gerçek-dünya veritabanları karar vermede

kullanılacak faydalı ancak gizli bilgiler barındırmaktadır. Örnek olarak, bir şirketin

geçmiş satışları hakkındaki veriler satışlarda hangi müşterinin hangi ürünü almaya

eğilimi olduğu hakkında gizli bilgiler içerebilir. Bundan dolayı veriler analiz edilerek

şirket satışlarını artırma potansiyeli olan bir bilgi keşfedilebilir [4].

Veri madenciliği, veri içerisindeki desenleri ve ilişkileri keşfetmek için çeşitli veri

analiz araçlarını kullanarak geçerli tahminler yapmak için kullanılabilecek sürece denir

[2].

Veri madenciliği, aslında disiplinler arası bir çalışma alanıdır. Bu alanda başta makine

öğrenme ve istatistik olmak üzere ayrı araştırma alanlarından türetilmiş bir çok türde

algoritma vardır. Bu algoritmalar veriden bilgi elde etmekte kullanılmaktadır [4].

2.BÖLÜM

GENEL BİLGİLER

2.1. Veri Madenciliği

2.1.1. Veri Madenciliğine Giriş

Geçmişte veri madenciliği bilgi yönetimi veya bilgi mühendisliği olarak adlandırılırdı.

2000’li yıllara kadar daha çok yapay zeka alanında çalışan teorisyenler tarafından

tartışılan, anlaşılması güç ve yabancı bir teknoloji idi [5].

Fayyad ve ark. [6] veri madenciliğini; kabul edilebilir etkinlik sınırlarına sahip

bilgisayar tekniklerini ihtiva eden, veri üzerinden olağandışı örüntü ve model

sıralamaları üreten süreç olarak tanımlanan veritabanlarından bilgi keşfi sürecinin bir

adımı olarak tanımlamışlardır.

Adriaans ve Zantige [7] ise bir çok araştırmacı tarafından kullanılan daha genel bir

tanım kullanarak; veri madenciliğini verinin detayları arasında bilinmeyen örüntü ve

eğilimler araştırma süreci olarak tanımlamışlardır.

Son yıllarda bilgi toplama çok daha kolay hale gelmiştir, ancak eldeki bilgiler

arasındaki ilgi parçacıklarını ortaya çıkarmak için ihtiyaç duyulan çaba özellikle büyük

ölçekli veritabanlarında büyük artış göstermiştir [8]. Veri toplama ve depolama

teknolojilerindeki hızlı artışı veritabanı, veri ambarı veya WWW gibi diğer depolama

türlerindeki verilerin aşırı genişlemesine sebep olmuştur [9]. Buna karşılık bilim

adamlarının, mühendislerin ve analistlerin sayısı değişmemektedir [1].

Örnek olarak; klinik tedavi alanında, büyüyen hacimli verilerden bilgi keşfetmede

zorluklarla karşılaşılmaktadır. Bugünlerde gözlem altında bulunan hastaların fizyolojik

parametrelerinin sürekli olarak toplanması devasa hacimlerdeki bilgilerin ortaya

4

çıkmasına sebep olmaktadır. Büyüyen miktarlardaki veri, elle analiz yapan tıp

uzmanlarının görevlerini yapmalarını engellemektedir. Bir çok saklı ve potansiyel

olarak faydalı ilişkiler analist tarafından fark edilememektedir [10].

Geleneksel teknikler kendi hipotezinizin doğruluğunu kanıtlamanıza izin verir. Şekil

2.1.’de görüldüğü gibi bütün ilişkilerin yaklaşık %5’i bu yolla bulunabilir. Veri

madenciliği ise kalan %95’lik ilişkilere açılan bir kapıdır. Başka bir deyişle geleneksel

teknikler veritabanlarına söz söyleyen bir insana benzetilirse, veri madenciliği tekniği

veritabanını dinleyen bir insana benzetilebilir [11].

Şekil 2.1. İlişkiler

Bir çok zaman büyük veritabanları önceden varlığı bilinmeyen veya görülmemiş

ilişkiler, eğilimler ve örüntüler için araştırılır. Bu ilişkiler veya eğilimler genelde

mühendis, analist veya pazar araştırmacıları tarafından varsayılır, ancak bu ilişkilerin

elde edildikleri veriler tarafından ispat edilmesine ihtiyaç duyulmaktadır. Yeni bilgiler

kullanıcıların yaptıkları işi daha iyi yapmalarına yardımcı olur [5].

Bunun sonucu olarak, büyük miktarlardaki veriler içerisinden ilginç ve yararlı bilgi

keşfetme kabiliyetine sahip güçlü araçlar tesis etmeye karşı ilgi artmıştır [10].

Genel olarak veri madenciliğine ilginin artması aşağıdaki faktörlerle açıklanabilir [7];

1. 1980’lerde şirketler, müşterileri, rakipleri, ürünleri ile ilgili verilerden oluşan veri

tabanları oluşturmuşlardır. Bu veri tabanları potansiyel altın madeni gibidir. Sayısı

milyonları geçen bu veriler, gizli bilgiler içerirler ve bunlara kolaylıkla SQL (Yapısal

Sorgulama Dili) veri tabanı sorgulama dili ya da başka yüzeysel sorgulama dilleri

Geleneksel teknikler

Veri Madenciliği

%5 Bilinen ilişkiler

%95 Saklı ilişkiler

5

kullanılarak ulaşılabilir. SQL sadece bir sorgulama dilidir ve önceden bilinen

sınırlamalar altında bilgileri bulmaya yardım eder. Veri madenciliği algoritmaları tipik

olarak, veri tabanının alt gruplarında ya da “uygun” kümelerde belirginleşir. Bir çok

durumda tekrarlanabilen SQL sorguları kullanılır ve ortalama sonuçlar elde edilir. Bunu

elle yapmak mümkündür fakat oldukça yorucu ve uzun süren bir iştir.

2. Bilgisayarlarda ağ kullanımı gelişmeye devam etmektedir. Bu durumda veri tabanı ile

bağlantı kurmak kolaylaşır. Böylece demografik verili dosya ile müşteri dosyası

arasında bağlantı kurulabilir ve belirli popülasyon gruplarının kimliklerinin belirlenmesi

sağlanabilir.

3. Son birkaç yılda makine öğrenimi teknikleri oldukça gelişmiştir. Sinir ağları, genetik

algoritmalar ve diğer basit uygulanabilir öğrenme teknikleri veri tabanlarıyla ilginç

bağlantılar kurmayı kolaylaştırır.

4. Müşteri ile hizmet veren arasındaki ilişki, kişisel bilgileri hizmet verenin masasındaki

bilgisayardan merkezi bilgi sistemlerine gönderir. Pazarlamacılar ve sigortacılar da bu

yeni kazanılan teknikleri kullanmak isterler.

2.1.2. Veri Madenciliği Nedir?

Veri madenciliği veritabanlarından yapılandırılmış bilgilerin otomatik olarak çıkarılma

sürecidir. Bu süreç veritabanlarından bilgi keşfi olarak adlandırılan genel sürecin özel

bir parçasıdır [12].

Veri madenciliği, çok sayıdaki verinin depolandığı veri tabanlarından elde edilen

modeller, örüntüler, ilişkiler, sapmalar ve anlamlı yapılar gibi ilginç bilgilerin

keşfedilmesi sürecidir [13].

Veri Madenciliği, organizasyonların karar aşamaları için yeni bilgiler üreten ya da

gelecekle ilgili tahminler ve planlar yapmamızı sağlayan bir dizi teknikler ve anlayışlar

bütünü olarak da tanımlanabilir [14].

6

Veri madenciliği, bilgi keşfetmenin gerekli bir adımı gibi görülmesine rağmen, veri

tabanında bilgiyi keşfetmekle eşanlamlı gibi kabul edilir. Bilgi keşfetme işlemi sırasıyla

aşağıdaki işlemlerden oluşur [13];

Veri Temizleme: Gürültülü, hatalı, eksik ya da konuyla ilgisi olmayan verilerin

dışlanmasıdır.

Veri Zenginleştirme: Farklı veri kaynaklarının birleştirilmesidir.

Veri Seçimi: Veritabanında yapılacak analiz için kullanılacak bağlantılı verilerin

düzeltilmesidir.

Veri Kodlama: Verilerin özetlenerek madencilik için uygun olan forma dönüştürülmesi

yada birleştirilmesidir.

Veri Madenciliği: Veri modellerinin elde edilmesi için uygun yöntemlerin uygulandığı

önemli bir işlemdir.

Bilgi Sunma: İşlenmiş bilginin çeşitli tekniklerle kullanıcıya sunulmasıdır.

Bilgi keşfi süreçlerinin bir adımı olan veri madenciliği son araştırmalarda istatistik,

veritabanı, makine öğrenme ve yapay zeka çalışmalarını bir araya toplamıştır.

Veritabanları için uygulanan bu sürecin çekirdeğinde makine öğrenme-temelli

algoritmalar bulunmaktadır [8]. Büyük miktarlardaki veri araştırılırken örüntülerin

ortaya çıkması için etkin bir arama metoduna kullanılması önemlidir [5]. Veri

madenciliği tahminde kullanılacak modeller kurarken iyi kurulmuş istatistiksel ve

makine öğrenme tekniklerini kullanır. Bugünlerde yukarıda da bahsedildiği gibi

teknoloji, madencilik sürecini otomatikleştirmekte, ticari veri ambarlarını

bütünleştirmekte ve kullanıcılara faydalı bilgiler sunmaktadır [11].

2.1.3. Veri Madenciliği Süreci

Veri madenciliği tekrarlanan bir süreçtir. Süreç ilerlerken, verinin kalitesini ve içeriğini

ayarlamak için yeni bilgi ve yeni hipotezler üretilmelidir. Bunun anlamı; çalışılan

verinin kalitesi veri madenciliği algoritmasının çalışma süresini ve doğruluğunu

belirleyecektir, ve eğer algoritma yeterince esnek ise asıl soru tam olarak

7

cevaplanmadığı durumda bile problemle ilgili önemli bilgiler bulunabilecektir. Veri

madenciliği süreci altı aşamaya sahip bir metodoloji olarak ifade edilebilir. Bu

metodoloji; çözüm aranacak problemin tanımlanması, problemle ilgili geçmiş bilgilerin

elde edilmesi, kullanılabilir verilerin seçimi, verinin ön işleme tabi tutulması, analiz ve

sonuçların yorumlaması ve bu sonuçların kullanılması aşamalarını içerir [5]. Bu

aşamalar Şekil 2.2.’de görülmektedir.

Şekil 2.2. Veri Madenciliği Süreci

2.1.3.1. Problemin Tanımlanması

Problemin tanımlanması safhası veri madenciliği sürecinin ilk aşamasıdır. Bu aşama

süresince, belirlenen problem için veri madenciliğinin kullanılmasındaki amaçlar

tanımlanır. Veri madenciliği projesinde başlangıç sorusu çoğunlukla üstü kapalı

olmalıdır. Çünkü bu durumda veri madenciliği süreci probleme yararı olmayan büyük

miktarda veriyi önemsemeyecektir. Bu yolla, veri seçimi ve veri önişleme adımları

başta iyice incelenmiş verilerle başlayarak, problemi çözmeye yardımcı olacaktır. Bu

safha süresince sonuçların nasıl kullanılacağını bilmek büyük önem taşımaktadır.

Problemin Tanımlanması

Geçmiş Bilgiler

Veri Seçimi

Veri Önişleme

Analiz ve Yorum

Raporlama ve Kullanım

8

Bu safha veri madenciliği sürecinin beklentilerinin ve standartlarının saptandığı

safhadır. Ayrıca çalışılan verilerin kalitesini öğrenmeye yardımcı olur. Eğer çok fazla

iterasyona ihtiyaç varsa ve sonuçlar kabul edilemeyecek kadar belirsizlikle

sonuçlanıyorsa, problemin tanımı yerine verinin kalitesi üzerinde durulmalıdır.

2.1.3.2. Geçmiş Bilgiler

Analistin, çalışılan veri üzerindeki muhtemel önyargı ve seçim etkileri hakkında bilgi

sahibi olması gerekmektedir. Bu bilgi sayesinde geliştirici ekibe muhtemel kısıtlamalar

hakkında bilgi verilebilmektedir.

Veri seçimi yapmadan önce bilinmesi gereken bir başka bilgi ise veri üzerinde bulunan

tipik gündelik ilişkilerdir. Heckerman [15] bu sorun için Bayesian Ağlarını önermiştir.

Böylece, veriden sağlanan sonuç üzerindeki muhtemel kayıplara işaret eden önceki

bilgilerle birleşme sağlanabilmektedir. Önceki bilgilerin elde edilmesi bilginin yeniden

keşfinin önlenmesini sağlar. Özde, veri madenciliği algoritması, mevcut olan

örüntülerin tekrar öğrenilmesini önleyecek birkaç açıklama ile bir sorunun üstesinden

gelebilmektedir. Feelders ve ark. [16] kural türetme (rule induction) adını verdikleri bir

metot önermişlerdir. Bu metotta analizin bilinen ilişkileri göz önünde bulundurması için

kullanıcının rehberliğine ihtiyaç duyulmaktadır. Bilginin edinimi veri madenciliği

sürecinde kritik bir role sahiptir. Bu aşama olumlu sonuçlar veren sürece doğrudan

zamanında yardımcı olabilir.

2.1.3.3. Veri Seçimi

Geçmiş bilgiler elde edildikten sonra, veri madenciliği süreci probleme cevap teşkil

edecek analizde kullanılacak verilerin seçiminin yapılacağı önemli bir adıma ulaşır. Bu

seçim yapılırken geleneksel kalıplardan çıkılmalıdır. Çünkü, veri madenciliğinde

insanın görevi problemin çözümünü bulmak değildir, aksine verinin kendi kendine bu

sonuçlara yaklaşmasına yardım etmektir. Süreç, geçmiş verilerin eldesi ile zaten uzman

kişinin zararlı sonuçlara götürecek eğilimlerinden korunmuş olmaktadır.

Subramanian ve ark. [17] ve Yevich [18] potansiyel ilgiye sahip verilerin seçimi için

ideal desteği sunan veri ambarı kullanımını önermişlerdir. Ancak, veri ambarı

9

halihazırda nadiren bulunabilir. Bu durumda şirketler bu işlemi seçimden önce bir sefer

oluşturma sürecinin üzerinden geçmelidirler. Eğer veri ambarı seçim aşamasında hazır

değilse, veri madenciliği süreci çok uzun sürelere ihtiyaç duyacaktır. Veri seçimi hayati

öneme sahiptir. Önceki aşamaların uygun şekilde tamamlandığını varsaydığımızda veri

seçiminin sonraki aşamalarda sonuca ulaşma süresini kısaltıcı etkisi görülecektir.

2.1.3.4. Veri Önişleme

Veri ambarında bütün ilgili verilerin bulunduğu durumlarda bile analizin yapılabilmesi

için önişlemeye sıklıkla ihtiyaç duyulur. Bu aşamada uzman yeni özellikler ekleyebilme

özgürlüğüne sahiptir. Bu eklemeler sayesinde veri madenciliği sürecinde algoritmanın

varlığını belirlemekte zorlandığı ilişkilerin kurulması sağlanır. Sınıflandırma ağaç

algoritması gibi bazı algoritmalar, veri madenciliği süreci için önemli sayılan kesin

ilişkileri belirlemekte başarısızlığa uğrayabilir. Diğer algoritmalar çok uzun zaman

harcayarak belirlemeleri yapabilir. Eğer uzman halihazırda bu bilgiye sahipse, bunu

doğrudan bir özellik olarak eklemesi, algoritmanın belirlemeye çalışmasından daha

uygun bir seçim olur.

Veritabanlarındaki bire-çok ilişkiler çoğunlukla önişleme aşamasında karşımıza

çıkmaktadır. Veri madenciliği algoritması çoğu durumda bir kayıtla ilgili bütün

özelliklerin tek bir satırda bulunması varsayımına göre tasarlanmıştır. Şartların

sağlanması doğrultusunda algoritma çok büyük tekil bir tablo ile çalışmak zorunda

kalabilir. Analist muhtemel özellikleri belirlerken ve kayıtları oluştururken alan bilgisini

kullanmalı ve ortak akıl kaidelerine uymalıdır.

2.1.3.5. Analiz ve Yorumlama

Bu aşamadaki süreç veri madenciliği süresinin en az %70’ini kullanır. Bu aşama

esnasında analistin veri madenciliği, veri analizi ve çalışılan alanda tecrübe ve bilgiye

sahip olması kritik öneme sahiptir. Çalışılan konu hakkındaki bilgilerin ilk olarak

ihtiyaç duyulduğu yer, sonuçların yorumlanma aşamasıdır. Bu bilgiler, ileriki

araştırmalarda hangi sonuç veya sonuçların göz önünde bulundurulması gerektiğini

muhtemel doğru hareketle yapabilmek için büyük öneme sahiptirler. Veri analizi

deneyimi veri üzerinde garip örüntüler bulunduğu zaman açıklama için ve çalışılan

10

verinin daha ilginç parçalarına önem göstermek için prensipte ihtiyaç duyulan bir

özelliktir. Sonuç olarak, veri madenciliği deneyimi ve uzmanlığı sonuçların teknik

olarak yorumlanması için gereklidir.

Analiz ve yorumlama aşaması asıl madenciliğin yapıldığı aşamadır. Verinin seçilip,

önişleme tabi tutulup ve çözülecek problemin anlaşılmasından sonra bu aşama veriler

arasında belirli örüntüler, benzerlikler ve diğer ilginç ilişkileri bulmaya çalışır. Bütün bu

örüntüler genellikle veri madenciliği sürecinin son aşamasında kurallara çevrilir.

2.1.3.6. Raporlama ve Kullanım

Veri madenciliği sürecinin sonuçları çok geniş kullanım alanına sahiptir. Sonuçlar karar

ağacı gibi çok basit uygulamalara girdi olabileceği gibi son kullanıcı uygulamasına tam

olarak bütünleşmiş uygulamalarda da kullanılabilmektedir. Bu sonuçlar ayrıca karar

destek sistemlerinde veya bir bilgi tabanı sisteminde de kullanılabilir. Bu alandaki bir

uygulama bilgi tabanlı bir sistemde öğrenmeyi daha hızlı ve etkin kılar. Çünkü uzman

kişilerin yanlı etkilerinin ayarlanmasını beklemesine gerek yoktur. Edinilen bilgi bazı

koşullarda daha doğru olabilmektedir. Ve eğer süreç içerisinde edinilen geçmiş bilgi

güvenilir ise sonuçlarda güvenilir olacaktır.

2.1.4. Veri Madenciliğinin Görevleri

Genel olarak veri madenciliği, tanımlayıcı ve tahminleyici veri madenciliği olmak üzere

iki kategoride sınıflandırılır. Betimsel veri madenciliğinde, veri kümesi kısa ve öz bir

şekilde tanımlanır ve verilerin ilginç genel özellikleri sunulur. Kestirim veri

madenciliğinde ise bir ya da daha fazla modeller kümesi oluşturulup varolan verilerden

sonuçlar çıkarılır ve yeni veri kümelerinin davranışları tahmin edilmeye çalışılır [7].

Veri madenciliğinin başlıca görevleri kısaca açıklanmıştır [19].

2.1.4.1. Sınıf Betimlemesi

Veri kümesinin kısa bir özetini sağlar ve diğerlerinden farklılığını ortaya koyar. Bir veri

kümesinin özetlenmesine sınıf nitelendirmesi denir. İki ya da daha fazla veri kümesinin

karşılaştırılmasına ise sınıf karşılaştırması ya da ayrımı denir. Sınıf betimlemesi sadece

11

özet özellikleri değil merkezi eğilim ölçüleri ve dağılım ölçüleri gibi özellikleri de

içerir. Örneğin Avrupa’ya karşı Asya şirketlerinin satışlarını karşılaştırmak, iki sınıfı

ayırt edip önemli faktörleri belirlemek ve özet bir bilgi sunmak için sınıf betimlemesi

kullanılır.

2.1.4.2. Birliktelik

Birliktelik, modeller kümesi arasındaki birliktelik ilişkilerini ya da korelasyonları

keşfetmektir. Birliktelik analizi, pazarlama yönetimi, katalog planı ve diğer alanlarda

karar verme sürecinde geniş ölçüde kullanılır. Son zamanlarda kurulmuş etkin

algoritmalı birliktelik analizinde önemli araştırmalar yapılmıştır. Bunlar, düzey-tarz,

önsel araştırma, çoklu düzeyde madencilik, çok boyutlu birliktelikler, sayısal, kategorik

ve sürekli veri, meta-örüntü, yönelimli yada kısıt temelli madencilik ve madencilik

korelasyonları için madencilik birlikteliklerini içerir.

2.1.4.3. Sınıflandırma

Sınıflandırma çalışılan verilerin kümesini çözümler (sınıf ismi, etiketi bilinen objelerin

kümesi) ve verilerin içinde özelliklerine göre sınıflar oluşturup her bir sınıf için bir

model kurar. Veritabanındaki her bir sınıfın daha iyi anlaşılması ve daha sonra elde

edilen verilerin sınıflandırılması için sınıflama işlemi bir karar ağacı ya da sınıflandırma

kurallarının bir kümesini oluşturur. Örneğin, hastalıkların belirtilerine göre hastalıkları

sınıflama, hastalık türlerini tahmin etmeye yardım eder. Makine öğrenimi, istatistik,

veritabanı, sinir ağları, evrimsel algoritmalar ve diğer alanlarda geliştirilmiş bir çok

sınıflandırma yöntemi vardır. Sınıflandırma, müşteri bölümü, iş modelleme ve kredi

analizlerinde kullanılır.

Sınıflandırma ile ilgili geniş bilgi Bölüm 2.2.'de verilmiştir.

2.1.4.4. Tahmin

Bu fonksiyon, bazı eksik verilerin muhtemel değerlerini ya da nesnelerin bir kümesinde

kesin özelliklerin değer dağılımını ve seçilen nesnelere benzer verilerin kümesini temel

alan değer dağılımını tahmin eder. Örneğin, bir işçinin maaşı, çalıştığı yerdeki diğer

12

işçilerin maaş dağılımı temel alınarak tahmin edilebilir. Genellikle, regresyon analizi,

genelleştirilmiş doğrusal model, korelasyon analizi, karar ağaçları, genetik algoritmalar,

sinir ağı modelleri nitelikli bir tahmin için kullanılan yöntemlerdir.

2.1.4.5. Kümeleme

Kümeleme çözümlemesi, özellikleri birbirine benzeyen objelerin değerlerinin

toplanmasından oluşan bir kümede, verilerin içindeki gizli kümeleri belirlemektir.

Benzerlik, uzmanlar ya da kullanıcılar tarafından belirlenmiş uzaklık fonksiyonlarıyla

tanımlanabilir. İyi bir kümeleme yöntemi, kümeler arası benzerliğin düşük ve küme içi

benzerliğin yüksek olduğu nitelikli kümeler meydana getirir. Örneğin, evler, zemin

alanı ve coğrafik yerleşime göre kümelenebilir. Veri madenciliği araştırması, büyük

veritabanları ve çok boyutlu veri depoları için yüksek nitelikli ve hesaplanabilir

kümeleme yöntemlerine odaklanır.

2.1.4.6. Zaman Serileri Analizi

Zaman-serileri çözümlemesi, benzer seriler ve ardışık örüntülerin madenciliği,

periyodikler, eğilimler ve sapmaların araştırılması, ilginç özellikler ve kesin düzenlerin

bulunması için zaman serilerinin geniş kümesini çözümler. Örneğin, bir şirketin

geçmişteki stok durumuna, iş durumuna, rekabet performansına ve günlük piyasasına

bakarak stok değerlerinin eğilimi tahmin edilebilir .

2.1.5. Veri Madenciliğinde Kullanılan Algoritmalar

Veri madenciliği algoritmaları danışmansız ve danışmanlı öğrenme olarak iki ayrı

şekilde gerçekleştirilir. Danışmansız öğrenme, veri örüntülerini veri kümesi içindeki

bazı mantıksal düzenlerini karakterize ederek bulur. Bu durumda nitelik ilişkileri

arasında hiçbir ön varsayım yapılmaz. Danışmanlı öğrenmede ise; denetmen bilinen

durumları modele göstererek veya iyi tanımlanmış örüntülerin modele etki etmesini

sağlayarak genelleştirmeleri şekillendirir. Uzmanlar bu şekilde aramaya rehberlik eder.

Sınıflandırma ise belkide uygulanan en genel danışmanlı veri madenciliği tekniğidir. Bu

teknik sınıf bilgileri bulunan öğrenme örnek kümesinden grup kuralları üreterek gelecek

örüntüleri sınıflandırmayı içerir [8].

13

Sınıflandırma konusu doğası gereği danışmanlı algoritma kullanmaktadır. Bu sebeple

danışmanlı algoritmalarla ilgili daha geniş bilgi verilecektir.

2.1.5.1. Danışmansız Öğrenme Algoritmaları

2.1.5.1.1. K-Yol Kümeleme

K-yol iyi bilinen kümeleme problemlerini çözebilen en basit danışmansız öğrenme

algoritmasıdır. Prosedür, çalışılan veri kümesini, daha önceden belirlenmiş bir sayıda

kümeye ulaşıncaya kadar sınıflandırır. İşleyiş bu kadar basittir. Ana fikir her bir küme

için bir adet yani K adet merkez tanımlamaktır. Bu merkezlerin yerlerine akıllıca karar

verilmelidir, çünkü farklı yerler farklı sonuçlar doğurur. Birbirinden olabildiğince uzak

olarak belirlenen merkezlerin daha iyi sonuç verdiği düşünülmektedir. Algoritma

adımları şöyledir;

1. K adet noktayı kümelenecek nesnelerin uzayına yerleştir. Bu noktalar başlangıç grup

merkezleri olacaktır.

2. Her bir nesneyi en yakın merkeze ata.

3. Bütün nesneler atandığında K merkezin pozisyonunu tekrar hesapla.

4. Merkezler hareketsiz kalana kadar 2. ve 3.’ü tekrarla.

Bu hesaplama en az mesafeyi hesaplayana kadar nesneleri gruplara bölecektir [20].

2.1.5.1.2. Özdüzenleyici Haritalar (Self Organized Maps)

Özdüzenleyici haritalar, veri görüntüleme tekniğidir. Kendinden örgütlü sinir ağları

kullanarak verinin boyutlarını indirger. İnsanın çok yüksek boyutlardaki verileri

görememe problemine karşı uygulanmaktadır [21].

2.1.5.2. Danışmanlı Öğrenme Algoritmaları

2.1.5.2.1. Regresyon Modelleri

İstatistik uzun zamandır veri küme modelleri oluşturmak için kullanılmaktadır.

Doğrusal regresyon süreci olasılık, veri analizi ve istatistiksel sonuç çıkarma

tekniklerini kullanan bir süreçtir. Regresyon analizi yüz yılın başlarında Francis Galton

14

tarafından ilk kez ortaya atılmıştır. Veri modellemede ise genellikle verilen bağımsız

değişkenlere göre bir bağımlı değişkenin koşullu beklenen değeri için kullanılır [22].

Regresyon modelleri veri madenciliğinde kullanılan en eski ve en fazla bilinen istatistik

tekniklerinden biridir. Temel olarak regresyon, nümerik veriyi girdi olarak kabul edip,

sonuç olarak matematiksel bir formül verir. Az boyutlu verilerde rahatlıkla

uygulanabilir, ancak, kümelerin arasından ilginç olanları seçmek için bazı zamanlarda

ileri araştırma programlarına gerek duyulabilir.

Doğrusal regresyon modelleri de diğer veri madenciliği araçlarının yaptığı işlerin

benzerini yapmaktadır. Regresyon teknikleri koşullu olasılığın bulunduğu durumlarda

tahminleme yapmak için kullanılabilir. Tahminleme için kullanılan regresyon modeli

doğrusal olasılık modeli olarak adlandırılır. Regresyon modellerinden biri de bütün

bağımsız değişkenleri koşulsuz olan logit modeldir. Lojistik regresyon modeli ise logit

modeline benzeyen ek olarak sürekli değişkenleri de ihtiva eden bir modeldir. Bir çok

tipte regresyon modeli vardır. Verilerin doğrusal fonksiyona kolayca girilemeyeceği

durumlarda doğrusal olmayan regresyon ve doğrusal olmayan çoklu regresyon

modelleri kullanılabilir. Çeşitli istatistiksel modeller kullanılarak, çoklu ve kısmi

korelasyon katsayıları tanımlanabilir [22].

Bu modellerin en büyük kusuru, etkin bir kullanım için zor anlaşılır olmasıdır. Veri

madenciliği, veriden anlamlı bilgileri çıkarma süreci olarak tanımlanırken, istatistik

veriden anlamlı bilgi çıkarmayı da içeren çalışma alanının bütünüdür. İstatistik

uzmanları ile tahmine dayalı modelleme ile ilgilenen diğer uzmanlar arasında çoğu

zaman bir duvar vardır. Bir çok profesyonel istatistikte kullanılan terminolojiyi

kullanmakta zorlanmaktadır. Daha ötesi, endüstri analistleri geçmiş tarihten bu yana

istatistik ile veri madenciliğini birbirinden ayırt etmişler ve veri madenciliğinin

istatistikten farklı olduğunu belirtmişleridir. Özel sektördeki profesyoneller için veri

madenciliği üzerine yoğunlaşmak daha kolay bir tercihtir. IBM, SPSS ve SAS bu

sezgiyi yok etmek için çok yol kat edip, standart istatistik modellerini yapay sinir ağları,

karar ağaçları ve veri madenciliği ile bütünleşik diğer tekniklerin yanına eklemişlerdir

[22].

15

2.1.5.2.2. K-En Yakın Komşu

Kayıtlar, bir veri uzayındaki noktalar olarak düşünülürse, birbirine yakın olan kayıtlar,

birbirinin civarında (yakın komşu) olur. K-en yakın komşuluğunda temel düşünce

“komşunun yaptığı gibi yap”tır. Eğer belirli bir kişinin davranışı tahmin edilmek

isteniyorsa, veri uzayında o kişiye yakın, örneğin on kişinin davranışlarına bakılır. Bu

on kişinin davranışlarının ortalaması hesaplanır ve bu ortalama belirlenen kişi için

tahmin olur. K-en yakın komşuluğunda, K harfi araştırılan komşuların sayısıdır. 5-en

yakın komşuluğunda, 5 kişiye ve 1-en yakın komşuluğunda 1 kişiye bakılır [23].

En yakın komşuluk modelleri yerel modellerin kombinasyonu temeline dayanan veri

madenciliği metotlarının esnek bir grubudur. Bu metotların yerel kombinasyonlardan

oluşması demek lokal mantıkta çalıştıkları anlamına gelmemektedir. Bunlar bütün veri

kümesine uygulanabilen metotlardır ancak, istatistiksel analiz yerel analizlere

bölünmüştür. Temel fikir oldukça basittir. Uygun değişkenler, açıklayıcı (x) ve hedef

(y) değişkenlere bölünür. Öğrenme verisinden (x,y) formatında gözlemler toplanır. Bu

öğrenme verisi için, gözlemdeki x değerleri arasında uzaklık formülü oluşturulur. Bu

hesaplama gözlem esnasında oluşan bir komşuluğa en yakın olan her bir gözlem için x

değerleri arasında yapılır. Sürekli bir cevap değişkeni için, her bir gözlemin cevabı olan

yi için uygun en yakın komşu değeri;

∑∈

=

)(

ij xNxji y

ky (1)

ile tanımlanır. Bu değer, N(xi) yani xi nin bütün komşularına karşılık gelen x cevap

değerlerinin ortalamasıdır. Bunun yanında, k ise daha önceden belirlenmiş olan hesaba

dahil edilecek komşu sayısını gösteren değerdir [24].

En yakın komşu metotları tahminsel sınıflandırmada da kullanılmaktadır. Y gözlemini

sınıflandırmak için, önce onun komşuluğu belirlenir ve her bir kategorinin yerleştirilmiş

olasılıkları komşuluktaki göreceli sıklıklar şeklinde hesaplanır. Sınıflandırmak için en

yüksek yerleştirilmiş olasılık seçilir. Ağaç modellerindeki gibi, en yakın komşu

modelleri olasılık dağılımına ihtiyaç duymaz. Bu modeldeki can alıcı seçimler uzaklık

fonksiyonu ve dahil edilecek komşu sayısı parametresi olan k’dır [22].

16

Bu modellerin olası dezavantajları özellikle çok fazla açıklayıcı değişken varsa çok

fazla hesaplama yükü getirmesidir. Bu durumda komşuluklar ilgisiz noktalarda

belirebilir, bu sebepten dolayı ortalamalarını almak anlamlı sonuçlar vermeyebilir.

2.1.5.2.3. Yapay Sinir Ağları

Yapay sinir ağlarında amaç fonksiyonu birbirine bağlı basit işlemci ünitelerinden oluşan

bir ağ üzerine dağıtılmıştır. Yapay sinir ağlarında kullanılan öğrenme algoritmaları

veriden üniteler arasındaki bağlantı ağırlıklarını hesaplar. Yapay sinir ağları istatistiksel

yöntemler gibi veri hakkında parametrik bir model varsaymaz yani uygulama alanı daha

geniştir ve bellek tabanlı yöntemler kadar yüksek işlem ve bellek gerektirmez [25].

Beynin üstün özellikleri, bilim adamlarını üzerinde çalışmaya zorlamış ve beynin

nörofiziksel yapısından esinlenerek matematiksel modeli çıkarılmaya çalışılmıştır.

Beynin bütün davranışlarını tam olarak modelleyebilmek için fiziksel bileşenlerinin

doğru olarak modellenmesi gerektiği düşüncesi ile çeşitli yapay hücre ve ağ modelleri

geliştirilmiştir. Böylece yapay sinir ağları denen yeni ve günümüz bilgisayarlarının

algoritmik hesaplama yönteminden farklı bir bilim alanı ortaya çıkmıştır. Yapay sinir

ağları; yapısı, bilgi işleme yöntemindeki farklılık ve uygulama alanları nedeniyle çeşitli

bilim dallarının da kapsam alanına girmektedir [26].

Genel anlamda yapay sinir ağları, beynin bir işlevi yerine getirme yöntemini

modellemek için tasarlanan bir sistem olarak tanımlanabilir. Yapay sinir ağları, yapay

sinir hücrelerinin birbirleri ile çeşitli şekillerde bağlanmasından oluşur ve genellikle

katmanlar şeklinde düzenlenir. Donanım olarak elektronik devrelerle ya da

bilgisayarlarda yazılım olarak tasarlanabilir. Beynin bilgi işleme yöntemine uygun

olarak yapay sinir ağları, bir öğrenme sürecinden sonra bilgiyi toplama, hücreler

arasındaki bağlantı ağırlıkları ile bu bilgiyi saklama ve genelleme yeteneğine sahip

paralel dağılmış bir işlemcidir. Öğrenme süreci, arzu edilen amaca ulaşmak için yapay

sinir ağları ağırlıklarının yenilenmesini sağlayan öğrenme algoritmalarını içerir [27].

Yapay sinir ağlarında kullanılan öğrenme algoritmaları veriden üniteler arasındaki

bağlantı ağırlıklarını hesaplar. Yapay sinir ağları, sonuçları bilinen belirli veri kümeleri

üzerinde algoritmaları çalıştırarak eğitilirler. Bunun sonucunda yapay sinir ağının

17

içindeki ağırlık belirlenir. Bu ağırlıklar yeni gelen verilerin işlenmesinde kullanılır.

Karmaşık veri tabanları üzerinde daha iyi sonuçlar üretebilirler [23].

2.1.5.2.3.1. Yapay Sinir Ağlarının Özellikleri

Yapay sinir ağlarının hesaplama ve bilgi işleme gücünü paralel dağılmış yapısından,

öğrenebilme ve genelleme yeteneğinden aldığı söylenebilir. Genelleme, eğitim ya da

öğrenme sürecinde karşılaşılmayan girişler için de yapay sinir ağlarının uygun tepkileri

üretmesi olarak tanımlanır. Bu özellikler yapay sinir ağlarının karmaşık problemleri

çözebilme yeteneğini göz önüne çıkarır. Günümüzde birçok bilim alanında yapay sinir

ağları, aşağıdaki özellikleri nedeniyle etkin olmuş ve uygulama yeri bulmuştur [26].

1. Doğrusal Olmama: Yapay sinir ağlarının temel işlem elemanı olan hücre doğrusal

değildir. Dolayısıyla hücrelerin birleşmesinden meydana gelen yapay sinir ağları da

doğrusal değildir ve bu özellik bütün ağa yayılmış durumdadır.

2. Öğrenme: Yapay sinir ağlarının arzu edilen davranışı gösterebilmesi için amaca

uygun olarak ayarlanması gerekir. Bu, hücreler arasında doğru bağlantıların yapılması

ve bağlantıların uygun ağırlıklara sahip olması gerektiğini ifade eder. Yapay sinir

ağlarının karmaşık yapısı nedeniyle bağlantılar ve ağırlıklar önceden ayarlı olarak

verilemez ya da tasarlanamaz. Bu nedenle yapay sinir ağları, istenen davranışı

gösterecek şekilde ilgilendiği problemden aldığı eğitim örneklerini kullanarak problemi

öğrenmelidir.

3. Genelleme: Yapay sinir ağları, ilgilendiği problemi öğrendikten sonra eğitim

sırasında karşılaşmadığı test örnekleri için de arzu edilen tepkiyi üretebilir. Örneğin,

karakter tanıma amacıyla eğitilmiş bir yapay sinir ağı, bozuk karakter girişlerinde de

doğru karakterleri verebilir ya da bir sistemin eğitilmiş yapay sinir ağı modeli, eğitim

sürecinde verilmeyen giriş sinyalleri için de sistemle aynı davranışı gösterebilir.

4. Uyarlanabilirlik: Yapay sinir ağları, ilgilendiği problemdeki değişikliklere göre

ağırlıklarını ayarlar. Yani, belirli bir problemi çözmek amacıyla eğitilen yapay sinir ağı,

problemdeki değişimlere göre tekrar eğitilebilir, değişimler devamlı ise gerçek zamanda

da eğitime devam edilebilir.

18

5. Hata Toleransı: Yapay sinir ağları, çok sayıda hücrenin çeşitli şekillerde

bağlanmasından oluştuğundan paralel dağılmış bir yapıya sahiptir ve ağın sahip olduğu

bilgi, ağdaki bütün bağlantılar üzerine dağılmış durumdadır. Bu nedenle, eğitilmiş bir

yapay sinir ağının bazı bağlantılarının hatta bazı hücrelerinin etkisiz hale gelmesi, ağın

doğru bilgi üretmesini önemli ölçüde etkilemez. Bu nedenle, geleneksel yöntemlere

göre hatayı tolere etme yetenekleri son derece yüksektir.

6. Donanım ve Hız: Yapay sinir ağları, paralel yapısı nedeniyle büyük ölçekli entegre

devre teknolojisi ile gerçeklenebilir. Bu özellik, yapay sinir ağlarının hızlı bilgi işleme

yeteneğini artırır ve gerçek zamanlı uygulamalarda arzu edilir.

7. Analiz ve Tasarım Kolaylığı: Yapay sinir ağlarının temel işlem elemanı olan hücrenin

yapısı ve modeli, bütün yapay sinir ağları yapılarında yaklaşık aynıdır. Dolayısıyla

yapay sinir ağlarının farklı uygulama alanlarındaki yapıları da standart yapıdaki bu

hücrelerden oluşacaktır.

2.1.5.2.3.2. Yapay Sinir Ağlarının Yapısı

Sinir hücreleri bir grup halinde işlev gördüklerinde ağ olarak adlandırılırlar ve böyle bir

grupta binlerce nöron bulunur. Yapay nöronların birbirleriyle bağlantılar aracılığıyla bir

araya gelmeleri yapay sinir ağını oluşturmaktadır. Yapay sinir ağıyla aslında biyolojik

sinir ağının bir modeli oluşturulmak istenmektedir. Nöronların aynı doğrultu üzerinde

bir araya gelmeleriyle katmanlar oluşmaktadır [27].

Katmanların değişik şekilde birbirleriyle bağlanmaları değişik ağ mimarilerini doğurur.

Yapay sinir ağları üç katmadan oluşur. Bu katmanlar sırasıyla;

Girdi Katmanı: Bu katmandaki proses elemanları dış dünyadan bilgileri alarak ara

katmanlara transfer ederler. Bazı ağlarda girdi katmanında herhangi bir bilgi işleme

olmaz.

Gizli Katman (Ara Katman): Girdi katmanından gelen bilgiler işlenerek çıktı katmanına

gönderilirler. Bu bilgilerin işlenmesi gizli katmanlarda gerçekleştirilir. Bir ağ içinde

birden fazla gizli katman olabilir.

19

Çıktı Katmanı: Bu katmandaki proses elemanları gizli katmandan gelen bilgileri

işleyerek ağın girdi katmanından sunulan girdi seti için üretmesi gereken çıktıyı

üretirler. Üretilen çıktı dış dünyaya gönderilir.

Girdi katmanı, gizli katman ve çıktı katmanı Şekil 2.3.’te görülmektedir.

Şekil 2.3. Yapay Sinir Ağı Modeli

2.1.5.2.4. Karar Ağaçları

Verileri sınıflandırmak ve bu verilerle tahminleme yapmak, birbirleriyle çok yakın

bağlantılı işlemlerdir. Bu işlemler karar ağaçlarıyla daha iyi görülebilir. Örnek olarak;

belirli bir müşterinin, belirli bir davranışı gösterip göstermeyeceği kestirilmek

istenebilir. Bu durumda müşterinin, belirli bir müşteri sınıfında yer aldığı ve bundan

dolayı da belirli bir davranışı göstereceği açıktır.

Karar ağacı, ağaç yapısında olan bir akış şeması şeklindedir. Her düğüm, bir nitelik

üzerindeki test işlemini temsil eder. Her dallanma test işleminin sonucunu temsil eder,

ve sonuç olarak ağaç sınıflar ile son bulur [23].

Girdi Katmanı Çıktı

Katmanı

Gizli Katman

20

Tümevarım algoritmaları, büyük veri kümelerini çok iyi analiz eder ve tümevarım

algoritmaları ile kurulan karar ağacı ile karar süreci kolaylaştırılır. Yapılan kestirimler

de daha iyi sonuçlar verir [28].

İstatistiksel yöntemlerde veya yapay sinir ağlarında veriden bir fonksiyon öğrenildikten

sonra bu fonksiyonun insanlar tarafından anlaşılabilecek bir kural olarak yorumlanması

oldukça zordur. Karar ağaçları ise veriden oluşturulduktan sonra kökten yaprağa doğru

inilerek kurallar yazılabilir;

IF <Koşul> THEN < Tahmin (sınıf)>

Bu şekilde kural çıkarma, veri madenciliği çalışmasının sonucunun doğrulanmasını

sağlar. Bu kurallar uygulama konusunda uzman bir kişiye gösterilerek sonucun anlamlı

olup olmadığı denetlenebilir. Sonradan başka bir teknik kullanılacak bile olsa karar

ağacı ile önce bir kısa çalışma yapmak, önemli değişkenler ve yaklaşık kurallar

konusunda analiste bilgi verir ve daha sonraki analizler için yol gösterici olabilir [25].

Tahmin edici ve tanımlayıcı özelliklere sahip olan karar ağaçları, veri madenciliğinde,

kuruluşlarının ucuz olması, yorumlanmalarının kolay olması, veri tabanı sistemleri ile

kolayca entegre edilebilmeleri, güvenilirliklerinin daha iyi olması nedenleri ile sınıflama

modelleri içerisinde en yaygın kullanıma sahip algoritmalardır [29].

Karar ağacı algoritmasının yaygın olarak kullanıldığı sahalar,

∗ Belirli bir sınıfın muhtemel üyesi olacak elemanların belirlenmesi,

∗ Çeşitli vakaların yüksek, orta, düşük risk grupları gibi çeşitli kategorilere ayrılması,

∗ Gelecekteki olayların tahmin edilebilmesi için kurallar oluşturulması,

∗ Parametrik modellerin kurulmasında kullanılmak üzere çok miktardaki değişken ve

veri kümesinden faydalı olacakların seçilmesi,

∗ Sadece belirli alt gruplara özgü olan ilişkilerin tanımlanması,

∗ Kategorilerin birleştirilmesi ve sürekli değişkenlerin kesikli hale dönüştürülmesidir.

2.1.5.2.5. Evrimsel Algoritmalar

Veri madenciliğinde arama süreci genel zayıf metotları ve alan spesifik güçlü metotları

içeren çeşitli tekniklerle yapılabilir. 4 çeşit evrimsel algoritmadan bahsedilebilir;

21

Genetik Algoritmalar (GA), Genetik Programlama (GP), Evrim Stratejileri (ES),

Evrimsel Programlama (EP). Evrimsel algoritmalar ile ilgili daha geniş bilgi 4.

Bölümde verilmiştir.

2.1.6. Veri Madenciliğinin Kullanım Alanları

Günümüzde veri madenciliğinin başlıca ilgi alanları olarak aşağıdakiler sayılabilir

[30];

1. Pazarlama

• Müşteri segmentasyonu,

• Müşterilerin demografik özellikleri arasındaki bağlantıların kurulması,

• Çeşitli pazarlama kampanyaları,

• Mevcut müşterilerin elde tutulması için geliştirilecek pazarlama stratejilerinin

oluşturulması,

• Pazar sepeti analizi,

• Çapraz satış analizleri,

• Müşteri değerlemesi,

• Müşteri ilişkileri yönetimi,

• Çeşitli müşteri analizleri,

• Satış tahminleri.

2. Bankacılık

• Farklı finansal göstergeler arasındaki gizli korelasyonların bulunması,

• Kredi kartı dolandırıcılıklarının tespiti,

• Müşteri segmentasyonu,

• Kredi taleplerinin değerlendirilmesi,

• Usulsüzlük tespiti,

• Risk analizleri,

• Risk yönetimi.

3. Sigortacılık

• Yeni poliçe talep edecek müşterilerin tahmin edilmesi,

22

• Sigorta dolandırıcılıklarının tespiti,

• Riskli müşteri tipinin belirlenmesi.

4. Perakendecilik

• Satış noktası veri analizleri,

• Alış-veriş sepeti analizleri,

• Tedarik ve mağaza yerleşim optimizasyonu.

5. Borsa

• Hisse senedi fiyat tahmini,

• Genel piyasa analizleri,

• Alım-satım stratejilerinin optimizasyonu.

6. Telekomünikasyon

• Kalite ve iyileştirme analizleri,

• Hisse tespitleri,

• Hatların yoğunluk tahminleri.

7. Sağlık ve İlaç

• Test sonuçlarının tahmini,

• Ürün geliştirme,

• Tıbbi teşhis,

• Tedavi sürecinin belirlenmesi.

8. Endüstri

• Kalite kontrol analizleri,

• Lojistik,

• Üretim süreçlerinin optimizasyonu.

9. Bilim ve Mühendislik

23

• Ampirik veriler üzerinde modeller kurarak bilimsel ve teknik problemlerin

çözümlenmesi.

2.1.7. Veri Madenciliğinde Yapılan Çalışmalar

Tzu-Liang ve ark. [31], CNC tezgahlarında işlem görmüş parçaların kabulünün

tahminindeki kalite güvence problemini çözmek için yeni bir yaklaşım sunmuşlardır.

Gerçek yüzey pürüzlülük değerinin tahmini yerine, işlem görmüş parçaların kalite

kabulü üzerinde odaklanmışlardır. Sunulan kural bileşimi algoritmasını ve kural

onaylama prosedürünü, işletmenin uzun yıllar boyu topladığı geçmiş veriler üzerinde

test etmişlerdir. Sonuçlar geliştirdikleri tekniğin, yüzey pürüzlülüğünün kabul

edilebilirliğinin tahmini açısından istatistiksel tekniklerden (çoklu nominal regresyon ve

genel diskriminant) çok daha doğru sonuçlar verdiğini göstermiştir.

Menon ve ark. [32] yaptıkları çalışmada, kalite ve güvenirliliği iyileştirmek için

metinsel veri madenciliğini araç olarak kullanmışlardır. Literatürdeki ürün geliştirme

süreci ile ilgili yapılan çoğu çalışma sayısal veritabanları üzerine yoğunlaştığından,

metinsel veritabanları ile ilgili çalışmalara ihtiyaç olduğunu vurgulamışlar ve bu

sebepten dolayı metinsel veritabanları üzerinde yoğunlaşmışlardır. Metinsel veri

madenciliğinin uygulanabileceği tüketici ve son ürünler için genel ürün geliştirme

süreci alanlarını belirtmişlerdir. Ayrıca iki büyük çok uluslu işletmede metinsel veri

madenciliğinin başarılı uygulamalarını sunmuşlardır.

M. C. Jothishankar ve ark. [33], basılmış devre levhalarının akış lehimlenmesi

sırasındaki hataların oluşumuna etki eden faktörlerle birlikte problemin tanımını

vermişlerdir. Önemli olan faktörleri belirlemek için gerekli olan veri madenciliği

yaklaşımlarını sunmuşlardır. Bununla birlikte sonuçlarını önerilen iyileştirmelerle

birlikte ortaya koymuşlardır.

Mark Last ve ark. [34] yeni, algı-tabanlı “Otomatik Algı Ağı: APN” -Automated

Perceptions Network- adını verdikleri metodu, yüksek derecede gürültülü veri

kümelerinden özlü ve yorumlanabilir modellerin otomatik kurulumu için

geliştirmişlerdir. Yöntemlerini iki yarı iletken ürünün gelir verilerinde

24

değerlendirmişlerdir ve veri madenciliği ve bilgi keşfinde otomatik algıların gelecekte

kullanımı ile ilgili mümkün talimatlar tanımlamışlardır.

Porzio ve Ragozini [35] makalelerinde yüksek otomasyonlu modern üretim

süreçlerindeki büyük veri tabanlarında, veri madenciliği tekniğinin neden uygun

olduğunu tartışmışlar, büyük ve yüksek-boyutlu off-line veri kümeleri için bir görsel

veri madenciliği stratejisi sunmuşlardır. Stratejileri, kullanıcılara bağlantılı enteraktif

grafiksel araçlar sayesinde daha derin bir süreç anlayışı sağlamaktadır. Görsel veri

madenciliği stratejilerini bir endüstriyel süreç durum çalışmasıyla örneklemişlerdir.

Hyean Bae ve ark. [36] , birincil amacı mevcut veri madenciliği tekniklerini incelemek

ve elektronik-tahmin ve elektronik-teşhis örneklerine bu metotları uygulamak olan bir

çalışma yapmışlardır. Teknik olarak yapay sinir ağları, karar ağaçları ve bulanık mantığı

kullanmışlardır.

J. Lian ve ark. [37], veri madenciliği ve bilgi keşfi tekniklerinin kombinasyonu

vasıtasıyla boyut varyasyonlu tanı sebepleme ve karar yaklaşımı geliştirmişlerdir.

Korelasyon analizi ve en büyük ağaç metotlarını ölçülen büyük, çok boyutlu verilerden

geniş varyasyonlu grupları çıkarmak için, çok değişkenli istatistiksel analizi ise prensip

varyasyon örneklerini keşfetmek için kullanmışlardır. Sebepleme prosedürünü doğuran,

varyasyonu karakterize eden “hipotez ve onaylama”yı tamamlamakta ürün ve montaj

proseslerinin bilgisine dayanan bir karar ağacı yaklaşımı geliştirmişlerdir.

Uygulamalarla geliştirdikleri karar destek analizi yaklaşımının etkin ve verimli bir

yöntem olduğunu ispatlamışlardır.

Adams [38] yılında yayınlanan makalesinde gerçek hayattaki üretim işletmelerinde

uygulanan veri madenciliği tekniklerini kısaca anlatmış ve veri madenciliğinin

işletmeler için çok fazla veri ile başa çıkmakta ve anlamlı sonuçlar çıkararak geleceğe

yönelik tahminler yapmakta ne kadar etkin bir yöntem olduğundan bahsetmiştir.

Kusiak ve Kurasek [39], elektronik montajında kalite problemini çözmek için

uygulanan bir veri madenciliği tekniğini anlatan endüstri durum çalışması sunmuşlardır.

Makaleleri, çalışmada ele alınan özellikler, veri toplama ve bir endüstriyel uygulamada

kalite hatalarının sebebini belirlemek için veri madenciliği çözüm yaklaşımını ortaya

koymaktadır.

25

McDonald ve ark. [40], süreç ürünlerini iyileştirmek için, entegre devre üretiminde ürün

iyileştirmesi için veri madenciliği araçlarının kullanmışlardır. Veri madenciliğini ince

levhaların işlem gördüğü sıranın neden olduğu hataları belirlemek için süreç

değişkenleri ile ürün arasındaki korelasyonu belirlemekte ele almışlardır.

Milne ve ark. [41], veri madenciliği tekniklerini kullanarak kağıt hatalarını

tahminlemişlerdir. Hata tespiti uygulamasında, kağıt hatalarının önceden tespitinde

geçmiş verileri kullanmışlar, böylece bu hatalarla ilgili doğru adımların atılabileceğini

vurgulamışlardır. Kağıt bobinlerinin kalitesinin on-line olarak tahminlenmesinde karar

ağaçlarını, veri madenciliği aracı olarak ReMind yazılımını kullanmışlardır. Yaptıkları

uygulama sonucunda, iyi bobinlerin % 96’sı, kötü bobinlerin ise % 88’i doğru olarak

tahminlenmiştir.

1997 yılında Koonce ve ark. [42] üretim sistemlerinden öğrenmede, veritabanlarını

aramada “DBMine” ismini verdikleri bir yazılım geliştirmişlerdir. Bu araç, bacon

algoritması, karar ağaçları ve veri madenciliği-öğrenmeyi içeren üç temel veri

madenciliği tekniğini içermektedir. DBMine’ı, genetik algoritmalar tarafından üretilen

atölye tipi çizelgelerde, gen sıralamasındaki örnekleri belirlemede ve bu örnekleri

açıklamaya yardım edecek kuralları çıkarmada kullanmışlardır.

Kim ve ark. [43] (1997), veri madenciliği tekniklerini kullanarak, üretim sistemlerinin

doğrusal olmayan tahminlemesini yapmışlardır. Regresyon, hareketli ortalama, üstel

düzeltme, sinir ağları ve durum-tabanlı sebepleme gibi teknikler kullanarak girdi ve

çıktılar arasındaki ilişkiyi belirlemişlerdir. Ayrıca, gürültünün çeşitli örneklerinde

öğrenme tekniklerinin gücünü ortaya koymuşlardır.

Stepien ve ark. [44], istatistiksel proses kontrol tarafından üretilen bilgiyi yönetmek ve

bu bilgileri kararlar üretmekte kullanmak ayrıca prosesi daha istikrarlı yapmak için bir

proses analizi paketi geliştirmişlerdir. Geliştirdikleri paket verilerin toplanabileceği her

tür üretim süreci için uygundur. Ayrıca bu paket bir veri madenciliği paketi

içermektedir. Geliştirdikleri yazılımın performansını test etmek için iki çimento

işletmesinde uygulama yapmışlardır.

Baykasoğlu ve Özbakır [45], veri madenciliği uygulamaları için sınıflandırma

kurallarını keşfetmekte çoklu denklem programlama tabanlı yeni bir yaklaşım

26

sunmuşlardır. Geliştirdikleri metodun performansını iki tıbbi veri kümesinde test

etmişlerdir. Yöntemleri doğruluk, kesinlik, esneklik, etkinlik ve kabiliyet yönünden

memnun edicidir.

Canbulut ve ark. [46] dairesel cepli hidrostatik+hidrodinamik yataklarda sürtünme güç

kaybına yönelik bir veri madenciliği çalışması yapmışlardır. Çalışmalarında

hidrostatik+hidrodinamik yatakların performansını etkileyen parametre ve parametre

düzeylerini genetik programlama (GP), yapay sinir ağları (Neura Solutions) ve

regresyon (SPSS) kullanarak belirlemiş ve bu yöntemlerin etkinliklerini

karşılaştırmışlardır.

2.2. Sınıflandırma

2.2.1. Sınıflandırmaya Giriş

Önceki bölümlerde de bahsedildiği gibi, bir çok organizasyon çok büyük miktarda

bilgiyi depolamaktadır. Ancak, genellikle yönetimsel karar verici mekanizmalara destek

niteliğindeki gerekli bilgileri çıkarmada maalesef başarısız olmaktadırlar. Veri analizi

yaparak faydalı bilgiler elde etme ihtiyacının giderek büyümesi veritabanlarından bilgi

keşfinin 1990’ların başından itibaren dikkatleri çekmeye başlamasına yol açmıştır.

Örnek olarak kredi uygulamalarında, kötü kredileri tahminleme kabiliyetlerini

geliştirerek kredi kayıplarının azaltılma çalışmaları için böyle bir analizden çıkarılan

sonuçların önemi çok daha iyi anlaşılmaya başlandı. Tıp alanından örnek vermek

istenirse; geçmiş verileri öğrenilen yeni bir hastanın kalp krizi geçirme olasılığının

tahminlemesi yine bu tür bir çalışma ile çıkarılan sonuçlarla yapılabilir. Endüstri

alanında, bir ürünün üretim sürecindeki bütün bilgilerin toplanması ve bu tür bir

çalışmayla analiz edilmesi sayesinde üretim kusurlarında önemli azalmalar

yakalanabilecektir. Veri madenciliği, veritabanlarında büyük miktardaki veri içindeki

saklı olan ilişki ve global örüntü arama sürecidir. Bu sistemler geleneksel sistemlerle

yıllar süren bir çalışma ile bulunabilecek anlamlı ilişkileri kısa süre içinde

bulabilmektedir [47].

Burada dikkat edilmesi gereken önemli bir nokta vardır. Veri madenciliği geleneksel

istatistik tekniklerin yerine kullanılması gereken bir yaklaşım değildir. Tam tersi

27

istatistik topluluklarında büyük değişikliklere yol açmış ve istatistiksel metotların,

yapay zekanın, veritabanı sistemlerinin ve veri görüntüleme tekniklerinin açılımı olan

bir yaklaşım şeklinde görülmelidir [11],[48]. Veri madenciliğinin ilişkili olduğu alanlar

Şekil 2.4’te gösterilmiştir.

Şekil 2.4. Veri Madenciliği ve İlişkili Alanlar

Sınıflandırma istatistiksel örüntü tanıma, makine öğrenme ve veri madenciliği gibi

araştırma alanlarında kapsamlı şekilde çalışılan önemli bir problem türüdür. Temel fikir;

bir örneğin (çalışılan veri kümesindeki bir kayıt) üye olduğu sınıfı, o örneğin sahip

olduğu tahminleyici (predictor) nitelik değerlerine göre tahmin etmektir [49].

2.2.2. Sınıflandırma Nedir?

Sınıflandırma görevinde her bir örnek (veritabanındaki her bir kayıt) bir sınıfa üyedir.

Üyelik bilgisini içeren bu verilere amaç niteliği denir. Bu nitelikler her biri bir sınıfa

karşılık gelmek üzere küçük miktarda kesikli değerlerdir. Sınıflandırma algoritmasının

amacı, örneklerin hangi sınıfa ait olduklarını tahminleyici nitelik olarak adlandırılan

diğer nitelikleri kullanarak tahmin etmektir [4].

Sınıflandırma tekniği veri madenciliği alanında en çok çalışılan konulardan biridir.

Sınıflandırma, kullanıcı tarafından belirlenmiş amaç niteliği ve diğer niteliklerin

değerleri göz önünde tutularak elemanın hangi sınıfa ait olduğunun tahmininin

yapılmasıdır. Başka bir deyişle, veri kümesindeki elemanların ortak özelliklerinin

bulunması ve sınıflama kuralına göre bu elemanların farklı sınıflara dahil edilmesi

işlemidir [47].

28

Veri sınıflandırma, veritabanındaki mevcut nesne kümelerinin ortak özelliklerini

tanımlayan ve bu nesneleri farklı gruplara (sınıf) kategorize eden bir öğrenme sürecidir.

Sınıflama yapımında eğitim kümesi olarak adlandırılan örnekler (tuples) göz önünde

bulundurulur. Her bir örnek kendini diğer örneklerden ayırt eden aynı sayıda nitelik

veya yapı kümesini ihtiva eden nesnedir. Ayrıca her örnek ait olduğu sınıfı tanımlayan

ek bir nitelik (amaç niteliği) daha içerir [50].

Veri madenciliği sınıflandırma modellerini zaten sınıf tanımı yapılmış verilerden

oluşturur. Bu veriler geçmişe dayalı veritabanlarından, daha önce üzerinde çalışılan

problemi yaşamış veya problemle ilgili uzun süre tedavi gören bireylerin durumunun

kaydedilmesi gibi çalışmalar ile oluşur [2]. Sınıflandırmanın görevi, öğrenme

verisindeki mevcut yapıları kullanarak her bir sınıf için bir tanımlama veya model

kurmaktır. Her bir sınıfın kurulan modeli sınıfın öğrenme verisine konulmamış kalan

diğer verisine, yani test verisine uygulanır [50].

Veri madenciliğinin artan ilgiye sahip sınıflandırma alanı iki kategoride gruplanabilir;

kural tabanlı sınıflandırma ve kural tabanlı olmayan sınıflandırma [51].

-Kural tabanlı sınıflandırma: Verileri analiz ederek doğrudan anlaşılabilir bilgi türeten

ve uzman tarafından keşfedilen bilginin doğruluğunun ve faydasının sıklıkla

değerlendirilebildiği yaklaşımdır.

-Kural tabanlı olmayan sınıflandırma: Bir kara kutu gibi çalışır. İçsel nedenlerden ve

etkilerden dolayı kurallar saklı olmasına rağmen kullanıcı genellikle nihai çıktıya

erişebilir.

Destek vektör makineleri ve yapay sinir ağları gibi kural tabanlı olmayan

sınıflandırıcılar genellikle iyi sınıflandırma doğrulukları yakalarlar. Ancak,

anlaşılabilirlik söz konusu olduğunda ilk tercih olarak düşünülmeyebilirler.

Anlaşılabilirlik denildiğinde; girdi ile çıktı arasındaki ilişkinin açıkça ortada olduğu

durum ifade edilmek istenilmektedir. Öyle ki; kullanıcı herhangi yeni bir girdiden

kolayca yeni bir sonuç türetebilmelidir. Anlaşılabilir bilgi bir çok uygulamada

önemlidir. Örnek olarak tıbbi teşhis ve yönetim karar destek uygulamaları verilebilir.

29

Bu uygulamalarda uzman kişi çözüm sürecinde önemli roller üstlenmiştir. İnsan

çabasına bağımlılığı azaltmak için, C4.5, karar tablosu, genetik algoritma programı ve

dil tabanlı genetik programlama gibi kural tabanlı sınıflayıcılar uygulama alanlarında

sıklıkla kullanılmışlardır.

Wong ve Leung [52], her bir yeni probleme yeni bir gramer sağlanmasına ihtiyaç

duyan, sınıflandırma kuralları inşa edecek, alana özel, dil tabanlı bir genetik

programlama yaklaşımı sunmuşlardır.

Bojarczuk ve ark. [53] sınıflandırma kurallarının anlaşılabilirlik açığına işaret eden

standart olmayan ağaç yapısında genetik programlama çalışması sunmuşlardır. Bu

yaklaşımda, nümerik nitelikler nominal niteliklere ayrılmaktadır.

Yapılan çalışmalarda yeni tekniklerin performanslarının kıyaslamalarında geleneksel

algoritmalar kullanılmaktadır. Bu algoritmalar hakkında genel bilgi bir sonraki başlıkta

verilmiştir.

2.2.3. Sınıflandırma Kuralları

Bir kural “if <koşul> then <sınıf tahmini>” yapısındaki bir ifadedir. Kurallar

genellikle bilginin ifade edilmesinde kullanılır ve insan tarafından kolayca anlaşılabilir.

Kurallar ayrıca karar vermek için uzman sistemlerde de kullanılabilir. Kural öğrenme,

eğitim örnekleri kümesinden kural türetme sürecidir. Kural öğrenmede bir çok

algoritma, bir örneği daha önceden belirlenmiş sınıflardan birine atamak için kural

araştırması yapar [3].

Sınıflandırma alanında sunulan yeni teknik ve algoritmalar performanslarının

değerlendirilmesi için çeşitli geleneksel algoritmalar ile kıyaslanmaktadır. Yapılan

çalışmalarda adı geçen bu teknikler hakkında genel bilgi vermenin faydalı olacağı

düşünülmüştür. AQ (Ancestral Quest) , CN2, ID3 ve C4.5 algoritmaları kullanılan bu

algoritmalardan bazılarıdır.

30

2.2.3.1. AQ (Ancestral Quest) Algoritması AQ, tümevarım öğrenme için bir algoritmalar ailesidir. Bu aileye örnek olarak AQ15

algoritması verilebilir. AQ bilgi gösterimi için karar kurallarını kullanır. Bir kural

değişken değerli mantık sistemi 1 (VL1) içinde gösterilir. VL1 de bir seçici değişken ile

bir değer ya da değerler birleşimi ile ilişkilidir (Örnek: Renk = kırmızı veya yeşil).

Seçimlerin bağlacı ise bir kompleksi oluşturur. Bir örtü ise bütün pozitif örnekleri

kapsayıp, hiçbir negatif örneği kapsamayan kompleksler bağlacıdır. Bir örtü karar

kuralının koşul kısmını oluşturur. AQ algoritması asıl yapısı itibariyle sadece kesin

kurallar oluşturur. Örnek olarak; her bir sınıf için, karar kuralı sadece bir grup pozitif

örnekleri kapsayıp negatif örneklerden hiç birini kapsamamalıdır [3].

AQ algoritmasının adımları aşağıdaki gibidir [3]; 1. Öğrenme örneklerinin içinden pozitif bir örnek seçilir. Bu örneğe tohum adı verilir.

2. Yıldız adı verilen ve tohumu örten kompleksler kümesi üretimi ‘yıldız üretim’

adımında gerçekleştirilir. Yıldızdaki her kompleks negatif hiçbir örneği kapsamayan

en genel kompleks olmalıdır.

3. Yıldız içindeki kompleksler alfabetik değerlendirme fonksiyonuna göre dizilir. Bu

fonksiyon genelde kapsanan pozitif örnek sayısını maksimize etmek için kullanılır.

4. En iyi kompleks tarafından kapsanan örnekler grubu öğrenme örneklerinden

çıkarılır.

5. Yıldızdaki en iyi kompleks örtüye eklenir.

Adım 1 – 5 bütün pozitif örnekler örtü tarafından kapsanana kadar tekrar eder.

Yıldız üretme adımı olan ikinci adım aşağıdaki gibidir;

Kısmi yıldız boş kompleks olsun.

Kısmi yıldız bütün negatif örnekleri kapsayana kadar;

1. Kapsanan negatif bir örnek seç.

31

2. Genişlemeyi tohumu kapsayan bütün seçiciler olarak ata. Bu seçiciler hiçbir negatif

örneği kapsamasınlar.

3. Kısmi yıldızı güncelle. {x ^ y | x ε kısmi yıldız, y ε genişleme }.

4. Diğer komplekslerin içerdiği bütün kısmi yıldızları çıkar.

Kısmi yıldızı kırp. Sadece en iyi komplekslere sahip olanı elde tut.

Yıldız üretme adımında dahil edilenler sadece tohumu kapsayan kompleksler değildir.

Kısmi yıldız en iyi kompleksleri içerecek şekilde kırpılır. Sezgiseller pozitif örnekleri

dahil etmek ve negatif örnekleri dışarıda tutmak için kullanılmaktadır. Algoritmada

kullanılan terimler Şekil 2.5.’te gösterilmiştir.

Şekil 2.5. AQ Algoritmasının Terminolojisi

2.2.3.2. CN2 Algoritması

AQ algoritmasının tersine CN2 (Clark ve Niblett, 1989) algoritması gürültülü örnek

kümeleriyle başa çıkabilmektedir. AQ algoritmasındaki yayılım arama (beam search)

algoritmasını kullanır. Yayılım arama algoritması, bir takım kurallara göre seçilen en

uygun düğümün genişletilmesi prensibine göre hareket eden bir sezgisel algoritmadır.

Ancak sabit m parametresi yayılma genişliğini sadece en iyi m düğüm kadar

genişleyebilmesine müsaade edecektir. m parametresinin artması algoritmayı optimuma

o kadar yaklaştırmaktadır. Yayılım arama algoritmasının adımları; başlangıçta rasgele m

adet düğüm seçilir, seçilen m adet düğümün ardılları hesaplanır, eğer amaç düğümüne

ulaşılmış ise algoritma durur, aksi takdirde ardıl düğümlerden m tanesi seçilerek

adımlar tekrarlanır.

32

Ancak CN2 algoritması arama esnasında tohuma bağlı kalmaz. CN2’nin her bir

adımında C sınıfını kapsayan geniş sayıdaki örneklerin yanında küçük sayılarda diğer

sınıflardaki örneklerden de kapsayabilir [3].

CN2 algoritması iki ana prosedür içerir. Bunlar; uygun kuralları bulmak için yayılım

araması gerçekleştiren bir arama prosedürü ile aramayı devam ettiren bir kontrol

prosedürüdür. Arama esnasında CN2 hangi kuralın en iyi olduğunu değerlendirmelidir.

Kuralın doğruluğu veya ID3 algoritmasında da kullanılan entropi, değerlendirmede

kullanılabilir. Entropi ayrıca tek bir sınıfı örten kuralları tercih eden yapıdadır [54].

2.2.3.3. ID3 Algoritması

ID3 algoritması sabit örnek kümesinden karar ağacı türeten bir algoritmadır. Nihai karar

ağacı gelecekteki örneklerin sınıflarını tahmin etmekte kullanılır. ID3 algoritmasını ilk

olarak J. Ross Quinlan 1975 yılında yayınlanan “Machine Learning” adlı kitabında

sunulmuştur.

Standart ID3 algoritması özellikler arasında arama yaparak öğrenme veri kümesini en

iyi şekilde sınıflara ayıran özelliği bulur. Eğer özellik veri kümesini tamamen doğru

şekilde sınıflandırmış ise ID3 algoritması durur. Aksi takdirde kendinden yinelemeli

olarak en iyi sınıflandırmayı sağlayacak alt kümeye sıralı adımları uygulayarak devam

eder. Algoritma açgözlü arama kullanır. En iyi değeri alır ve hiçbir zaman önceki

çözümleri tekrar gözden geçirmez.

2.2.3.4. C4.5 Algoritması

ID3 algoritmasının başa çıkamadığı belirsiz değer veya sürekli veriler içeren

problemlere uygulanabilecek esnekliktedir. C4.5 yapılandırılmış karar ağacını üretim

kurallarına çevirebilir. Kök düğümden yaprak düğüme doğru giden her yol bir kurala

eşittir. Yolun bütün koşulları kuralın koşul kısmını oluşturur ve sınıf tahmini en son

yaprak düğümdür. Ancak bu kural çok karmaşık olabilir ve basitleştirilmesi gerekebilir.

Basitleştirme işleminden sonra kural kümeleri gereksiz ayrıntılara sahip olabilir. Her bir

sınıf için, sadece bir kurallar alt kümesi seçilir. Alt küme en az tanım uzunluğu

prensibine göre seçilir. Bu prensip, en iyi kural kümesinin ve istisnaların kodlanması

33

için en az bite ihtiyaç duyan kurallar olmalı fikrini savunur. Her sınıf için, kodlama

uzunluğu her bir kural alt kümesi için tahmin edilir. En az kodlama uzunluğuna sahip

kural alt kümesi seçilir [3].

2.3. Evrimsel Algoritmalar

Evrimsel algoritmalar veri madenciliğinde kural türetme alanında umut verici araçlar

olarak ortaya çıkmışlardır. Gradyan tabanlı tekniklerin aksine evrimsel algoritmalar

çoklu aday çözümlerinin performanslarını eşzamanlı olarak değerlendirerek zekice

çözüm uzayını taramaktadırlar ve determinist olmayan biçimde global optimuma

yaklaşmaktadırlar [55]. Son yıllarda, veri madenciliğine evrimsel algoritma uygulama

çalışmalarında artış yaşanmaktadır.

Evrimsel algoritmalar doğal evrim sürecinden esinlenilmiş zayıf arama ve optimizasyon

teknikleridir. Zayıf metotlar yapay zeka alanında problem çözme metotları üzerinde

çalışan bir kategoridir. Güçlü metotların tersine, zayıf metotlar daha genel ve geniş

alanlara uygulanabilir tekniklerdir. Problem çözme teknikleri görevlerini problemin

arama uzayının içinde araştırırlar. Arama uzayının her bir noktasını değerlendirip

kredilendirmek zorundadırlar. Bu bilgi arama noktalarının bütün bileşenlerinin

kalitelerini, etkileşimini ve arama noktasının genel kaliteye etkisini değerlendirmeye

yarar. Problem çözme metotları bu bilgileri kullanarak eski ve mevcut arama

noktalarından nasıl yeni arama noktaları üreteceğini etkili bir şekilde yönlendirmek için

kullanır. Böylece, iyi uygunluğa sahip metotlar gelecek aramaları umut verici bölgelere

yönlendirirler. Güçlü metotlar problem çözme yeteneği kazanmak ve etkinliği

güçlendirmek için alan bağımlı teknikler, arama stratejileri ve sezgisel yöntemler

kullanırlar. Büyük miktarda alan bağımlı bilgi içerirler. Bu bilgi problem çözücüyü

doğru sonuca hızla götürür. Geleneksel zayıf metotlarda ise insan performansının

gözlemlenmesinden esinlenilmiştir. Bu metotlar ilk derinlik arama (depth first search),

ilk genişlik arama (breadth first searh), üret ve test et (generate and test), tepe tırmanma

(hill climbing), kısıt tatmini (constraint satisfaction) ve problem indirgeme (problem

reduction) metotlarını içerir. Diğer taraftan evrimsel algoritmalarda insanın arama ve

öğrenme metotlarındaki başarılı olan zeki davranışlarından esinlenilmiştir. Makine

öğrenme ve optimizasyon amaçlarını başarmak için doğal seleksiyon ve evrim

prensiplerini kullanır. Genel olarak evrimsel algoritmalar popülasyon tabanlı olan,

34

seleksiyon ve arama uzayında yeni bir arama noktası üreten genetik operatörlere sahip

bütün algoritmaları kapsar. Bu algoritmalar; genetik algoritmalar, genetik programlama,

evrimsel programlama ve evrimsel stratejilerdir. Bu çeşitlilikteki yaklaşımlar

uygulandıkları modellere, kullandıkları operatörlere, seçim metotlarına ve uygunluk

fonksiyonlarına göre birbirinden ayrılırlar. Genetik algoritma ve genetik programlama

genetik seviyede evrimin modelleridir. Diğer taraftan, evrimsel stratejilerde kullanılan

optimizasyon fikrinde ise popülasyondaki bireylerin yapıları optimize edilmeye çalışılır.

Bireylerin çeşitli davranışsal özellikleri parametrik hale getirilir ve optimizasyon

süresinde bu değerler gelişir. Evrimsel programlamada ise çeşitli türlerin davranışsal

özelliklerinin adaptasyonu üzerinde durularak en üst düzey soyutlama kullanılır [3].

2.3.1. Genetik Algoritmalar

Genetik algoritmalar; doğal seleksiyon prensibinden yola çıkılarak geliştirilmiş arama

algoritmalarıdır. Algoritma, belirli bir uzunluğa sahip dizilerden oluşmuş bir

popülasyona sahiptir. Popülasyon içindeki her bir kromozom, çözüm uzayında bir

noktayı temsil eder. Bu diziler aynı zamanda üreme yolu ile varlığını sürdürmeye aday

olan birer bireydir. Algoritmanın temel işleyişi; çözüme uygun olmayan bireyleri

elemek, çözüme daha uygun bireyleri seçmek ve seçilen bireylerden yeni bireyler

üretmek doğrultusundadır. Algoritmanın işleyişi aşamalı olarak düşünüldüğünde temel

prensibinin eleme olduğu anlaşılmaktadır. İkinci prensip ise, elemeyi aşan bireylerden

yararlanılarak olası yeni çözümler elde etmektir. Bu da bireyler arasındaki bilgi

alışverişi ile sağlanır. Bireyler arası rasgele bilgi alışverişi, arama işleminin, çözüm

uzayının daha uygun noktalarında devam etmesini sağlar [56].

Kısaca tarihsel gelişimini özetlemek gerekirse; evrimsel hesaplama ilk olarak

1960’larda I.Rechenberg tarafından “Evolutions strategie” isimli eserinde tanıtılmıştır.

Onun fikri daha sonra başka araştırmacıların da ilgisini çekmiş ve geliştirilmiştir. John

Holland evrim sürecinin bir bilgisayar yardımıyla kullanılarak, bilgisayara anlayamadığı

çözüm yöntemlerinin öğretilebileceğini düşündü. Genetik Algoritma (GA) böylece John

Holland tarafından bu düşüncenin bir sonucu olarak bulundu. Genetik algoritma

stokastik bir arama yöntemidir. “En uygun olan hayatta kalır” ilkesine dayanmaktadır.

Biyolojik sistemlerin gelişim sürecini modelleyen genetik algoritma, ilk olarak Holland

[57] tarafından önerilmiştir. Onun öğrencileri ve arkadaşları tarafından geliştirildi ve bu

35

sayede Holland’ın kitabı “Adaption in Natural and Artificial Systems” 1975 yılında

yayınlandı. Sezgisel bir yöntem olan genetik algoritma, problem için optimum sonucu

bulamayabilir, ancak bilinen metotlarla çözülemeyen veya çözüm zamanı çok büyük

olan problemlerde optimuma çok yakın çözümler vermektedir. Holland’ın araştırması

iki yönlüdür:

- Doğal sistemlerde görülen adaptasyon (ortama uyum yeteneği) kavramını açıklamak.

- Doğal sistemlerin temel işleyişini, yapay yazılım sistemleri aracılığı ile modellemek.

Doğal sistemler oldukça sağlam ve kararlı yapıdadırlar. Uyum yeteneğinin nasıl gelişip

işlediğini öğrenmenin en iyi yolu, biyolojik sistemler üzerindeki çalışmalardır. Genetik

algoritmaların karmaşık arama uzaylarına uygulandığında kararlı çözümlere ulaştıkları,

kuramsal ve deneysel çalışmalar ile kanıtlanmıştır. Etkili ve verimli bir yöntem olduğu

kanıtlandıktan sonra çeşitli bilim dallarının yanı sıra iş dünyası ve mühendislikte geniş

bir uygulama alanı bulmasının en önemli nedeni, kuşkusuz hesaplamalarda sağladığı

basitlik ve arama işlemlerindeki iyileştirme gücüdür. Genetik algoritmaların kullanılma

yerlerine örnek olarak; After Software Limited tarafından üretilen XpertRule paketince

kullanılan genetik algoritma, İngiltere’deki Channel 4 TV’nin günlük reklam

çizelgesinin oluşturulmasında uygulanmaktadır. Barselona’da Complex Systems SL adlı

firma tarafından genetik algoritma tabanlı olarak üretilen DISTOS programı 1000

bölgeye kadar günlük petrol dağıtımı problemi ile ilgilenmektedir [56].

2.3.1.1. Genetik Algoritma Çeşitleri

Genetik algoritmaları belirli özelliklere göre sınıflandırmak oldukça zor bir iştir. Bunun

sebebi, genetik operatörlerin , bütün parametrelerin , amaç fonksiyonunun ve uygunluk

fonksiyonunun probleme özel olarak değişebilme durumundan kaynaklanmaktadır.

Kısacası genetik algoritma yapısı optimum veya optimuma yakın sonuca daha hızlı

ulaşmak için her türlü şekilde uyarlanabilmektedir. Hatta genetik operatörlerde bile

köklü değişiklikler yapılabilmektedir. Mutasyonun uygun olmayan çözüm yaratma

olasılığı bulunan bir problemde kullanılmaması veya bu problemde geleneksel

mutasyon operatörü yerine kromozomda uygun olmayan çözümü engelleyen probleme

özel tasarlanmış mutasyon operatörü kullanılması ve kromozomun ikili sayı sisteminde

kodlanması yerine onlu sayı sisteminde ya da altmışdörtlük sayı sisteminde kodlanması

36

örnek olarak verilebilir. Her ne kadar probleme göre farklılık gösterse bile genetik

algoritmaları 3 genel başlık altında toplayabiliriz;

- Basit genetik algoritmalar: Alışılagelmiş genetik algoritmalar olarak düşünülebilir.

- Paralel genetik algoritmalar: Birden çok işlemci bulunan bir sistemde hesap yükünün

işlemcilere uygun şekilde dağıtılması olarak ifade edilebilir.

- Melez genetik algoritmalar: Genetik algoritma içerisine bir başka tekniğin oturtulması

ile daha iyi performans sağlayan bir algoritma oluşturulabilir.

2.3.1.2. Basit Genetik Algoritma İşleyişi

Basit genetik algoritma adımları Şekil 2.6.’da gösterilmiştir.

Şekil 2.6. Basit Genetik Algoritma İşleyişi

Adım1. Başlangıç popülasyonu oluştur.

BAŞLANGIÇ POPÜLASYONU

UYGUNLUK HESAPLAMASI

UYGUNLUK ÖLÇEKLENDİRME

DOĞAL SEÇİM MEKANİZMASI

ELİT BİREY SEÇİMİ

ÇAPRAZLAMA

MUTASYON

DUR

?

37

Genellikle başlangıç popülasyonu oluşturulurken rasgele sayı üreticisi kullanılır. Şayet

başlangıçta problemle ilgili bazı çözümler kabaca biliniyorsa başlangıç popülasyonu bu

çözümler kullanılarak da oluşturulabilir.

Adım2. Bireylerin uygunluk değerini hesapla.

Çözümlerin kalitesinin belirlenmesinde kullanılan teknik, genetik algoritmanın

performansında oldukça etkilidir. Amaç fonksiyonundan elde edilen ham sonuçların

kullanımı araştırmanın başlangıcında yeterli olabilir. Uygunluk değeri hesaplarken amaç

fonksiyonuna dolaylı olarak hizmet eden ek terimler eklenebilir. Uygunluk

fonksiyonunu genetik algoritmanın beyni olarak tanımlamak abartılı bir durum

oluşturmaz. Genetik algoritmayı tamamen rasgele olmaktan kurtaran adım bu adımdır.

Adım3. Uygunluk ölçekleme işlemini yap.

Araştırma ilerleyip optimum sonuca yaklaştıkça, iyi ile daha iyi çözümün ya da kötü ile

daha kötü çözümün arasındaki farkı ayırt etmek zorlaşacaktır. Bu durum genetik

algoritmanın çözümleri geliştirmesini olumsuz etkiler. Bu yüzden kalite değerlendirme

biriminde normalizasyon işlemine gerek duyulur. Genetik algoritmalar normalizasyon

işlemine karşı oldukça hassastır.

Adım4. Doğal seçim mekanizmasını uygula.

Kalitesi yüksek bireylerin hayatta kalmaları ve sayılarının artması, kalitesi düşük

bireylerin ise sayılarının azalarak kaybolması prensibine göre çalışan bir genetik

algoritma elemanıdır. Doğal seleksiyon için kullanılan mekanizma türleri aşağıdadır;

∗ Rulet çemberi seçim mekanizması : Uygunluk değeri oranı büyük olan birey çark

yüzeyinde daha büyük paya sahip olur, böylece seçilme şansı daha yüksek hale

gelir.

∗ Sıralı seçim mekanizması : Sıralı seçim mekanizmasında popülasyondaki bireyler

uygunluk değerine göre en iyiden en kötüye doğru sıralanır. En iyiden başlamak

kaydıyla bu sıranın belli bir parçası doğrudan üreme havuzuna alınır.

∗ Turnuva seçim mekanizması : Her bireyin yarışacağı belirli sayıda rasgele seçilmiş

bireylerden bir alt popülasyon oluşturulur. Birey alt popülasyondaki bireylerle

38

uygunluk değerlerine göre yarışır ve kim kazanırsa üreme havuzuna seçilir. Bu

yarışma popülasyon büyüklüğü kadar tekrarlanır.

∗ Denge durumu seçim mekanizması : Doğrusal sıralı seçim mekanizması kullanılarak

seçilen bir veya iki bireye genetik operatörler uygulanır. Daha sonra elde edilen yeni

birey mevcut popülasyondaki uygunluk değeri en düşük bireyler ile yer

değiştirilerek yeni popülasyon oluşturulur.

Adım5. Elit bireyi muhafaza et.

Elit birey popülasyon içindeki en iyi uygunluğa sahip bireydir. Genetik algoritmanın

seçim mekanizmasının rasgele olması, popülasyondaki uygunluk değeri en büyük

olanın yani elit bireyin bir sonraki popülasyona seçilmesini garantilemez. Elit birey

seçilse bile genetik operatörlerin etkisiyle kromozom yapısında değişikliğe uğrayıp

uygunluk değeri daha kötü bir bireye dönüşebilir. Bu durumun oluşmaması için doğal

olmayan elitizasyon işlemi uygulanır.

Adım6. Çaprazlama işlemini uygula.

Çaprazlama popülasyonda çeşitliliği sağlar. İyi özelliklerin bir araya gelmesini

kolaylaştırarak en iyiye yaklaşmayı hızlandırır. Basitçe düşünülürse olay iki ebeveyn

kromozomun belirlenen parçalarının takasıdır. Genetik algoritmalar bu olayın

benzeşimini temelde;

∗ Tek noktalı çaprazlama,

∗ Çok noktalı çaprazlama

adı verilen iki yolla yapar.

Örnek olarak çaprazlama noktasının rasgele 3 olarak belirlendiği bir çaprazlama

operasyonunda rasgele seçilen iki ebeveyn kromozom çaprazlandığında;

yeni bireyler olacaktır.

Adım8. Mutasyon işlemini uygula.

39

Yeni popülasyona alınacak her bir bireyin genleri mutasyon oranına göre değiştirilir.

Mutasyon operatörü olmayan bir genetik algoritma, optimum çözümü ancak çözüm

elemanlarının başlangıç popülasyonunda yer alması halinde bulabilir. Mutasyon işlemi,

görülmemiş ve araştırılmamış çözüm elemanlarının bulunmasını sağlar.

Örnek olarak;

Fm = 25 � rasgele üretilmiştir, yani kromozomun %25 i değişecektir.

Mutasyondan önce birey = 7 5 6 3 5 4 1 9

Mutasyondan sonra birey = 8 5 6 2 5 4 1 9

2.3.2. Genetik Programlama

1992 yılında John Koza [58] genetik algoritmayı kullanarak çeşitli görevleri yerine

getiren programlar geliştirdi. Bu metoda Genetik Programlama adını verdi.

Genetik programlama, genetik algoritmaların bir uzantısı olarak ifade edilmiştir.

Aralarındaki temel farklılık, yönettikleri yapının gösterimi ve bu gösterimin taşıdığı

anlamda ortaya çıkmaktadır. Genetik algoritmalar genelde sabit uzunluktaki ikili

dizilere sahip popülasyonlar üzerinde çalışır. Genetik programlama ise genellikle

bilgisayar programlarını barındıran ağaç yapılarına sahip popülasyonlar üzerinde çalışır.

Genetik programlama bilgisayar programlarının davranışları ile ilgilendiği için, fenotip

tanımı genetik algoritmalara göre daha soyut kalmaktadır [3].

Genetik programlamada mutasyon ve çaprazlama operatörleri ağaç yapısına uygun

olarak yapılandırılmışlardır. Mutasyon rasgele bir düğümü seçerek gerçekleştirilir.

Rasgele seçilen düğümün altındaki alt ağaç yapısı silinerek yerine rasgele yeni bir yapı

büyütülür [47]. Şekil 2.7.’de mutasyon operatörü için örnek gösterilmiştir.

Çaprazlamada ise ilk olarak iki ağaç aday olarak seçilmelidir. Mutasyon işlemindekine

benzer şekilde her iki aday için rasgele bir düğüm belirlenir. Belirlenen düğümden

sonraki alt ağaçlar karşılıklı seçilen noktalardan takas edilir [47]. Şekil 2.8.’de

çaprazlama operatörü için örnek gösterilmiştir.

40

Şekil 2.7. Ağaç Yapısının Mutasyonu

Şekil 2.8. Ağaç Yapısındaki Çaprazlama

Genetik programlamada seçim operatörü genetik algoritmalardaki durumdan farklı

değildir [47]. Genetik programlama ve çeşitleri ile ilgili daha geniş bilgi 5. bölümde

verilmiştir.

2.3.3. Evrim Stratejileri

Bu tekniklerde üzerinde durulan, yüksek uygunluk değerine sahip yapılar inşa etmek

yerine, uygunluk fonksiyonu tarafından iyi kabul edilen bir davranış geliştirmektir.

Davranış optimizasyonuna odaklanarak, temsil ve üreme sezgiselleri, ebeveynlerine

yapısal olarak benzemese bile davranış olarak benzeyen nesneler oluşturmak

zorundadır. Ancak, üreme operatörlerinde davranış etkileri modellendiğinde uygun

davranış eldesi kolay olmak zorundadır. Evrimsel stratejiler bireylerin, yapı kümelerinin

41

bileşiminden oluştuğunu varsayar. Yapılar arasındaki etkileşim bilinmeyendir. Evrimsel

stratejiler birey gösterimi için sabit uzunluklu, gerçek değerli diziler kullanır. Her bir

konum ayrı bir davranışsal karaktere işaret eder. Sabit uzunluklu dizilere bağlılık,

muhafaza edilecek davranışların yönetilerek, ebeveynden çocuğa evrimleşme hareketini

kolaylaştıracaktır. Davranış olarak benzer çocuk oluşturmak için dizilerin içeriğini

yöneten farklı operatörler tanımlanmıştır. Evrimsel stratejilerin kökeni Almanya’da reel

değerle çalışan bir uygulamadır. Problem F(X):RL � R amaç fonksiyonunu en

küçükleyerek veya en büyükleyerek L sayısı ile gerçek değerli X vektörünü bulmak

olarak tanımlanabilir. Evrim modeli bir birinden farklı olan bir çok evrimsel strateji

vardır [3].

2.3.4. Evrimsel Programlama

Evrimsel programlama, genetik algoritmalara benzeyen stokastik bir optimizasyon

stratejisidir. Evrimsel programlama doğada bulunan bazı genetik operatörleri

iyileştirmek yerine yeni birey ile ebeveyn arasındaki bağlantıya odaklanmıştır. Genetik

algoritmalardan farklı olarak, evrimsel programlama bireylerde belirli herhangi bir

genotipe ihtiyaç duymaz. Evrimsel programlama daha soyut bir model çalıştırır.

Mutasyon evrim için kullandığı tek operatördür. Tipik bir evrimsel algoritmanın süreci

aşağıdaki gibidir [3];

1. Jenerasyonu başlat, t’yi 0 yap. 2. Popülasyon(t)’nin bireylerini başlat. 3. Popülasyon(t)’nin bireylerinin uygunluklarını değerlendir. 4. Durdurma kriteri sağlanana kadar tekrarla; a. Mutasyon yolu ile her bir bireyden bir ya da daha fazla yeni birey oluştur. b. Her bir yeni bireyin uygunluğunu değerlendir. c. Her bir yeni birey için bir turnuva gerçekleştir. d. Yüksek turnuva puanına ulaşan yeni bireyleri Popülasyon(t+1)’e koy.

e. t’yi bir artır.

5. En yüksek uygunluk değerine sahip bireyi döndür.

42

Minör seviyeden en uç seviyelere kadar farklı tiplerde mutasyon bulunmaktadır. Bireyin

davranışlarındaki minör değişiklikler daha sıklıkla ortaya çıkarken büyük değişiklikler

daha ender ortaya çıkmaktadır. Evrimsel Programlamanın iki özelliği vardır. İlki,

gösterimde bir kısıt yoktur. Mutasyon operatörü belirli bir genotip talep etmez. İkincisi

ise, evrimsel programlamada mutasyon, yeni birey ile ebeveyn arasında davranışsal

benzerliği muhafaza etmek girişimindedir. Çok hafif değişimler olduğunda yeni birey

ebeveyne genellikle benzemektedir. Evrimsel programlama, potansiyel yeni bireyin

dağılımının ebeveyn etrafında normal dağılacağını varsaymaktadır. Böylece

mutasyonların ayrımlarının istatistiksel bir dağılımı takip ettiği düşünülür [3].

2.4. Genetik Programlama

Bilgisayar biliminde en önemli zorluklardan biri bilgisayara ne yapacağını anlatmadan

yapılması gerekeni yaptırmaktır. Genetik programlama problemin yüksek seviyeli bir

ifadesinden otomatik olarak çalışan bir bilgisayar programı oluşturmasını sağlayan bir

metot ile bu zorluğa işaret etmektedir. Genetik programlama bu hedefe otomatik

programlama kullanarak diğer bir deyişle; doğal seleksiyon ve biyolojik olarak

esinlenilmiş operatörler prensibi ile genetik olarak üreyen popülasyonlar kullanarak

ulaşmıştır. Gösterim genetik algoritma çalışmalarında anahtar noktaydı çünkü, genetik

algoritma doğrudan problemin kromozoma çevrilmiş yapısına müdahale etmekteydi.

Gösterim şemaları katı şekilde sistemin dünyayı araştırdığı pencereyi kısıtlamaktaydı.

Bu teorik analizlerin bir çoğu sabit uzunluklu karakter dizisinin matematiksel olarak

kolay kontrol edilebilmesine dayanmaktaydı. Genetik algoritma kullanımında yapılan

çalışmalar karmaşık yapılara olan ihtiyacı ortaya çıkarmıştır. Makine öğrenme ve yapay

zeka problemlerinin bir çoğunda, çözümün en doğal gösterimi kesin boyutları

belirlenmiş karakter dizisi değil, aksine kesin belirli olmayan boyut ve şekle sahip bir

bilgisayar programıdır. Boyut ve şekli sürekli dinamik olarak değişen hiyerarşileri,

mevcut sabit uzunluklu karakter dizileri ile ifade etmek hem zor, hem kısıtlayıcı hem de

doğal olmayan bir durum olarak ifade edilmiştir. Genetik programlama bir problemi

çözmek ya da çözümüne yaklaşmak için boyut ve şekli belirlenmemiş bilgisayar

programları bulmak için bir yol sağlar. “Genetic Programming: On the Programming of

Computers by Means of Natural Selection” adlı kitabında genetik programlamayı

detaylı olarak açıklamaktadır [58].

43

Genetik programlamada temel fikir “program” popülasyonunun evrimidir. Bir program

(popülasyonun bir bireyi) genellikle içsel düğümleri operatör ve uç yaprakları nitelikler

olan bir ağaç şeklinde gösterilir. Geçmişte sunulan grafik ve çoklu ağaç gibi daha

karmaşık gösterimler ağaç gösterimi kadar tutulan gösterimler olamamışlardır [59],[60].

Fonksiyon ve terminal kümesi hedef probleme uygun nitelikleri içermelidir. Fonksiyon

kümesi aritmetik operatörleri, mantık operatörlerini ve matematiksel fonksiyonları

içerirken terminal kümesi problemin değişkenlerini (nitelikler) içerebilir. Örnek olarak

tıp alanında bu nitelikler sinyaller, belirtiler veya hasta hakkında diğer tanılar olabilir

[49].

Genetik çeşitliliğin tanıtılması ancak ağaç seviyesinde olmaktadır ve bu sebeple geçerli

yapılar ortaya çıkması için oluşumun çok dikkatle yapılması gerekmektedir. Örnek

olarak, ağaca özgü üreme genetik programlamada genetik çeşitlilikte kullanılan

neredeyse tek kaynaktır. Bu şekilde alt ağaçlar takas edilebilir ve her zaman geçerli

yapılar üretilir. Ancak, diğer operatörlerin uygulanması yüksek oluşumlu mutasyon gibi

verimsiz olmaktadır. Ve sözdizimsel olarak yanlış yapılar ortaya çıkarabilmektedir.

Açıkça, nakil ve tersleme gibi diğer operatörlerin uygulanması çeşitli zorlukları ortaya

çıkarmaktadır. Ayrıca Koza iki ayrı ağaç yapısına özel operatör daha tanımlamıştır.

Bunlar permutasyon ve mutasyondur. Ancak bu operatörler genetik programlamada

nadiren kullanılmaktadırlar [61].

2.4.1. Genetik Programlama ve Veri Sınıflandırma

Genetik programlama, genetik algoritmaların alfabe sembollerinden oluşan sabit

uzunluklu diziler yerine evrimleşen bireylerin kendileri bilgisayar programı olan bir

varyasyonu olarak düşünülebilir. Programlar içsel düğümleri fonksiyonlardan oluşan

sıralı dallanmalardan ve terminal olarak adlandırılan yapraklara sahip ağaç yapısıyla

gösterilir. Genetik programlamada arama uzayı problem alanında bulunan terminal ve

fonksiyonlardan oluşturulmuş uygun bütün bilgisayar programlarıdır. Genetik

programlama yaklaşımı çoğalma, çaprazlama ve mutasyon genetik operatörlerini

kullanarak ağaç yapısındaki popülasyonu evrimleştirir. Her bir ağaç verilen problem

için bir çözümü temsil eder ve bu adayın diğer adaylardan ne kadar iyi olduğunu

gösteren bir uygunluk değeri ile birleştirilir [50].

44

Genetik programlama veri sınıflandırma görevinde karar ağaçları üretmek için

kullanılabilir. Fonksiyon kümeleri her bir niteliği nitelik test fonksiyonuna dönüştürerek

elde edilebilir. Hem çaprazlama hem de mutasyon operatörü sözdizimi doğru olan karar

ağaçları üretmek zorundadırlar. Yani bir nitelik kök düğümden yaprak düğüme kadarki

yol üzerinde birden fazla tekrar edemez. Ağaç büyüklüğüne karşı doğruluğu

dengelemek için uygunluk ‘cimrilik’ adlı bir opsiyonel parametre ile güçlendirilir. Bu

parametre ile fonksiyonun yapısı mümkün olduğu kadar basit tutulmaya çalışılır. Bu

parametre ne kadar yüksek ise yapı o kadar basittir ancak bu durum doğruluğu

azaltabilir. Eğer veritabanı bir çok niteliğe sahip yüksek miktarda örnek içeriyorsa

doğru bir şekilde sınıflandırma yapılabilmesi için geniş karar ağaçlarına ihtiyaç duyulur.

Genetik programlama temelli bir ağaç üreticisi geniş ölçekli ağaçlar içeren bir

popülasyon ile başa çıkabilmektedir. Ayrıca zaten Ryan ve Rayward-Smith [62] daha

önceden de açıklanan C4.5 algoritması ile üretilen aynı doğruluktaki bir karar ağacı için

küçük popülasyon sayısı yetersiz kalacaktır [50].

İkili veri sınıflandırma problemleri özellikle genetik programlama olmak üzere makine

öğrenme tekniklerinde önemli çalışma alanları oluşturmuştur [63]. Bunun yanında çoklu

sınıflandırma problemlerinde de genetik programlama temelli metotların iyi sonuçlar

verdiği yapılan çalışmalarda görülmektedir.

Alexandra Takac [47], hücresel genetik programlama modeli kullanarak ikili sınıflara

sahip veri kümeleri üzerinde çalışmalar yapmıştır. Uygunluk değerlendirmelerini SQL

sorguları göndererek veritabanı yönetim sistemine hesaplatmıştır. C4.5 ve yapay sinir

ağları ile geriye yayılım gibi bilinen algoritmalardan daha iyi doğruluk yüzdesi

yakalamıştır.

Freitas [64] veri madenciliği ve bilgi keşfi çalışmalarında genetik algoritma ve genetik

programlama tekniklerinin kullanıldığı bir evrimsel algoritma araştırması sunmuştur.

Ayrıca Freitas [65] sınıflandırma ve genelleştirilmiş kural türetme için bir genetik

programlama çatısı sunmuştur. Carvalho ve Freitas [66],[67] sınıflandırma kurallarının

keşfi için melez bir karar ağacı/genetik algoritma metodu sunmuşlardır. Karar ağaçları

C4.5 algoritması ile büyük ayrımlar keşfedilmiştir. İkinci aşamada genetik algoritma

kullanarak küçük ayrımlara ait olan örnekleri keşfetmek amaçlanmıştır. Fidelis ve

arkadaşları [68] esnek olarak kodlanabilen kromozom yapısı ile tıp alanında IF-THEN

45

kuralları keşfeden bir genetik algoritma sunmuştur. Bojarczuk ve ark. [69] göğüs ağrısı

tanısında kullanılacak bir genetik programlama algoritması sunmuştur. Bojarczuk ve

ark. [70] medikal veri kümeleri içindeki sınıflandırma kurallarının keşfi için doğal

olmayan sözdizimli yeni bir genetik programlama algoritması sunmuştur. Hassan ve

Tazaki [71] kaba küme teorisi ve genetik programlamayı birleştirerek medikal

veritabanlarından bilgi kuralları türetmek için melez bir algoritma sunmuştur [48].

Genetik programlama paradigmasında adaptasyona uğrayan yapılar, bu esnada

boyutları, şekilleri ve karmaşıklıkları dinamik olarak değişen hiyerarşik olarak

yapılandırılmış bilgisayar programlarıdır. Adaptasyona uğrayan bu yapıların kümesi

kendinden yinelemeli olarak n elemanlı F={f1, f1,…., fn} kümesinde uygun olan bütün

fonksiyon ve m elemanlı T={a1, a1,…., an} kümesinde uygun olan terminallerin olası

bütün bileşimleridir. F’teki her özel f fonksiyonu belirli sayıda argüman alır. İlgili

olduğu probleme göre, fonksiyonlar standart aritmetik operatörler olabilir, SIN, EXP

gibi standart matematiksel fonksiyonlar olabilir, mantıksal operatörler veya alana özel

fonksiyonlar olabilir. Terminaller bir sistemin durum bilgisi, yani 0 ve 1 gibi

argümanlar olabilir. Bazı durumlarda ise, argümanı olmayan bir fonksiyon gibi farklı bir

varlık olabilir [72].

Sanal olarak herhangi bir programlama dili yukarıda bahsedilen fonksiyonları ifade

edebilecek kabiliyete sahiptir. Bu çalışmada ise T-SQL (Trasnact - Structured Query

Language) dili seçilmiştir. SQL dili ile ilgili detaylı bilgi ileriki bölümlerde verilecektir.

2.4.2. Standart Genetik Programlama

2.4.2.1. Hazırlık Adımları

Kullanıcı problemin yüksek seviyeli ifadesini, belirli iyi tanımlanmış hazırlık adımlarını

gerçekleştirerek iletir. Standart genetik programlama için beş ana hazırlık adımı şöyledir

[73];

1. Evrimleşecek programın her bir dalı için terminal kümesi (örnek olarak; problemin

bağımsız değişkenleri, argümana sahip olmayan fonksiyonlar ve rasgele sabitler).

2. Evrimleşecek programın her bir dalı için ilkel fonksiyonlar.

46

3. Uygunluk ölçümü (popülasyondaki bireylerin dolaylı ya da doğrudan ölçümü).

4. Çalışmayı kontrol edecek belirli parametreler.

5. Durdurma kriteri ve çalışma sonucunun analizinin yapılacağı metot.

Şekil 2.9.’da standart genetik algoritmanın beş ana hazırlık adımını göstermektedir.

Hazırlık adımları genetik programlama sistemine insan destekli girdilerin girilme

sürecidir. Bilgisayar programı ise bu sürecin çıktısıdır [74].

Şekil 2.9. Genetik Programlama Hazırlık Adımları

İlk iki hazırlık adımı bilgisayar programı üretmek için uygun içerikleri belirlemektedir.

Bir genetik programlama çalışması uygun fonksiyon ve terminallerden oluşmuş çeşitli

popülasyonlar arasında rekabetçi arama sürecidir [74].

2.4.2.1.1. Fonksiyon ve Terminal Seti

Fonksiyon ve terminal kümelerinin tanımlanması doğrusal bir süreçtir. Bazı problemler

için, fonksiyon kümesi yalnızca toplama, çıkartma, çarpma ve bölme gibi aritmetik

operatörlerden oluşabilir. Terminal kümesi programın harici girdilerini (bağımsız

değişkenler) ve nümerik sabitleri içerebilir. Bu fonksiyon ve terminal kümesi geniş bir

aralıktaki problemlere uygulanabilir [74].

Diğer bir çok problemlerde içerikte özelleştirilmiş fonksiyon ve terminaller olabilir.

Örnek olarak, eğer amaç genetik programlamanın bir robota zemini engellerle kaplı bir

odayı otomatik olarak sildirmek ise, uzmanın genetik programlamaya robotun

kabiliyetlerini (hareket etmek, dönmek, ses çıkarmak gibi..) anlatması gereklidir [74].

GENETİK PROGRAMLAMA

Terminal Kümesi

Fonksiyon Kümesi

Uygunluk Ölçümü

Parametreler

Durdurma Kriteri &

Sonuç Ataması

Bir Bilgisayar Programı

47

2.4.2.1.2. Uygunluk Ölçümü

Üçüncü hazırlık adımı problemin uygunluk ölçümü ile ilgilidir. Uygunluk fonksiyonun

seçimi probleme ve amaca göre değişiklik gösterecektir. Genetik programlamanın

arama uzayında yön tayini yapmasını sağlayan yegane mekanizma uygunluk ölçümü

adımıdır. İyi seçilmiş bir uygunluk fonksiyonu problemin optimuma ulaşmasını

sağlarken, uygunluk fonksiyonunun seçimine gereken hassasiyetin gösterilmemesi

modelin performansının azalmasını doğrudan etkileyecektir.

Amaç fonksiyonunun doğrudan uygunluk fonksiyonu olarak atanabileceği gibi, amaç

fonksiyonuna eklenecek çeşitli terimler genetik programlama algoritmasının iyi

çözümlere yaklaşma hızını artırabilecektir.

Genetik programlamada 3 farklı ölçüm bulunmaktadır. Bunlar [3];

Ham uygunluk: Programın doğal anlamı ile ifade edilen uygunluk değeridir.

Sınıflandırma kuralı ifade eden bir program için ham uygunluk; doğru sınıflandırdığı

örnek sayısı veya doğru sınıflandıramadığı örnek sayısı olabilir. Tipik durumlar için

temel uygunluk değerinin hesaplanmasında kullanılır.

Standartlaştırılmış uygunluk : Ham uygunluk değerini dönüştürerek daha küçük değerin

daha iyi olduğu şekle sokar. Birbirinden farklı bir çok metotla yapılabilir.

Standartlaştırılmış uygunluk değer aralığı 0 ile 1 arasına oturmaz ise değerleri istenilen

aralığa sığdırmak için standartlaştırılmış uygunluk değerleri ters çevrilerek uyarlama

yapılır.

Uyarlanmış uygunluk: i. Programın standartlaştırılmış uygunluğunun si olduğu

varsayıldığında, i. programın uyarlanmış uygunluk değeri ui = 1/(1+si) formülü ile elde

edilir. Uyarlanmış uygunluk, popülasyonda çeşitliliğin azaldığı durumlarda seçim

baskısını kuvvetlendirir.

2.4.2.1.3. Kontrol Parametreleri

Dört ve beşinci adımlar yönetimsel adımlardır. Dördüncü adımda ise çalışmanın

yapılabilmesi için gerekli olan parametreler belirlenir. En önemli parametrelerden birisi

48

popülasyon sayısıdır. Pratikte kullanıcı akla uygun bir popülasyon sayısı seçer ki

hesaplama zamanında istenmeyen artışlar olmasın. Diğer parametreler ise genetik

operatörlerin gerçekleşme ihtimalleri, programların maksimum boyutları ve diğer

detayları kontrol eden parametrelerdir [74].

2.4.2.1.4. Durdurma Kriteri

Durdurma kriteri maksimum nesil sayısı olabileceği gibi probleme özgü başarı

değerlerini de içerebilir. Pratikte, bir çok en iyi bireyin uygunluk değeri bir düzlüğe

ulaştığında uzman çalışmayı elle izler ve elle durdurur. Şimdiye kadar en iyi birey

seçilerek çalışmanın sonucu olarak belirlenir [74].

2.4.2.2. Genetik Programlama Çalışma Adımları

Genetik programlama tipik olarak uygun programsal içeriklerin bileşimi olarak rasgele

üretilen bir popülasyon ile başlar. Genetik programlama tekrarlı olarak bir bilgisayar

programı popülasyonunu, doğal olarak gerçekleşen genetik operasyonları benzeterek

yeni bir neslin popülasyonunu oluşturur. Bu operasyonlar popülasyondan seçilen birey

veya bireylere uygulanır. Bireyler uygunlukları temel alınarak olasılığa bağlı şekilde

genetik operasyonlara tabi tutulmak için seçilirler. Popülasyonun tekrarlanan değişimi

genetik programlamanın çalışması esnasında nesil döngüleri içerisinde icra edilir.

Genetik programlamanın çalışma adımları şöyledir [73];

1. Rasgele olarak uygun fonksiyon ve terminallerin bileşimiyle oluşan bilgisayar

program bireylerinin başlangıç popülasyonunu (nesil 0) oluştur.

2. İteratif olarak, durdurma kriteri sağlanana kadar aşağıdaki alt adımları gerçekleştir;

a. Popülasyondaki her bir programı çalıştır ve problemin uygunluk ölçümünü

kullanarak uygunluk değerini sapta (dolaylı veya doğrudan).

b. Uygunluk değerine bağlı olarak popülasyondan bir ya da 2 birey programı

genetik operasyona tabi tutmak için seç.

49

c. Aşağıdaki genetik operasyonları belirli olasılık değerlerinde uygulayarak

popülasyon için yeni birey ya da bireyleri oluştur;

i. Çoğalma: Seçilmiş birey programını yeni popülasyona kopyala.

ii. Çaprazlama: Çocuk programları, seçilen iki birey programın rasgele

seçilen parçalarını takas ederek yeni popülasyon için oluştur.

iii. Mutasyon: Yeni bir çocuk programı, rasgele seçilen bir ebeveyni

mutasyona uğratarak yeni popülasyon için oluştur.

vi. Mimari değişim operatörleri: Operasyon repertuarından uygun bir

mimari değişim operatörü seç ve yeni popülasyon için bu operatörü

kullanarak yeni bir birey oluştur.

3. Durdurma kriteri sağlandığında, çalışma esnasında popülasyonda üretilen basit en

iyi program toplanıp çalışma sonucu olarak atanır. Çalışma başarılı ise sonuç çözüm

veya çözüme yakın sonuç olabilir.

2.4.2.3. Standart Genetik Programlama Akış Diyagramı

Genetik programlama problemden bağımsız olduğundan dolayı aşağıdaki çalışma

adımlarının temel sıralaması her yeni bir çalışma ya da her yeni bir probleme

uygulanabilir. Genetik programlama esnasında genellikle insan takdiri ile müdahale

veya etkileşim yoktur. Şekil 2.10. genetik programlama çalışması esnasındaki adımları

göstermektedir. Şekil 2.10. çaprazlama, çoğalma ve mutasyon genetik operatörlerinin

yanı sıra mimari değişim operasyonları da gösterilmektedir [75].

Genetik programlama, problemin terminal ve fonksiyonlarından rasgele oluşan

bilgisayar programlarının popülasyonu ile başlar. Popülasyondaki birey programlar

tipik olarak birinci ve ikinci hazırlık adımlarında sağlanan fonksiyon ve terminallerin

yinelemeli rasgele seçimleri üretilerek oluşturulur. Başlangıç bireyleri genelde kullanıcı

tarafından dördüncü hazırlık adımındaki minör parametre olarak daha önce kurulan

maksimum boyut kısıtı ile üretilir. Genelde, popülasyon içindeki programlar farklı

boyut ve şekildedirler [75].

50

Şekil 2.10. Standart Genetik Programlama Akış

Diyagramı

2.4.2.3.1. Başlangıç Popülasyonunun Oluşturulması

Genetik programlama rasgele üretilen binlerce kök programdan oluşan bir popülasyon

ile başlar. Fonksiyon kümesinin sıradan aritmetik değerleri ve koşul operatörleri

program ağacının içsel noktalarında ortaya çıkar. Terminal kümesinin içerisinde

bulunan programın harici girdileri ve rasgele sabitleri ise dış kısımlardaki noktalarda

görülür. Rasgele üretilen programlar genellikle farklı boyut ve şekillerde oluşur [75].

2.4.2.3.2. Genetik Programlamanın Ana Nesil Döngüsü

Bir genetik programlama çalışmasının ana nesil döngüsü uygunluk değerlendirmesi,

doğal seleksiyon ve genetik operasyon süreçlerini içerir. Popülasyondaki her birey

programın eldeki probleme ne kadar uygun olduğunu belirlemek için değerlendirilir.

Programlar daha sonra uygunluk değerinin büyüklüğü olasılığında popülasyondan

birden fazla olabilecek şekilde seçilerek çeşitli genetik operasyonlara sokulmaktadır.

Bazı durumlarda uygun olmayan bireylerin seçilme durumu da matematiksel olarak

imkan dahilindedir. İşte bu prensip genetik programlamayı aç gözlü tepe tırmanma

BAŞLANGIÇ POPÜLASYONU

UYGUNLUK HESAPLAMASI

DOĞAL SEÇİM MEKANİZMASI

UYGUNLUK ÖLÇEKLENDİRME

ÇOĞALMA OPERASYONU

ÇAPRAZLAMA OPERASYONU

MUTASYON OPERASYONU

MİMARİ DEĞİŞİM OPERASYONU

DUR

?

51

algoritmalarından ayırmaktadır. Rasgele başlangıç popülasyonundaki bireyler ile

genetik operasyon sonucu oluşmuş bireyler söz dizimi olarak tamamen geçerli

çalıştırılabilir programlardır [75]. Yeni bireyin söz dizimsel doğruluğu garanti edilse

dahi üretilen program anlamlı olmayabilir. Çünkü program (sayıyı sıfıra bölme gibi)

geçersiz, tekrarlı veya gereksiz operasyonlar gerçekleştirebilir. Geçersiz operasyondan

kaçınmak için anlam tekrar tanımlanmalıdır [3]. Bir çok nesilden sonra, bir program

çözümü ortaya çıkartır veya çözüme yaklaşan bir değer bulur [75].

2.4.2.3.3. Mutasyon Operasyonu

Mutasyon operasyonunda, tekil bir ebeveyn program popülasyondan olasılığa bağlı

şekilde uygunlukları temel alınarak seçilir. Bir mutasyon noktası rasgele olarak

belirlenir, o noktadan itibaren kök salan alt ağaç silinerek başlangıç popülasyonunun

oluşturulmasında kullanılan aynı rasgele büyüme işlemi süreci uygulanarak yeni bir alt

ağaç büyütülür. Bu eşeysiz üreme operasyonu tipik olarak az kullanılan bir

operasyondur. Az kullanılmakla ifade edilmek istenen yüzde %1 - %5 değerleridir [75].

2.4.2.3.4. Çaprazlama Operasyonu

Çaprazlama eşeyli bir üreme operasyonudur, iki ebeveyn program uygunluklarına bağlı

olasılıklara göre popülasyondan seçilir. Çaprazlamaya katılan iki ebeveyn genelde farklı

boyut ve şekildedir. Her iki ebeveyn program için birer çaprazlama noktası rasgele

belirlenir. Her iki çaprazlama noktasından devam eden dallanmalar yer değiştirilir.

Çaprazlama baskın bir operasyondur. Genetik programlamada %85-90 gibi yüksek

olasılıklarda gerçekleştirilir. Örnek olarak iki ebeveyn birey program şekil 2.11.’de

gösterilmiştir[75];

Bu iki ebeveyn birey programın her biri için rasgele belirlenecek olan çaprazlama

noktalarının belirlenmesinden sonra takas edilecek alt ağaçlar şekil 2.12.’de

gösterilmiştir;

52

Şekil 2.11. Çaprazlanacak Bireyler

Şekil 2.12. Takas Edilecek Alt Ağaçlar

Alt ağaçların takas edilmesi sonucu oluşan yeni birey programlar şekil 2.13.’te

gösterilmiştir;

Şekil 2.13. Çaprazlama Sonrası Yeni Bireyler

53

Eğer çaprazlama noktası olarak birey programın kök düğümü belirlenmiş ise bütün ağaç

diğer birey programın belirlenmiş çaprazlama noktasının devamına eklenir. İkinci birey

programdan ayrılan alt ağaç başlı başına yeni birey program olarak atanır. Eğer

çaprazlama noktası olarak her iki birey programın kök düğümleri belirlenmiş ise birey

programlar aynen kendileri olarak yeni popülasyona aktarılır. Eğer bir birey program

kendisiyle çaprazlanırsa, çaprazlama noktaları farklı olmak koşuluyla ebeveyn bireyden

farklı iki yeni birey program meydana gelir. Eğer çaprazlama noktası olarak bir terminal

belirlenmiş ve ikinci birey program çaprazlama operasyonunda bir alt ağaç takas edecek

ise çaprazlamadan sonra birinci birey program derinliği artmış yeni bireye dönüşür,

ikinci program ise derinliği azalmış yeni bir birey program olarak yeni popülasyona

aktarılır [72].

2.4.2.3.5. Çoğalma Operasyonu

Çoğalma operasyonu uygunluk değerine bağlı bir olasılıkla seçilen tekil bir birey

programı yeni popülasyona kopyalar [75]. Genetik programlamanın uygunluk orantılı

çoğalma operasyonu ‘uygun olan hayatta kalır’ prensibinin temel motorudur. Her

gerçekleşen operasyonda sadece bir ebeveyn ile çalışır ve sadece bir yeni birey

oluşturur. Bu eşeysiz bir operatördür. Eğer f(sj(t)) bireyin t. nesildeki uygunluğu ise, bu

operasyon her gerçekleştiğinde her bir birey programın seçilme ihtimali

∑=

M

jj

j

tsf

tsf

1

))((

))(( (2)

formülü ile hesaplanır [72].

2.4.2.3.5. Mimari Değişim Operasyonu

Basit bilgisayar programları tek ana program içerir. Ancak, daha karmaşık programlar

alt rutinler, iterasyonlar , kendinden yinelemeler, döngüler ve çeşitli boyut ve

büyüklüklerde depolama içerebilir. Eğer kullanıcı bir mühendislik problemi çözmeye

çalışıyorsa, popülasyondaki bütün programlar için akılcı bir mimari ayarlama yapması

gerekecektir. Genetik programlama daha sonra kati adımları gerçekleştirerek

evrimleştirebilir. Ancak bazı durumlarda çözümün boyutu ve şekli asıl problemi ve

zorluğu teşkil etmektedir. Genetik programlama çalışma süresince mimari kararları

54

dinamik olarak verebilme kabiliyetindedir. Genetik programlama mimari değişim

operasyonlarını doğadaki gen silimi ve gen kopyalamasını benzeterek program

mimarisini otomatik olarak belirlemek için kullanır. Bu operasyonlar genetik

programlamanın çalıştığı esnada birey programa alt rutin ve diğer tiplerde dallar ekleme

ve silme, alt rutinlerin ve diğer tiplerdeki dalların sahip olduğu argümanları ekleme ve

silme için bir yol sağlar. Bu operasyonlar hızlı bir şekilde popülasyondaki mimari

çeşitliliğini artırır. Mimarileri uygun programlar ile rekabetçi evrimsel süreçler ortaya

çıkacaktır. Yetersiz mimariye sahip birey programlar ise seleksiyon baskısı altında yok

olacaklardır. Böylece, bu operasyonlar kullanıcı tarafından mimari belirleme yükünü

azaltacaktır. Birkaç farklı mimari değişim operasyonu bulunmaktadır. Bu operasyonlar

%0,5-1 gibi çok düşük olasılıklarda gerçekleştirilen operasyonlardır. Alt rutin

kopyalama operasyonu birey programda zaten var olan alt rutini kopyalar ve daha

önceden mevcut olan çağrımları rasgele olarak iki alt rutin arasında böler. Bu

operasyon, program mimarisini genel programın hiyerarşisini genişleterek değiştirir.

Doğada gen kopyalamada olduğu gibi bu operasyon anlamı ilk oluştuğunda muhafaza

eder. Bu iki alt rutin sonradan farklılaşacaktır. Argüman kopyalama operasyonunda ise

alt rutinin bir argümanı kopyalanır, içsel referansları rasgele olarak paylaştırır ve genel

programın anlamını programın bütününde muhafaza eder. Bu operasyon alt rutinin

çalıştığı alt uzayın boyutunu genişletir. Alt rutin silme operasyonu birey programın

mimari hiyerarşisini daraltmak ve küçültmek için kullanılır. Argüman silme operasyonu

alt rutindeki mevcut bilgi miktarını azaltmak için kullanılmaktadır [75].

2.4.3. Doğrusal Genetik Programlama

Programların kodlama yapısındaki değişikliğe istinaden “doğrusal” olarak

adlandırılmıştır. Genetik programın doğrusal olması, sadece doğrusal olarak ayrılabilen

problemlerle sınırlanarak kullanılacağı anlamına da gelmez. Genetik programlama

doğrusallıktan dolayı fonksiyonellikten hiçbir şey kaybetmez. Aksine doğrusal yapıdan

programın çalıştırılabilir halde gösterilmesi ve üretilen programın geçerliliğinin tespiti

daha az maliyetli olacaktır.

Ağaç yapılı genetik programlama ile doğrusal genetik programlamayı temelde

birbirinden ayıran iki ana farklılık vardır. Birincisi; doğrusal genetik programlama

genler içerisinde muhafaza edilen yapıların tekrarlı kullanımını sağlayan bir veri akışına

55

sahiptir. Fonksiyonel seviyede çalıştırılabilir program kodu bu özel yapıların

referanslarından oluşan gösterimdir. Alışılagelmiş genetik programlama ise

programların veri akışını ağaç yapısı ile sağlamaktadır. İkincisi ise, etkisiz kod

parçalarının tamamının kolaylıkla saptanabilmesi, hatta bazı genetik programlama

yaklaşımlarında etkisiz kod bloklarının varolmamasıdır. Ağaç yapılı bir programda

bütün program bileşenlerinin kök düğüme bağlı olmasından dolayı etkisiz kod parçaları

programın anlamı göz önünde bulundurularak saptanabilmektedir [76].

Doğrusal genetik programlama yaklaşımlarından GEP ve MEP bölüm içerisinde

açıklanmıştır.

2.4.3.1. GEP

GEP, 1999 yılında Ferreira tarafından keşfedilmiştir. Genetik algoritma ve genetik

programlamanın doğal gelişimidir. GEP genetik programlamada kullanılan şekil

gösterim tiplerinin aynısını kullanır ama GEP tarafından üretilen kodlama genotip

ifadesidir. Bundan dolayı, GEP ile ikinci evrimsel basamak olan fenotip basamağı

atlanarak, evrimsel programlamaya yeni ve etkili bir çözüm sağlanmış olur. Böylece,

GEP kavramı her hangi bir ağaç yapısını ifade etmeye müsait kromozomları keşfetmeyi

oluşturmuştur. Bunun için Ferreira tarafından yeni bir dil olan Karva, GEP

kromozomlarından bilgi okumak ve yazmak için geliştirilmiştir. Ayrıca, kromozom

yapıları her biri bir alt ifade ağacı kodlaması olan çoklu gen oluşturmaya izin veren bir

yapıdır. Genler baş ve kuyruk yapısı şeklinde organize edilmiştir. GEP genleri

kromozomların nasıl değiştirildiğine bakılmaksızın yapısal ve fonksiyonel olarak her

koşulda geçerli bir program oluşturulmasını garantiler [77].

GEP bireylerinin fenotipi genetik programlamada kullanılan dallanma gösteren yapının

benzer bir şeklini içerir. Ancak, bu kompleks yapılar sabit uzunluktaki doğrusal yapı ile

daha basit bir şekilde kodlanır. Böylece GEP iki ana oyuncu ile ilgilenir; kromozomlar

ve dallanma gösteren yapılar veya kural ağaçları. Genetik kod çok basit durumdadır:

kromozom sembolleri ve ifade ettikleri terminal veya fonksiyonlar arasında bire bir

ilişki şeklindedir. Kurallar da oldukça basittir: kural ağacını içindeki fonksiyon ve

terminallerin uzaysal organizasyonlarını ve çoklu gen sistemlerindeki alt kural ağaçları

arasındaki etkileşim tipini belirler [61].

56

2.4.3.1.1. GEP Akış Diyagramı

Süreç başlangıç popülasyonunun bireylerinin her birinin kromozom yapılarının rasgele

üretilmesi ile başlar. Sonra kromozomlar ifadelere çevrilerek her bireyin uygunluğu

değerlendirilir. Bireyler uygunluk değeri göz önünde bulundurularak seçilir ve

modifikasyonlar ile farklı karakter ve davranışlarda çocuklar meydana getirirler. Yeni

neslin bireyleri de aynı gelişim süreçlerine yani; genom ifadesi, seçim mekanizmasında

seçilme, üreme ve değişime tabi tutulur. Süreç belirli bir nesil sayısına veya çözüm

bulma koşulunun sağlanmasına kadar devam eder. Şekil 2.14.’te akış gösterilmiştir [78];

Şekil 2.14. GEP Akış Diyagramı

YENİ POPULASYONUN HAZIRLANMASI

BAŞLANGIÇ POPÜLASYONU

UYGUNLUK HESAPLAMASI

REPLİKASYON

DOĞAL SEÇİM MEKANİZMASI

MUTASYON

IS SIRA DEĞİŞİMİ

RIS SIRA DEĞİŞİMİ

GEN SIRA DEĞİŞİMİ

DUR ?

KROMOZOM İFADELERİ

PROGRAM ÇALIŞMALARI

ELİT BİREY SEÇİMİ

TEK NOKTALI ÇAPRAZLAMA

İKİ NOKTALI ÇAPRAZLAMA

57

Belirtilmelidir ki; üreme mekanizması replikasyon operasyonunun yanında genetik

çeşitliliği sağlayan genetik operasyonları da barındırır. Replikasyon sürecinde, seçilen

birey tam anlamıyla kopyalanır ve yeni nesle iletilir. Replikasyonun yalnız başına

çeşitliliği sağlamasının mümkün olmadığı açıkça görülmektedir. Kalan diğer operatörler

popülasyonun genetik çeşitliliğini artıran operatörlerdir. Bu operatörler değişime

uğrayacak kromozomu uygunluk değeri temel alınarak rasgele seçerler. Böylece GEP

içinde, bir kromozom tek bir operatörle veya aynı zamanda birkaç operatörle birden

değişime uğrayabilir veya hiçbir operatörle değişmeden yeni nesle aktarılır [78].

2.4.3.1.2. GEP Gen Yapısı

GEP uygulamalarında genom ya da kromozom, bir ya da daha fazla genden oluşan,

doğrusal, sembolik sabit uzunluklu dizileri içerir. Sabit uzunluklarına rağmen GEP

kromozomları farklı boyut ve şekillerdeki kural ağaçlarını kodlayabilir [77].

2.4.3.1.2.1 Açık Okuma Çatısı ve Genler

GEP genlerinin yapısal organizasyonu açık okuma çatıları (ORF) ile daha iyi

anlaşılabilir. Biyolojide, açık okuma çatısı veya genin kodlama sırası ‘başlangıç’

kodonu ile başlar, diğer amino asit kodonları ile devam eder ve bitim kodonu ile

sonlanır. Ancak, bir gen kendi açık okuma çatısından fazla olarak baş tarafında

başlangıç kodonu ve bitişinde de bitim kodonuna sahiptir. GEP kromozomunda da

başlangıç bölgesi ilk konumdaki gen olmasına rağmen, bitim noktası her zaman son

konumdaki genle çakışmayabilir. GEP genlerinde bitim noktası bölgesinin

kodlanmamış olması çok rastlanan bir durumdur. Örnek olarak

edc

ba−+

. (3)

denklemini düşünelim. Bu denklem Şekil 2.15.’teki gibi gösterilebilir [77];

58

Şekil 2.15. edc

ba−+

. Denkleminin Gösterimi

‘Q’ sembolü karekök fonksiyonunu temsil etmektedir. Bu çeşit gösterimler aslında GEP

kromozomunun fenotip karşılığıdır. Aşağıdaki genotip kolaylıkla çıkarıma tabi tutulup

bu fenotip elde edilebilir[77];

Bu ifade şekli bu yazım kural ağacının soldan sağa ve yukarıdan aşağıya doğrusal

yazımıdır. Bu yazım ‘+’ (0. pozisyon) ile başlayan ve ‘e’ (9. pozisyon) ile biten bir açık

okuma çatısıdır [77].

2.4.3.1.2.2 GEP Genleri

GEP genleri bir baş ve bir kuyruktan meydana gelir. Baş kısmı hem fonksiyon hem de

terminal sembollerini içerirken kuyruk kısmı sadece terminalleri içerir. Her problem

için baş kısmının uzunluğu h seçilir. Kuyruk uzunluğu t ise h’nin ve diğer

fonksiyonlardan daha fazla argümana sahip olan fonksiyonun argüman sayısı olan

n’nin bir fonksiyonudur. t şu şekilde hesaplanır; t=h(n-1)+1. F={Q,*,/,-,+}

fonksiyonları ve T={a,b} terminallerinden oluşmuş bir gen düşünelim. Bu durumda

n=2, h ise 15 olarak seçildiği takdirde t=16 değerini alır. Böylece g geninin uzunluğu

15+16=31 olur. Bu uzunluktaki bir örnek şu şekilde olabilir; (kuyruk kısmı kalın harfler

ile gösterilmiştir.)

59

Bu kromozom şekil 2.16’da kural ağacı kodlanmış şekilde görülmektedir;

Şekil 2.16. Kromozomun Ağaç Yapısında Gösterimi

Bu durumda açık okuma çatısı 7. pozisyonda sona erdiği halde gene 30. pozisyonda

sonlanmaktadır. Eğer ikinci pozisyondaki değerin ‘Q’ yerine ‘+’ olduğu varsayılırsa

aşağıdaki gen elde edilir;

ve Şekil 2.17.’deki ifadeyi verir.

Bu durumda bitim noktası 10 pozisyon sağa kayarak 17. pozisyon olur.

Anlaşılacağı üzere sabit uzunluğuna rağmen, her gen farklı boyut ve şekillerde kural

ağacı oluşturma potansiyeline sahiptir. Değişimler nasıl olursa olsun her zaman doğru

yapıda kural ağacı oluşmaktadır. Tek dikkat edilmesi gereken baş ve kuyruk sınırlarına

dikkat ederek, genin yapısal organizasyonunu bozmamaktır [77].

60

Şekil 2.17. Kromozomun Ağaç Yapısında Gösterimi

2.4.3.1.2.3 Çoklu Gen Kromozomları

GEP kromozomları genellikle eşit uzunluktaki birden fazla olan genler ile birleştirilir.

Her bir problem için gen sayıları baş kısmının uzunluğu gibi daha önceden belirlenir.

Her gen alt ağacın kodlanmış şeklidir ve her bir alt ağaç daha karmaşık bir yapı bileşeni

oluşturan kromozomdaki başka diğer alt birimler ile etkileşim halinde olur [77].

2.4.3.1.3. Seçim ve Replikasyon

Uygunluk değeri ve seçim mekanizmasındaki şanslarına bağlı olarak birey programlar

seçilir ve replikasyona tabi tutulurlar. Çok önemli bir operatör olmasına karşın

replikasyonun çok karmaşık bir yapısı yoktur. Replikasyon süresince kromozomlar yeni

61

nesil popülasyonuna birebir kopyalanırlar. Daha uygun birey programın yeni nesil

popülasyonda sayıca fazla bulunma ihtimali daha yüksektir [77].

2.4.3.1.4. Mutasyon

Mutasyon kromozomun herhangi bir yerinde meydana gelebilir. Ancak, kromozomun

yapısal organizasyonunu operasyon sonunda bozulmamış olarak bırakmalıdır. Baş

kısımlarında herhangi sembol herhangi bir fonksiyon veya terminale çevrilebilir, kuyruk

kısımlarındaki terminaller ise sadece terminaller ile yer değişebilir. Bu yolla,

kromozomun yapısal organizasyonu devam ettirilmiş olur ve mutasyon yolu ile

meydana gelmiş yeni birey programlar yapısal olarak doğru programlar olurlar [77].

Mutasyon oranı Pm değeri problemden probleme farklılık gösterebilir. Örnek olarak,

kromozomunda gen 0’da dördüncü pozisyondaki ‘*’ değeri yerine ‘/’, gen1’de pozisyon

0’da bulunan ‘-’ yerine ‘Q’, gen2’de ikinci pozisyondaki ‘a’ yerine ‘+’ gelmiştir. Sonuç

olarak;

kromozomu mutasyon sonucu ortaya çıkan doğru yapıdaki yeni bireyi temsil eder.

Eğer bir fonksiyon mutasyon sonucu bir terminale dönüşürse veya tek argümanlı bir

fonksiyon mutasyon sonucu iki argümanlı bir fonksiyona dönüşürse kural ağacı çok

güçlü bir değişime uğramış olarak görülür. GEP mutasyon operasyonlarında ne

mutasyon tipinde ne de mutasyon sayısında bir kısıtlama yoktur. Her koşulda söz

dizimsel olarak doğru yeni bir birey program ortaya çıkar [77].

62

2.4.3.1.5. Sıra Değişimi ve Sıralı Elemanların Eklenmesi

GEP tekniğinde sırası değiştirilebilir elemanlar; faaliyete geçirilip kromozomda başka

bir yere atlatılabilen parçalardır. GEP tekniğinde kullanılan sıra değişimi operasyonları

şunlardır [77];

Gövde Sıra Değişimi:

Genomdaki herhangi bir sıra değişim elemanı haline gelebilir. Bu elemanlar rasgele

kromozom dışına seçilirler. Seçilmiş parçanın bir kopyası baş kısımda ilk pozisyon

hariç her hangi bir yere eklenir. Tipik olarak, sıra değişimi oranı PIS 0,1 olarak

belirlenebilir. Sıra değişimi operatörü kromozomu, değişim elemanının başlama yerini,

hedef bölgeyi ve sıra değişiminin uzunluğunu rasgele seçer. Aşağıda ikili kromozom

üzerinde örnek verilmiştir;

‘a+Q’ parçasının rasgele değişim elemanı olarak seçildiği ve ikinci gendeki iki ve

üçüncü pozisyonları arasına ekleneceği varsayıldığında;

kromozomu elde edilir. Dikkat edilmesi gereken durum; baş kısmına eklenen parça

sayısı kadar sembolün baş kısmının sonundan silinmesidir. Böylece ekleme

operasyonuna rağmen kromozomun yapısal organizasyonu devam ettirilmiş olur.

Kök Sıra Değişimi :

Bütün kök değişim elemanları bir fonksiyon ile başlar. Böylece kromozomların baş

kısımlarından seçilmeleri garantilenir. Rasgele bir sayı seçilir ve kromozom aşağı doğru

bir fonksiyon bulana kadar taranır. Bulunan fonksiyon kök değişim elemanının

başlangıç kısmı olur. Eğer bir fonksiyon bulunamaz ise operatör boş döner.

63

Tipik olarak, kök sıra değişimi oranı PRIS için 0.1 değeri seçilir. Bu operatör bir

kromozomu, değişime uğrayacak bir geni, kök değişim elemanının başlangıcını ve

uzunluğunu rasgele seçer. Aşağıda ikili kromozom üzerinde örnek verilmiştir;

‘Q/+’ rasgele kök değişim elemanı olarak seçilmiş varsayıldığında;

kromozomu elde edilir. Bütün baş kısmı kök değişim elemanına yer sağlamak için

kaydırılır ve eklenen sembol sayısı kadar sondan sembol silinerek kromozomun yapısal

organizasyonu sağlanmış olur.

Gen Sıra Değişimi :

Gen sıra değişiminde eklenecek parça diğer sıra değişim formlarından farklı şekilde, asıl

konumundan silinerek kromozomun en başına eklenir. Gen sıra değişimi kromozomdaki

gen sırasını değiştirmekten başka bir durum içermez. Kısa süreli çalışmalarda

performans geliştiren bir durum ortaya çıkmaz. Ancak, gen değişimi diğer operatörler

ile eşleştiğinde çok önemli etkiler yapabilir. Gen değişimine tabi tutulacak kromozom

ve genlerinden herhangi biri rasgele değişim için seçilir. Aşağıda üçlü gene sahip

kromozom üzerinde örnek verilmiştir;

Üçüncü genin değişim için rasgele seçildiği varsayıldığında;

kromozomu elde edilir.

64

2.4.3.1.6. Çaprazlama

Bütün çaprazlama tiplerinde iki kromozom rasgele seçilir ve iki yeni birey program elde

etmek amacıyla, aralarında bazı materyaller takas etmek için eşleştirilir. Genellikle yeni

bireyler hem birbirlerinden hem de ebeveyn bireylerden farklıdırlar. Genel kullanıma

sahip çaprazlama çeşitleri aşağıda açıklanmaktadır [77];

Tek Noktalı Çaprazlama :

Kromozomlar eşleştirilir ve rasgele belirlenen aynı noktalardan bölünürler. Bölüm

noktasından sonraki parçalar iki kromozom arasında takas edilir. Örnek olarak;

birinci gendeki 6. aralığın rasgele değişim noktası olarak belirlendiği varsayıldığında;

kromozomu elde edilir. Çoğunlukla bu tür çaprazlama operasyonlarında oluşan bireyler

ebeveynlerinden oldukça farklı yapılara sahip olurlar. Yukarıda gösterildiği gibi tek

noktalı çaprazlama mutasyon işleminden sonra genetik çeşitlilik için çok önemli bir

kaynaktır. Genelde kullanılan çaprazlama oranı Pc, toplamda (kullanılan bütün

çaprazlama tiplerinin oranları toplamı) 0.7 değerine ulaşır.

İki Noktalı Çaprazlama :

Kromozomlar eşleştirildikten sonra, rasgele 2 nokta çaprazlama noktaları olarak

belirlenir. Her iki kromozomda bu iki çaprazlama noktası arasında kalan materyal takas

edilir. Örnek olarak;

65

birinci genin 5. aralığı birinci çaprazlama noktası ve ikinci genin 7. aralığı ikinci

çaprazlama noktası olarak rasgele belirlenmiş olduğunda;

kromozomu elde edilir. GEP kromozomlarında kodlanmayan bölgeler çaprazlamaya

uğratılacak ideal yerlerdir.

2.4.3.2. Çoklu Denklem Programlama

Bu çalışmada çoklu denklem programlama (MEP) tekniği olarak bilinen genetik

programlama tabanlı yeni bir teknik bir takım değişiklikler yapılarak sınıflandırma

kurallarının tahmini için bir veri madenciliği aracına dönüştürülmüştür.

MEP Evrimsel programlamada nispeten yeni bir tekniktir. Tez çalışmasına temel

oluşturması amacıyla orginal MEP algoritması açıklanacaktır.

İlk olarak 2002 yılında Oltean ve Dumitrescu tarafından tanıtılmıştır. MEP doğrusal

kromozom yapısı kullanır ve farklı boyutlara sahip çoklu mantıksal ifadeler, farklı

mantıksal kuralların gösteriminde kullanılır. MEP ifadelerin kodlanması ve kurulumu

esnek ve verimli bir biçimde yapılır [48].

Çoklu denklem programlama, genetik programlamanın, kromozomların doğrusal

gösteriminin kullanıldığı değişik bir şeklidir. MEP bireyleri karmaşık bilgisayar

programlarının kodlandığı gen dizileridir. MEP bireylerine kuralların kodlanması, C

veya Pascal ifadelerini makine diline çeviren derleyicilerin kullandığı yola benzer bir

şekilde yapılır. MEP yapısının benzersiz olan özelliği tek bir kromozom içinde bir

problemin çoklu çözümlerini bulundurmasıdır. Genellikle, en iyi çözüm uygunluk

operasyonlarına tabi tutulur. Sembolik regresyon veya sınıflandırma problemleri

çözülürken, MEP kromozomda tek çözüm bulunduran GP,GEP gibi teknikler ile aynı

karmaşıklıktaki yapıları saklayabilmektedir. MEP bireyine kodlanan kuralın

değerlendirmesi tekil bir çevrim işlemi ile gerçekleştirilebilmektedir. Yeni birey

çaprazlama ve mutasyon operatörleri ile elde edilir ve bu bireyler her zaman doğru söz

66

dizimine sahip olurlar. Böylece elde edilen bireyleri tamir etmek için ek bir çabaya

gerek kalmaz [79].

2.4.3.2.1. MEP Gösterimi

MEP genleri değişken uzunluğa sahip alt diziler ile gösterilir. Kromozomdaki gen sayısı

sabittir ve bu sayı kromozom uzunluğunu belirler. Her gen terminal veya fonksiyon

sembolü içerir. Bir fonksiyonun kodlanması fonksiyon argümanlarına referans içerir.

Fonksiyon argümanları her zaman kromozomdaki kendi pozisyon indisinden küçük

değerler içermektedir.

Bu gösterim C ve Pascal derleyicilerinin matematiksel ifadeleri makine diline

çevirmekte kullandıkları mantığa çok benzemektedir.

MEP gösterimi kısır döngü oluşumuna müsaade etmez. Gösterim şemasına göre

kromozomun ilk sembolü terminal sembolü olmak zorundadır. Bu durum MEP bireyleri

için yapılabilecek tek kısıt veya düzeltmedir [80].

Örnek olarak, soldaki sayıların gen etiketlerini gösterdiği bir gösterim düşünelim.

Etiketler kromozoma dahil olmayıp sadece anlatıma yardımcı olması için

kullanılmaktadır. Örnek için F = {+,*} fonksiyonları ve T = {a,b,c,d} terminalleri

kullanılacaktır. C kromozomunun F ve T kümeleri kullanılarak şu şekilde oluşturulduğu

varsayılmıştır;

1: a

2: b

3: + 1,2

4: c

5: d

6: + 4,5

7: * 3,5

8: * 2,6

MEP kromozomları baştan aşağı biçimde okunan bir yapıda inşa edilmiştir. Bir terminal

sembolü basit bir ifade muhafaza eder. Bir fonksiyon sembolü ise mevcut fonksiyonun

67

ihtiyaç duyduğu argümanların gen pozisyonlarını içeren bağlantılar ile daha karmaşık

bir yapıdadır [80].

Örnek olarak yukarıdaki kromozomda 1,2,4 ve 5. pozisyondaki genler tekil terminal

sembolleri ile oluşturulmuş basit ifadelerdir. Bu ifadeler sırası ile a, b, c, d olacaktır. 3.

pozisyondaki gen ise + operasyonunu 1. ve 2. pozisyondaki genleri argüman olarak

kabul edip a+b ifadesini ortaya çıkaracaktır. 6. pozisyondaki gen; c+d, 7. pozisyondaki

gen; (a+b)*d, 8. pozisyondaki gen ise; b*(c+d) olacaktır.

Kromozomu temsil edecek bir ifade genler arasından seçilmelidir. Teorikte veya

pratikte bu ifadelerin herhangi birinin diğerine üstün olduğunu gösterecek bir kanıt

olmadığı için bu çoklu ifadeleri tek bir kromozom içinde muhafaza etme stratejisi

seçilmiştir. Her MEP kromozomu kromozom uzunluğu kadar ifadeyi kodlanmış şekilde

bünyesinde bulundurur. Her pozisyondaki ifade aşağıdan yukarıya doğru fonksiyon

referans pozisyonları takip edilerek ortaya çıkartılır. Problem için en uygun olan ifade

kromozomu temsil etmektedir.

MEP kromozomundaki en fazla sembol sayısı; 1)1_(*)1( +−+ SayisiGenn formülü ile

belirlenir. Bu formülde n; en fazla sayıda argümana sahip fonksiyonun argüman

sayısıdır. En fazla sayıda etkili sembol sayısına, ilk pozisyondaki gen hariç olmak üzere

bütün genlerin en fazla sayıda argüman içeren fonksiyon ile kodlanması koşulu ile

erişilebilir. En az sayıdaki etkili sembol sayısı ise bütün genlerin terminaller ile

kodlandığı durumdaki gen sayısıdır [79].

Her bir genin ayrı bir kural ağacını temsil ettiği bu kromozomun muhafaza ettiği

kurallar şekil 2.18.’de görülmektedir;

68

Şekil 2.18. MEP Kromozomunun İhtiva Ettiği Kurallar

2.4.3.2.2. MEP Gösterimi ile GP ve GEP Gösterimi Karşılaştırması

Genelde GP kromozomlara tekil ifadeler kodlanır. Bu durum GEP için de geçerlidir.

Bunun tersine, MEP kromozomları bir kaç ifadeyi birden muhafaza edebilmektedirler.

Kodlanan ifadelerden herhangi biri kromozomu temsil etmek için seçilebilir.

MEP ile GEP arasındaki farklılıklar aşağıda sıralanmıştır:

- GEP kromozomunda ifade oluşturulurken ortaya çıkan argüman referansları MEP

kromozomunda açıkça kodlanmıştır. MEP ayrıca fonksiyon argümanlarının

referanslarını da evrimleştirmektedir.

- MEP gösterimi kodların tekrar kullanımı için uygun bir mimari sağlamakta iken GEP

gösterimi bundan yoksundur.

- Kodlanmayan bölgeler devamlı surette GEP kromozomlarının sonlarında bulunmasına

rağmen MEP kromozomlarında kodlanmayan bölgeler herhangi bir yerde

oluşabilmektedir.

Görüldüğü üzere, ifadelerin etkili uzunluğu MEP kromozomunun uzunluğu arttığında

üssel olarak artmaktadır. Bunun sebebi, bazı alt ifadeler daha karmaşık ifadeler

oluşturabilmek için belki de birden fazla kere kural içerisinde kullanılmıştır. Örnek

olarak, a2n ifadesinin oluşmasını istediğimiz bir problemimiz olduğu ve {+,-,*,/}

69

operatörlerinin kullanılacağı düşünülmüştür. GEP kromozom gösterim şekli

kullanıldığında, kromozom en az (2n+1+1) sembol ve (2n-1) fonksiyon içermek

zorundadır. Bir GEP kromozomunun a8 ifadesini içerebilmesi için;

C= *******aaaaaaaa yapısında olmalıdır.

Bir MEP kromozomu a2n ifadesini oluşturmak için sadece (3n+1) sembole ihtiyaç

duyar. A8 ifadesinin MEP kromozom karşılığı ise;

1: a

2: * 1,1

3: * 2,2

4: * 3,3

yapısındadır.

n=20 olduğu durumda GEP kromozomunun 2097151 sembole ihtiyaç duyarken MEP

kromozomu sadece 61 sembole ihtiyaç duymaktadır.

2.4.3.2.3. MEP Çaprazlama

Çaprazlama operasyonundaki temel mantıkta hiçbir değişiklik yoktur. Seçilen iki birey

gen takası ile yeni iki bireye dönüşür. MEP kromozomlarında uygulanan çaprazlama

çeşitleri aşağıdadır;

Tek Noktalı Çaprazlama :

Rasgele belirlenen çaprazlama noktasından itibaren bütün genler eşlenen birey ile takas

edilir. Örnek olarak; çaprazlama noktası olarak 3. pozisyonun seçildiği bir çaprazlama

operasyonunun sonucu şekil 2.19.’da gösterilmiştir.

70

Şekil 2.19. MEP Tek Noktalı Çaprazlama

İki Noktalı Çaprazlama :

Rasgele belirlenen ilk çaprazlama noktasından itibaren belirlenen ikinci çaprazlama

noktasına bütün genler eşlenen birey ile takas edilir. Örnek olarak; çaprazlama

noktaları olarak 2 ve 5. pozisyonların seçildiği bir çaprazlama operasyonunun sonucu

şekil 2.20.’de gösterilmiştir.

Şekil 2.20. MEP İki Noktalı Çaprazlama

Düzgün Çaprazlama :

Düzgün çaprazlama süresince çocuk bireylerin aynı pozisyondaki genleri rasgele olarak

ya ilk ebeveynden ya da ikinci ebeveynden alınır. Örnek olarak; bir çaprazlama

operasyonunun sonucu şekil 2.21.’de gösterilmiştir.

71

Şekil 2.21. MEP Düzgün Çaprazlama

2.4.3.2.4. MEP Mutasyon

Kromozomdaki her sembol (terminal, fonksiyon göstericilerin fonksiyonları) mutasyon

operatörünün hedefi olabilir. Kararlılığın sağlanması için ilk pozisyondaki gen

mutasyon operasyonuna sokulmaz. Çaprazlama operatörünün kromozomlar arasında,

mutasyon operatörünün ise genler arasında meydana geldiği söylenebilir.

Eğer mevcut gen bir terminal sembolü ise, başka bir terminal sembolüne veya bir

fonksiyon sembolüne dönüşebilir. Fonksiyona dönüşüm gerçekleşirse daha sonra

fonksiyon argümanlarının referansları rasgele üretilir. Eğer mevcut gen bir fonksiyon

ise, başka bir fonksiyona veya bir terminale dönüşebilir.

Örnek olarak; 3. ve 6. pozisyonu mutasyona uğratılacak kromozomun ilk ve son

durumu şekil 2.22.’de gösterilmiştir.

Şekil 2.22. MEP Mutasyon

72

2.4.3.2.5. Uygunluk Hesaplama Süreci

MEP kodlama süreci her kromozom için bir kromozom okuyan diğer GP tekniklerinden

daha karmaşık değildir. Çünkü, MEP kromozomları uygunluk hesabı için bir kere

okunmak zorundadır. MEP ile diğer GP tekniklerinin uygunluk hesaplama süreleri aynı

maliyettedir.

2.4.3.2.6. MEP Algoritması

Standart MEP algoritması sürekli durum evrimsel modeli kullanır. MEP algoritması

aşağıdaki adımları içerir;

1. Başlangıç popülasyonunu P(0) rasgele oluştur.

2. for( t = 1; Nesil Sayısı; t++ )

3. for( k = 1; |P(t)|/2 ;k++ ) {

4. p1 = Seç(P(t)); // mevcut popülasyondan bir birey seç

5. p2 = Seç(P(t)); // mevcut popülasyondan ikinci bireyi seç

6. Çaprazla(p1, p2, o1, o2 ); // ebeveynleri çaprazla yeni bireyleri elde et

7. Mutasyon(o1); // birinci yeni bireyi mutasyona uğrat

8. Mutasyon(o2); // ikinci yeni bireyi mutasyona uğrat

9. if ( Uygunluk(o1) < Uygunluk(o2) )

10. if( Uygunluk(o1) < Popülasyondaki en kötü birey )

11. En kötü bireyi o1 ile yer değiştir;

12. else if( Uygunluk(o2) < Popülasyondaki en kötü birey )

13. En kötü bireyi o2 ile yer değiştir;

14. }

2.5. Veri Madenciliği ve İlişkisel Veritabanları

İstatistik ve makine öğrenme temelli veri madenciliği teknikleri, veriyi analiz etme

kabiliyetini gözle görülür biçimde artırabilmektedir. Potansiyel etkinliğine rağmen,

geleneksel veritabanları sistemine entegre edilmediği taktirde etkin kullanılmayan bir

teknoloji olmaya mahkum olacaktır. Bunun için veri ambarlarında veri bütünlüğü ve

yönetimi ile ilgili güçlendirmeler yapılmaktadır.

73

Son on yılda, veri madenciliği algoritmalarının verimliliğini artırmada ilerlemeler

yapılmıştır. Ölçekleme konusunda veri madenciliği tekniklerinin bir çoğunda büyük

veri kümeleri ile çalışmada iş patlaması olmuştur. Örnek olarak; algoritmalar bütün

verinin hafızada mevcut olduğunu varsaymak yerine artık ‘diskten haberdar’ durumda

ve hafıza hiyerarşisinin farkında olarak çalışmaktadırlar. Çalışmanın bir başka yönü ise

bu algoritmaların geleneksel veritabanı uygulamalarıymış gibi kullanılmaları

yönündedir. Bu kullanımlar bu sayede algoritmaların sadece ‘diskten haberdar’ değil

aynı zamanda SQL’den haberdar olmasını da garantiler. Örnek olarak; Kullanımlar SQL

motoru ve API tarafından sağlanan fonksiyonelliğin avantajını almış olur [81].

Bu çalışmada algoritmanın etkinliğini ve ölçeklenebilirliğini sağlamak için Yapısal

Sorgulama Dili (SQL) kullanılmıştır. SQL ilişkisel veritabanları için güçlü bir araçtır ve

algoritmamızın performansını gözle görülür biçimde artırmıştır. Uygulama ile ilişkisel

veritabanı arasında bilgi alışverişini sağlamış ve uygunluk değerlendirme yükünü

uygulama yazılımı ile paralel çalışabilecek bir veritabanı sunucusuna aktarabilecek

esnekliği sunmuştur. SQL sayesinde veriye hiçbir doğrudan erişime gerek duymadan,

veritabanı yönetim sisteminden sadece çalışılan nesneler için SELECT yetkisi almak

uygulama için yeterli olmaktadır. Veritabanı sunucusuna gönderilen sorgular ile

uygunluk değerleri sonuç olarak alınabilmektedir. Veri kümelerinin güvenliği de bu

şekilde korunuş olmaktadır. SQL dilindeki standart komutlar sayesinde her hangi bir

veritabanına sürücülerine sahip olmak koşulu ile bağlanılabilmektedir. Bu çalışmada

yazılan veri madenciliği uygulaması ise Microsoft SQL Server ile çalışmak için

optimize edilmiştir. Veri madenciliği uygulaması ile ilgili detaylı bilgi ileriki

bölümlerde verilecektir.

3.BÖLÜM

YÖNTEM

Tez çalışmasında sınıflandırma alanında, ikili ya da çoklu sınıflandırma problemlerine

çözüm sunabilecek bir veri madenciliği uygulaması geliştirilmiştir. Bu uygulamanın

temelini genetik programlama tekniklerinden biri olan MEP oluşturmaktadır. Önerilen

yeni yaklaşımda Baykasoğlu ve Özbakır [48] tarafından geliştirilen, MEP tabanlı yeni

bir kromozom gösterim ve çözüm tekniği olan MEPAR-miner SQL cümlecikleri

türetmek için kullanılmıştır. Uygulamanın izlediği yol; rasgele olarak üretilen SQL

scriptlerinden oluşan başlangıç popülasyonunu, çeşitli genetik operasyonlara tabi

tutmaktır. Uygun olan hayatta kalır prensibi benimsendiği için, evrimleşen SQL

scriptleri, problemin çözümünü temsil eden veya çözümüne yakın programlar olarak

uygulamanın çıktılarını oluşturacaklardır.

3.1. MEPAR-SQL Algoritmasının Geliştirilmesi

MEP algoritmasının aslı uyarlanmış ve sınıflandırma kuralları çıkarmaya adapte

edilerek MEPAR-miner algoritması geliştirilmiştir [48]. MEPAR-miner algoritmasında

kullanılan kromozomlar SQL cümlecikleri muhafaza edecek şekilde uyarlanmış ve

algoritmanın MS SQL Server 2000 ile bağlantısı yapılandırılarak MEPAR-SQL

algoritması geliştirilmiştir. MEP kromozom gösterimi, fonksiyon ve terminal kümeleri

uyarlanmış ve mantıksal ifadeler üretmek için tekrar modellenmiştir. Bir mantıksal ifade

aynı zamanda bir sınıflandırma kuralını gösterir. Çoklu kurallar birbirleri ile birleşerek

n-li sınıflandırma için karar kuralları kümesi oluştururlar. Kural listelerinin ana yapısı

aşağıdaki gibidir;

IF kural1 THEN sınıf1

ELSE IF kural2 THEN sınıf2

75

ELSE sınıf varsayılan

Kural listesinin değerlendirilmesine en üstteki kuraldan başlanır ve varsayılan sınıfa

doğru, örnek karşılık gelen kuralla tam olarak uyuncaya kadar ilerletilir. Eğer örnek

kural listesindeki hiçbir kurala uymaz ise bu örnek varsayılan sınıfa atanır [48].

Mevcut uygulamada varsayılan sınıf öğrenme aşamasında varsayılan sınıfa en çok

örneği atanan sınıf olacaktır.

3.1.1. Fonksiyon ve Terminal Kümeleri

MEP algoritmasında, verilen bir sınıflandırma problemi için, fonksiyon ve terminal

kümelerinin tanımlanması gereklidir. Genetik programlamada ve orjinal MEP

algoritmasında, fonksiyon kümeleri genellikle matematiksel operatörleri içerir. Bu

çalışmada fonksiyon kümesi (F) mantıksal operatörleri içerecek şekilde tekrar

tanımlanmıştır. Terminal kümesi (T) ise mantıksal ifadelerdeki nitelik-değer ilişkilerine

göre modellenmiştir. Nitelik içeriği, ilişkisel operatörler (IO) ve niteliğe karşılık gelen

alandaki değerlerdir. İlişkisel operatörler niteliğin tipi (kategorik, sürekli) göz önünde

bulundurularak belirlenir [48].

xi i. nitelik, vi ise i. niteliğin alanı ve ilişkisel operatörü IO temsil ettiği varsayılırsa;

T = {x0 IO vx0, x1 IO vx1, … , xn IO vxn}, F = {AND, OR, NOT} şeklinde olacaktır.

Şekil 3.1.’de gösterildiği gibi, kromozomdaki her gen potansiyel olarak kural

listesindeki kurallardan birini oluşturmaya aday bir ifade barındırır. Kromozom içindeki

bu ifadelerden herhangi bir sınıf için en yüksek uygunluk değerini veren gen, o

kromozomun uygunluk değerini belirler. Bu kromozom aynı zamanda otomatik olarak

en iyi uygunluk değerini yakaladığı sınıf için kural listesinde bulunmaya aday bir birey

SQL cümleciği olarak atanır.

76

Şekil 3.1. MEP Kromozom Gösterimi

Örnek olarak; 7 . gen ile oluşturulan mantıksal ifade; (X1 >= 8 AND X2 = 1) OR (X0 <=

5 OR X2 =1)

ve uygunluk değerlendirme için veritabanına gönderilecek SQL cümleciği;

set quoted_identifier_off

select NİTELİKAMAÇ, COUNT(*) from VERI KÜMESİ

where (X1 >= 8 AND X2 = 1) OR (X0 <= 5 OR X2 =1)

group by NİTELİKAMAÇ all

set quoted_identifier_on

şeklinde oluşturulacaktır.

Mantıksal ifadelerin uygunluk değerleri kurulan SQL scriptler aracılığı ile veritabanı

yönetim sisteminden alınarak, evrim mekanizmasındaki operasyonların işleyişine

devam edilir. Kromozomdaki her bir gen her bir sınıf için uygunluk fonksiyonuna

sokularak en iyi uygunluk değerine sahip sınıf belirlenir. Eğer bu genin uygunluk değeri

şimdiye kadar bu sınıfı temsil eden en iyi uygunluğa sahip gen ise ifade kural listesine

temsil ettiği sınıfın kuralı olarak atanır. Daha sonra kromozomdaki en iyi uygunluk

değerine sahip genin temsil ettiği sınıf, kromozomun temsil ettiği sınıf olur. Kural

listesinde kural sırası uygunluk değerine göre azalan şekilde belirlenir.

Basitleştirilmiş MEPAR-SQL Algoritması Şekil 3.2.’de gösterilmiştir;

77

Şekil 3.2. Basitleştirilmiş MEPAR-SQL Algoritması

78

3.1.2. Başlangıç Popülasyonu

Kromozomlar iki ayrı mantıksal kısımdan oluşur. Birincisi, terminalleri temsil eden

genlerin bulunduğu kısımdır. Bu genlere “terminal gen” adı verilir. Terminal gen

nitelik adını, nitelik değerini ve ilişkisel operatörü saklayacak 3 bölüme sahip bir

yapıdır. İkincisi ise fonksiyonları temsil eden genlerin bulunduğu kısımdır. Bu genlere

“fonksiyon gen” adı verilir. Fonksiyon gen kullanılacak mantıksal fonksiyonu ve

fonksiyonun argümanlarını oluşturacak 2 genin referanslarını bulunduracak kısımlardan

oluşur. Her iki kısmın sayısı parametriktir ve kullanıcı tarafından belirlenir. Başlangıç

popülasyonu oluşturulurken terminal sayısı kadar terminal gen rasgele oluşturulur.

Terminal geni oluşturulurken aşağıdaki adımlar izlenir;

Adım1. Nitelik kümesinden rasgele bir nitelik seçilir, terminal genin nitelik adı kısmına

atanır.

Adım2. Seçilen niteliğin değer kümesinden rasgele bir değer seçilerek terminal genin

nitelik değerine atanır.

Adım3. Seçilen niteliğin tipine uygun olmak şartıyla rasgele bir ilişkisel operatör

seçilerek terminal genin ilişkisel operatör değerine atanır.

Fonksiyon geni oluşturulurken aşağıdaki adımlar izlenir;

Adım1. AND, OR mantıksal operatörlerden biri rasgele seçilir.

Adım2. Seçilen OR operatörü ise kendinden küçük indise sahip terminal veya fonksiyon

genlerinden herhangi iki rasgele genin referansları fonksiyon genin ilgili kısımlarına

atanır. Eğer AND operatörü seçilmiş ise ek olarak, ilk gen referansı seçildikten sonra

anlamsız kural türetmemek için ikinci genin niteliğinin ilk genin niteliği ile aynı olması

engellenir.

NOT operatörü terminal veya fonksiyon genlerinde kullanılabilecek şekilde modele

entegre edilmiştir. Herhangi bir gen %30 ihtimalle NOT ile ifade edilir.

3.1.3. Uygunluk Fonksiyonu

Bir kural öğrenme örneklerini sınıflandırmak için kullandığında dört kavramdan

bahsedilebilir; doğru pozitif, doğru negatif, yanlış pozitif, yanlış negatif. Doğru pozitif

79

ve doğru negatif kavramları yapılan doğru sınıflandırmalardır. Yanlış pozitif ve yanlış

negatif kavramları doğru olmayan sınıflandırmaları ifade eder.

Doğru pozitif (TP) : Kural, örneği sınıfa dahil olarak tahmin eder ve örnek gerçekte

de o sınıfa dahildir.

Doğru Negatif (TN) : Kural, örneğin sınıfa dahil olmadığını tahmin eder ve örnek

gerçekte de o sınıfa dahil değildir.

Yanlış Pozitif (FP) : Kural, örneği sınıfa dahil olarak tahmin eder ancak örnek

gerçekte o sınıfa dahil değildir.

Yanlış Negatif (FN) : Kural, örneğin sınıfa dahil olmadığını tahmin eder ancak örnek

gerçekte o sınıfa dahildir.

Korelasyon (c) uygunluk fonksiyonu olarak seçilmiştir [82].

)(*)(*)(*)(

**

fptpfntpfptnfntn

fpfntntpc

++++

−= (4)

Uygunluk fonksiyonu 0-1 aralığında değerler almaktadır. Kural tarafından bütün

örneklerin doğru sınıflandırıldığı durumda uygunluk fonksiyonu 1 değerini almaktadır.

3.1.4. Genetik Operatörler

Uygulamada çaprazlama ve mutasyon operatörleri kullanılmıştır. Her iki operatör de

kromozomların mimarisini muhafaza edecek şekilde kullanılmaktadırlar. Çaprazlama

operatörü çaprazlamaya uğratılacak her iki kromozomu aynı noktadan gen takası

yaparak operasyonu gerçekleştirmektedir. Böylece Terminal genleri ve fonksiyon

genleri arasındaki mantıksal bölümleme muhafaza edilmiş olmaktadır. Mutasyon

operatörü ise seçilen gen terminal gen ise mutasyon sonucu farklı nitelik- değer çifti

barındıran bir terminal geni oluşturmaktadır. Eğer seçilen gen fonksiyon geni ise aynı

şekilde mutasyon sonucu başka bir fonksiyon geni oluşturulmaktadır.

80

Seçim: Rulet çemberi seçim mekanizması kullanılarak bireyler seçilmektedir. Uygunluk

değeri büyük olan kromozom çark yüzeyinde daha büyük paya sahip olur, böylece

seçilme şansı daha yüksek hale gelir.

Çaprazlama: Popülasyondan rasgele seçilen iki birey kullanıcı tarafından belirlenen

çaprazlama oranı (Pc) ihtimalinde çaprazlama işlemine tabi tutulur. Bu uygulamada tek

noktalı çaprazlama kullanılmıştır. Bir çaprazlama noktası rasgele belirlenerek gen takası

yapılır. İlk kromozomun ilk geninden çaprazlama noktasına denk gelen gene kadar

bütün genler ile ikinci kromozomun çaprazlama noktasına denk gelen genden sonraki

bütün genleri sırasıyla birleştirilerek ilk çocuk kromozom meydana getirilir. İkinci

kromozomun ilk geninden çaprazlama noktasına denk gelen gene kadar bütün genler ile

ilk kromozomun çaprazlama noktasına denk gelen genden sonraki bütün genleri

sırasıyla birleştirilerek ikinci çocuk kromozom meydana getirilir. Şekil 3.3.’te

çaprazlamanın işleyişi görülmektedir.

Şekil 3.3. MEPAR-SQL Çaprazlama

81

Mutasyon : Kromozomun mutasyona uğrama ihtimali (Pm) ve mutasyonun etkisi (Fm)

algoritma parametreleridir. Mutasyon etkisi; bir kromozomda bulunan genlerin hangi

oranda mutasyona uğratılacağını kontrol eden bir parametredir. Kromozomda bulunan

terminal ve fonksiyon genleri mutasyona uğrayabilir. Eğer terminal geni mutasyona

uğrayacak ise yine bir terminal genine dönüşür ancak nitelik-değer özellikleri ve

ilişkisel operatör değişikliğe uğrayıp tamamen farklı bir terminal geni oluşturur. Eğer

fonksiyon geni mutasyona uğrayacak ise yine bir fonksiyon genine dönüşür ancak

mantıksal operatörü ve referansları eski genden tamamen farklı bir fonksiyon geni

oluşur. Şekil 3.4.’te mutasyon operasyonu gösterilmiştir.

Şekil 3.4. MEPAR-SQL Mutasyon

82

3.2. Yazılımın Kullanılması

3.2.1. Ön Gereksinimler

MEPAR-SQL yazılımını kullanabilmek için işletim sisteminde .NET Framework 1.1

yüklü olmalıdır. Bilgisayarınızın bir SQL Server 2000 veritabanı sunucusuna

erişiminin olması gerekmektedir. SQL Server 2000 veritabanı sunucusu lokal

bilgisayarda veya ağda erişim izni olan herhangi bir bilgisayarda olabilir. Erişim

izinlerini ayarlarken kullanıcı hesabınızın eşleştirildiği oturumun veri kümelerini içinde

barındıran veritabanında “db_datareader” rolüne sahip olması yeterlidir.

Şekil 3.5.’te verilerle çalışacak olan “MEPUSER” oturumu oluşturulmuş, veri

kümelerini barındıran “THESIS” veritabanına erişim izni ve “db_datareader” rolü bu

“MEPUSER” oturumuna verilmiştir.

Şekil 3.5. MS SQL Server 2000 Rol Ekleme

83

3.2.2. Yazılımın Çalıştırılması

Yazılımın arayüzü 6 ana bölümden oluşmaktadır. Bu bölümler; Bağlantı (1), Tablo

Ayarlamaları (2), Parametreler (3), Uygunluk Fonksiyonu (4), Yönetim (5) ve Monitör

(6) Bölümleridir. Bu bölümler Şekil 3.6.’da işaretlenmiştir.

Şekil 3.6. MEPAR-SQL Arayüzü

1- Veritabanı sunucusunun seçilmesi : Verilerin üzerinde bulunduğu veritabanı

sunucusunun (SQL Server 2000) IP adresi “Sunucu” metin kutusuna yazılır. Eğer

veriler MEPAR-SQL yazılımının çalıştırıldığı bilgisayardaki SQL Server 2000

veritabanında ise “Sunucu” metin kutusuna “(local)” veya “.” yazılır. Verilerin

bulunduğu veritabanının adı “Veritabanı” metin kutusuna yazılır ve “Bağlan”

düğmesine basılır. Yazılım otomatik olarak veritabanında bulunan tabloları “Bütün

Tablolar” liste kutusuna doldurur.

84

2- Tablo Ayarlamaları : Sınıflandırma yapılacak veri kümesinin içinde bulunduğu

tablo adı “Ana Tablo” açılır kutusundan seçilir. Ana tablo daha önce ayrıma tabi

tutulmuş ise “Bütün Tablolar” liste kutusunda ayrım tabloları görülebilmektedir.

Sınıflandırmada kullanılacak öğrenme ve test veri kümeleri “Bütün Tablolar” liste

kutusundan “Öğrenme Listesi” ve “Test Listesi” liste kutularına yerleştirilir. Listeler

oluşturulurken dikkat edilmesi gereken; listede birbirine karşılık gelen öğrenme –test

tablolarının aynı sıra numarasına sahip olmalarıdır. Yani “Öğrenme Listesi”nde birinci

sırada olan bir tablodan çıkarılan kural kümesi “Test Listesi”ndeki birinci tablo

üzerinde test edilecektir.

Eğer veri kümesini içeren tablo ayrıma tabi tutulmak isteniyorsa bu tablo “Ana Tablo”

açılır kutusundan seçilir, ana menüden “Araçlar>Tablo Bölücü” açılır. Şekil 3.7.’de

splie veri kümesinin ayrıma tabi tutulması gösterilmektedir.

Şekil 3.7. MEPAR-SQL Tablo Bölümleme

İlk olarak tablodaki birincil anahtar “ADIM – 1 ID sütunu seç” liste kutusundan

seçilir. Ayrım adedi belirlenir, “SQL kodunu çalıştır” seçilir kutusu onaylı şekilde

“SQL kodunu oluştur” düğmesine basılır.

85

Eğer ayrım adedi 2 olarak seçilirse öğrenme verisi veri kümesinin %67’sinin rasgele

seçimi ile oluşur. Geriye kalan %33’ü test verisi olarak kabul edilir.

Ayrım adedi 2’den büyük ise tablodan ayrım adedi kadar, eşit sayıda örnek içeren

küme oluşturulur. Bu kümelere örnekler rasgele paylaştırılmıştır. Sırasıyla her bir ayrım

kümesi test için kullanılmak üzere yalnız bırakılır ve kalan diğer kümeler öğrenme veri

kümesinin elemanı olarak kabul edilir. Böylece ayrım sayısı kadar öğrenme ve test veri

kümesi çifti tablolar şeklinde veritabanında oluşturulur. Tablolar isimlendirilirken

aşağıdaki biçim uygulanır;

[AnaTabloAdı]_[dd][ss][gün][ay][yıl]_[tr/ts][#]_[##]

[AnaTabloAdı] : Veri kümesinin bütün örneklerinin bulunduğu tablonun adı. Bu

sayede ayrıma tabi tutulan tabloların ayrım tabloları ile arasındaki ilişki kopmamış

olmaktadır.

[yıl] : Ayrımın yapıldığı yıl.

[ay] : Ayrımın yapıldığı ay.

[gun] : Ayrımın yapıldığı gün.

[ss] : Ayrımın yapıldığı saat.

[dd] : Ayrımın yapıldığı dakika.

[tr/ts] : Tablo öğrenme veri kümesi içeriyorsa; tr, test veri kümesi içeriyorsa ts

kullanılır.

[#] : Tablonun ayrım sıra numarası.

[##] : Yapılan toplam ayrım adedi.

Örnek olarak; hepatitis_2350100806_tr1_10 tablosu hepatitis ana tablosundan 10

ağustos 2006 saat 23:50’de oluşturulmuş 10 ayrımlı tablolar kümesinin birinci öğrenme

veri kümesini içeren tablodur. iris_2218200806_ts5_10 tablosu ise iris ana tablosundan

20 ağustos 2006 saat 22:18’de oluşturulmuş 10 ayrımlı tablolar kümesinin beşinci test

veri kümesini içeren tablodur.

3 – Parametrelerin Ayarlanması : Probleme uygun parametre değerleri bu bölümde

programa girilir. Popülasyon sayısı, terminal sayısı, fonksiyon sayısı, elit birey sayısı,

çaprazlama oranı (Pm), mutasyon oranı (Pm), mutasyon etkisi (Fm) algoritma

başlamadan önce belirlenmesi gereken parametrelerdir.

86

4 – Uygunluk Fonksiyonu : Bu çalışma boyunca korelasyon uygunluk fonksiyonu

kullanılmıştır. Ancak evrimsel algoritma tabanlı çalışmalarda kullanılan uygunluk

fonksiyonlarından bazılar yazılıma eklenmiştir. Bu fonksiyonlar aşağıda listelenmiştir;

Duyarlık X Belirlilik [49] :

+

+ FPTN

TNx

FNTP

TP (5),

Doğru Değer Oranı :N

TNTP + (6),

TAN I [10] :

+

+

+

+ TNFP

TNx

TPFN

TPx

FPN

N1 (7),

TAN II [51] :

+

+++

+

FPwx

FNFPTNwTP

TNwTP

21

1

1

1 (8)

N, toplam örnek sayısını ifade etmektedir. w1 ile w2, TN ve FP değerlerini kontrol eden

parametrik ağırlık katsayılarıdır. Küçük w1 değerleri TP’nin uygunluk değerine etkisini

artırmaktadır. w1’in varsayılan değeri 0.2’dir. w2’nin varsayılan değeri 1’dir [51].

Algoritma başlatılmadan önce istenilen uygunluk fonksiyonu bu bölümden seçilebilir.

5 – Yönetim : Algoritmanın başlatılması için gerekli son 2 adım bu pencereden

gerçekleştirilmektedir. Bu adımlardan birincisi verilerin temizlendiği, nitelik ve

değerleri tanıtılıp, kromozom mimarilerinin kurulduğu adımdır. Bu adım başladığında

ilk olarak. Şekil 3.8.’de gösterilen “ADIM 1.0 ANA TABLO” penceresi kullanıcının

veriler üzerinde değişiklik yapması için yüklenir. Bu tabloda yapılan değişiklikler

“Durumu kaydet” düğmesine basıldığında veritabanına yansıtılır.

87

Şekil 3.8. MEPAR-SQL Adım 1.0

Niteliklerin değerlerinde yapılan değişiklikler sınıflandırma aşamasını etkileyecek

boyutlarda ise bu tablonun tekrar ayrıma tabi tutulması şarttır. Gerekli düzeltmeler

yapıldıktan sonra “Adım 1.1” düğmesine basıldığında Şekil 3.9.’da gösterilen “ADIM

1.1 NİTELİK & DEĞER ÇİFTLERİNİN TANITILMASI” penceresi kullanıcıya

gösterilir.

88

Şekil 3.9. MEPAR-SQL Adım 1.1

Şekil 3.9.’da gösterilen pencere bütün örnekleri içeren ana tablonun yapısı hakkında

detaylı bilgilerin bulunduğu bir penceredir. Ana tabloda bulunan niteliklerin adları, veri

tipleri, boş geçilebilme gibi özellikleri gösterilmektedir. Niteliklerin hangi değerlere

sahip oldukları ve değerlerin sıklıkları da bu pencereden öğrenilebilmektedir.

Bu adımda amaç niteliği olarak seçilmek istenen nitelik üzerine sağ-tuş basıldığında

çıkan menüden “Amaç Niteliği Olarak Ata” seçilerek belirlenmektedir. Amaç

niteliğinin kural türetmede kullanılmamasını sağlayan “DIŞLA” özelliği sistem

tarafından işaretlenir. Ayrıca kuralda yer alması istenmeyen diğer niteliklerin “DIŞLA”

özelliği seçilerek kuralda bulunmamaları sağlanır. Amaç niteliği seçilmeden bir sonraki

adıma geçilemez. İkinci olarak bu adımda yapılması gereken; kurallarda bulunacak

niteliklerin kesikli veya sürekli olarak değerlendirilme kararının verilmesidir. Kullanıcı

sürekli değer olarak kullanılmasını istediği niteliklerin “Sürekli” özelliğini seçmelidir.

Sürekli özelliğini seçtiği her nitelik için Şekil 3.10.’da bir örneği gösterilen “AYRIM

PENCERESİ” gösterilecektir.

89

Şekil 3.10. MEPAR-SQL Ayrım Penceresi

Sürekli değere sahip olduğu belirlenen her nitelik için kullanıcıya gösterilen bu pencere,

niteliğin değerleri ve bu değerlerin veri kümesindeki örneklerde bulunma sıklıklarını, en

büyük ve en küçük nitelik değerini kullanıcıya belirtir.

Ayrım üç farklı yolla yapılabilir;

- Kullanıcının ayrım başlangıçlarını ve bitişlerini listeden seçerek,

- Kullanıcı tarafından belirlenen sayı kadar ayrımı sistemin oluşturduğu otomatik ayrım

kullanarak,

- Önceden kaydedilmiş “XML” formatlı ayrım dosyalarını yükleyerek.

90

Örnek olarak hepatitis veri kümesinin 15. niteliği ile ilgili ayrımları içeren “hepatitis(Col015)1329081006dvd.xml” dosyası verilmiştir. <?xml version="1.0" standalone="yes"?>

<AYRIMLAR>

<xs:schema id="AYRIMLAR" xmlns=""

xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-

microsoft-com:xml-msdata">

<xs:element name="AYRIMLAR" msdata:IsDataSet="true" msdata:Locale="tr-

TR">

<xs:complexType>

<xs:choice maxOccurs="unbounded">

<xs:element name="ARALIK">

<xs:complexType>

<xs:sequence>

<xs:element name="GRUPNO" msdata:AutoIncrement="true"

msdata:AutoIncrementSeed="1" type="xs:int" />

<xs:element name="BASLANGIC" type="xs:string" />

<xs:element name="BITIS" type="xs:string" />

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:choice>

</xs:complexType>

</xs:element>

</xs:schema> <ARALIK>

<GRUPNO>1</GRUPNO>

<BASLANGIC>0</BASLANGIC>

<BITIS>33</BITIS>

</ARALIK>

<ARALIK>

<GRUPNO>2</GRUPNO>

<BASLANGIC>33</BASLANGIC>

<BITIS>80</BITIS>

</ARALIK>

<ARALIK>

<GRUPNO>3</GRUPNO>

<BASLANGIC>80</BASLANGIC>

<BITIS>120</BITIS>

</ARALIK>

<ARALIK>

<GRUPNO>4</GRUPNO>

<BASLANGIC>120</BASLANGIC>

<BITIS>160</BITIS>

</ARALIK>

<ARALIK>

<GRUPNO>5</GRUPNO>

<BASLANGIC>160</BASLANGIC>

<BITIS>200</BITIS>

</ARALIK>

<ARALIK>

<GRUPNO>6</GRUPNO>

91

<BASLANGIC>200</BASLANGIC>

<BITIS>250</BITIS>

</ARALIK>

<ARALIK>

<GRUPNO>7</GRUPNO>

<BASLANGIC>250</BASLANGIC>

<BITIS>300</BITIS>

</ARALIK>

</AYRIMLAR>

Yönetim bölümünün ikinci adımı öğrenme ve test veri kümelerinin sisteme tanıtılması

adımıdır. Şekil 3.6.’nın ikinci bölümde bulunan öğrenme ve test listelerinde bulunan

sıralı veri kümeleri sisteme tanıtılır. İkinci adım son hazırlık aşamasıdır. “MEPAR-

SQL i BAŞLAT” düğmesine basılarak algoritma çalıştırılır.

6 – Monitör : Şekil 3.11.’de monitör penceresi gösterilmektedir.

Şekil 3.11. MEPAR-SQL Monitör Görünümü

92

Bu penceredeki siyah alanda algoritma başladıktan sonraki iterasyon bilgileri, her sınıf

için bulunan en iyi kural, kural listesi, öğrenme verileri ve test verileri için düzensizlik

matrisi gösterilmektedir. Ayrıca kuralların doğrulukları da en iyi kuralların değişimi ile

eş zamanlı kullanıcıya bildirilmektedir. Eğer süreçte bir hata ile karşılaşılır ise

iterasyonlar sonunda kullanıcıya rapor edilmektedir. Örnek olarak zoo veri kümesi ile

yapılan bir sınıflama çalışmasının raporu aşağıda gösterilmiştir;

51. İTERASYON 1 kuralının tekil uygunluğu=1 Doğruluk:%1 TP:32 TN:44 FP:0 FN:0 KURAL>> [Col005]= '1' 2 kuralının tekil uygunluğu=1 Doğruluk:%1 TP:14 TN:62 FP:0 FN:0 KURAL>> NOT( [Col003]= '0') 3 kuralının tekil uygunluğu=0.745671251115531 Doğruluk:%0.947 TP:2 TN:70 FP:1 FN:3 KURAL>> ([Col012]= '1' AND [Col015]<> '0' ) 4 kuralının tekil uygunluğu=1 Doğruluk:%1 TP:7 TN:69 FP:0 FN:0 KURAL>> ([Col005]= '0' AND [Col013]= '1' ) 5 kuralının tekil uygunluğu=0.6898315991505 Doğruluk:%0.868 TP:2 TN:64 FP:10 FN:0 KURAL>> (NOT( [Col009]<> '1') AND NOT( [Col004]<> '1') ) 6 kuralının tekil uygunluğu=0.934520855185321 Doğruluk:%0.973 TP:7 TN:67 FP:2 FN:0 KURAL>> [Col014]= '6' 7 kuralının tekil uygunluğu=0.93698175787728 Doğruluk:%0.974 TP:8 TN:66 FP:1 FN:1 KURAL>> ([Col010]<> '1' AND [Col008]= '1' ) DÜZENSİZLİK MATRİSİ [ÖĞRENME] SINIF 1 2 3 4 5 6 7 1 kuralı 32 0 0 0 0 0 0 2 kuralı 0 14 0 0 0 0 0 4 kuralı 0 0 0 7 0 0 0 7 kuralı 0 0 0 0 0 1 8 6 kuralı 0 0 0 0 0 6 0 3 kuralı 0 0 2 0 0 0 0 5 kuralı 0 0 2 0 2 0 0 Varsayılan 0 0 1 0 0 0 1 DOĞRULUK:0.947368421052632 DÜZENSİZLİK MATRİSİ [TEST] SINIF 1 2 3 4 5 6 7 1 kuralı 9 0 0 0 0 0 0 2 kuralı 0 6 0 0 0 0 0 4 kuralı 0 0 0 6 0 0 0 7 kuralı 0 0 0 0 0 0 0 6 kuralı 0 0 0 0 0 1 0 3 kuralı 0 0 0 0 0 0 0 5 kuralı 0 0 0 0 2 0 0 Varsayılan 0 0 0 0 0 0 1 DOĞRULUK:0.96 Hata: Yok

93

Beyaz alanda ise hesaplamalar için kullanılan süreler listelenmektedir. İki ayrı süre

kullanıcıya rapor edilir. Birincisi MEPAR-SQL algoritmasının doğal seçim ve genetik

operasyonların hesaplama süresini gösteren “iterasyon” satırıdır. İkincisi ise SQL

Server 2000’in kuralların değerlendirilmesi için harcadığı “SQL Teslimi” süresidir.

Aşağıda bu sürelerin bulunduğu rapor parçası gösterilmektedir;

MEPAR-SQL SINIFLANDIRMA YAZILIMI İTERASYONLARA BAŞLADI 13:34:17 0. İterasyon ==> Zaman:13:34:17 SQL Teslimi13:34:20 1. İterasyon ==> Zaman:13:34:20 SQL Teslimi13:34:21 2. İterasyon ==> Zaman:13:34:21 SQL Teslimi13:34:22 . Sayfa tasarrufu için bu aralık yazılmamıştır. . 49. İterasyon ==> Zaman:13:35:18 SQL Teslimi13:35:19 50. İterasyon ==> Zaman:13:35:19 SQL Teslimi13:35:20 İTERASYONLAR BİTTİ / DURDURULDU13:35:20

4.BÖLÜM

BULGULAR VE YORUMLAR

MEPAR-SQL algoritmasının parametre kümelerini ve etkinliğini belirlemek için deney

tasarımı düzenlenmiştir. Bu bölümde uygulanan deney tasarımı açıklanarak

algoritmanın etkinliği araştırılmıştır.

Geliştirilen MEPAR-SQL algoritmasının etkinliğinin belirlenmesi ve karşılaştırılması

amacıyla çözümlerin doğruluk değerleri dikkate alınarak etkinlik ölçütü;

N

TNTP + (9)

formülü ile hesaplanmıştır. TP; kuralın örneği sınıfa dahil olarak tahmin ettiği ve

örneğin gerçekte de o sınıfa dahil olduğu durum sayısıdır. TN ise; kuralın örneği sınıfa

dahil olmadığını tahmin ettiği ve örneğin gerçekte de o sınıfa dahil olmadığı durum

sayısıdır. N; veri kümesinde bulunan örnek sayısını ifade etmektedir.

Algoritmada Credit-App, Hepaitis, Iris, Lymphography ve Zoo veri kümeleri için 10

ayrımlı çapraz doğrulama yaklaşımı, Adult ve ENDQ veri kümeleri için %66 öğrenme -

%33 test kümeleri ile doğrulama yaklaşımı kullanılarak her veri alt kümesi için

çalıştırılmış ve elde edilen sonuçların ortalaması etkinlik ölçütü olarak kullanılmıştır.

MEPAR-SQL algoritması için öncelikle uygun parametre kümesi ve bu parametrelerin

tasarımda kullanılacak düzeyleri belirlenmiştir. Deney tasarımında MINITAB® Release

14.1 yazılımının DOE (Design Of Experiment) bölümündeki L12, 2 seviyeli Taguchi

tasarımı kullanılmıştır. Analizde ana etkiler (Main Effect) ve ikili etkiler (interaction

effect) dikkate alınmıştır.

95

4.1. Test Problemleri

Test problemleri http://www.ics.uci.edu/~mlearn/MLRepository.html adresinden

alınmıştır.

Adult : Bu veri kümesi sürekli ve kategorik niteliklere sahip 48842 örnek içermektedir.

Veri kümesi, orjinal halinde rasgele 2/3’ü öğrenme, 1/3’ü test veri kümesi olmak üzere

ikiye bölünmüştür. Çalışma esnasında bu veri kümesinde hiçbir temizlik veya uyarlama

işlemi yapılmamıştır.

Credit - app: Bu veri kümesi kredi kartı uygulamalarını içermektedir. Bu veri kümesi

sürekli, kategorik değerlerden oluşan 690 örnek ve 15 niteliğe sahiptir. 37 eksik değer

bulundurmaktadır. Bu veri üzerinde hiçbir değişiklik veya düzenleme işlemi

yapılmamıştır.

Hepatitis: Bu veri kümesi 155 örnek içermektedir. Her bir örnek 19 sürekli veya

kategorik nitelik içermektedir. Çok fazla miktarda kayıp değer içermesine rağmen veri

kümesinde hiçbir temizlik veya düzenleme işlemi yapılmadan kullanılmıştır.

Iris: 150 örneğe sahip bu veri kümesi 3 sınıf tanımı, ve 4 niteliğe sahiptir. Bütün

değerler süreklidir. Kayıp değer bulundurmamaktadır. Veri üzerinde hiçbir düzenleme

yapılmadan kullanılmıştır.

Lymphography: 4 sınıf tanımlı ve 19 niteliğe sahip bu veri kümesi toplam 148 örneğe

sahiptir. Değerler kategorik olmasına karşın bütün değerlerin indisleri nitelik olarak

saklanmıştır.

Zoo : 101 örneğe sahip bu veri kümesi 7 sınıf tanımı barındırmaktadır. Toplam 17

nitelik içermektedir ve niteliklerin %12’si sürekli, %88’i kategorik değerlerdir.

ENDQ : 2461 örneğe sahip bu veri kümesi 5 sınıf tanımı barındırmaktadır. Toplam 17

nitelik içermektedir ve niteliklerin %65’i sürekli, % 35’i kategorik değerlerdir. ENNQ

veri kümesi ile ilgili açıklamalar EK-1’de verilmiştir.

Tablo 4.1’de veri kümeleri hakkında özet bilgi sunulmuştur.

96

Tablo 4.1.Veri kümesi bilgileri

Veri Kümesi

Adı

Gözlem

Sayısı

Nitelik

Sayısı

Sınıf

Sayısı

Sürekli

Değer

Yüzdesi

Nominal

Değer

Yüzdesi

Kayıp

Bilgi

Adult 48842 14 2 43 57 Var

Credit-app 690 15 2 40 60 Var

Hepatitis 155 19 2 32 68 Var

Iris 150 4 3 100 0 Yok

Lymphography 148 18 4 100 0 Yok

Zoo 101 17 7 12 88 Yok

ENDQ 2461 17 5 65 35 Var

4.2. Uygun Parametre Kümesinin Belirlenmesi

Algoritma test problemleri için pek çok kez çalıştırılarak tasarımda kullanılacak uygun

parametre kümeleri belirlenmiştir. Geliştirilen algoritmada, çaprazlama oranı (Pc),

mutasyon etkisi (Fm), popülasyon sayısı, iterasyon sayısı, terminal sayısı ve fonksiyon

sayısı olmak üzere 6 farklı kontrol parametresi vardır ve bu parametrelerin deney

tasarımında kullanılacak düzeyleri aşağıdaki Tablo 4.2’de verilmiştir.

Tablo 4.2. Parametre düzeyleri

Faktörler Hepatitis,Adult,Iris, Lymphography, Zoo

Düzeyleri

Credit-App, ENDQ Düzeyleri

Çaprazlama Oranı .7 - .9 .7 - .9

Mutasyon Etkisi .1 - .2 .1 - .2

Popülasyon Sayısı 25 - 50 25 - 50

İterasyon Sayısı 25 - 50 25 - 50

Terminal Sayısı 15 - 25 30 - 50

Fonksiyon Sayısı 20 - 40 40 - 80

4.3. Analiz Sonuçları

Aşağıda geliştirilen MEPAR-SQL algoritmasının adult, credit-app, hepatitis, iris,

lymphography, splice, zoo, ENDQ test problemlerinden hepatitis için analiz sonuçları

97

verilmiştir. Diğer test problemleri için analiz sonuç grafikleri EK-2’de, MEPAR-SQL

sonuç çıktıları ise EK-3’te sunulmuştur.

4.3.1. Hepatitis Veri Kümesi Analiz Sonuçları

Hepatitis test problemi için elde edilen ‘Delta’ ve ‘Rank’ değerleri incelendiğinde,

etkinlik ölçütü üzerinde en çok “iterasyon sayısı”nın etkili olduğu daha sonra ise

“popülasyon sayısı”nın etkili olduğu görülmektedir. En az etkiye sahip olan parametre

ise “fonksiyon sayısı”dır. Buradaki ‘delta’ etki derecesini ölçen bir değerdir ve ‘Delta’

ne kadar büyükse, o parametrenin etkinliği o kadar yüksektir. ‘Rank’ ise parametreleri

etkinliklerine göre sıralar. ‘Rank’ değeri 1 olan parametre en etkin parametredir.

Sonuçlar MINITAB çıktısında aşağıdaki gibi görülmektedir.

Response Table for Means

Çaprazlama Mutasyon Popülasyon İterasyon Terminal Fonksiyon

Level Oranı Etkisi Sayısı Sayısı Sayısı Sayısı

1 79.42 78.87 79.83 78.58 78.75 79.05

2 79.03 79.58 78.62 79.87 79.70 79.40

Delta 0.38 0.72 1.22 1.28 0.95 0.35

Rank 5 4 2 1 3 6

Çıktıda ortalama uygunluğun ortalamalara göre etkinlik sıralaması;

1. İterasyon Sayısı,

2. Popülasyon Sayısı,

3. Terminal Sayısı,

4. Mutasyon Etkisi,

5. Çaprazlama Oranı,

6. Fonksiyon Sayısı şeklindedir.

Şekil 4.1’de ortalamalara göre ana etki grafiği incelendiğinde yine en fazla etkinin

“iterasyon sayısı”, daha sonra ise “popülasyon sayısı”nın olduğu görülmektedir. En az

etkiye sahip parametre ise “fonksiyon sayısı”dır. Ana etki grafiklerinde parametrenin

iki düzeyi arasındaki doğru ne kadar dikse parametre o derece etkindir.

Her bir parametrenin etkin düzeyi; iterasyon sayısı 50 (ikinci düzey),

98

popülasyon sayısı 25 (birinci düzey), terminal sayısı 25 (ikinci düzey), mutasyon etkisi

.2 (ikinci düzey), çaprazlama oranı .7 (birinci düzey), fonksiyon sayısı 40 (ikinci düzey)

olarak görülmektedir.

Şekil 4.1. Hepatitis Ortalama Uygunluk İçin Ana Etki Grafiği

Deney tasarımında tam sonucu elde edebilmek için ana etkiler yeterli değildir, etkileşim

eğrilerine de bakmak gerekir. Etkileşim grafikleri neticesinde eğer iki faktör arasında

etkileşim varsa, ana etkiler grafiğinde tek faktörü değerlendirmek doğru bir yaklaşım

olarak görülmemektedir.

Şekil 4.2., 4.3 ve 4.4. hepatitis problemi için etkileşim eğrilerini göstermektedir.

Etkileşim eğrileri, iki faktörün düzeyindeki değişimlerin ortalama üzerindeki etkilerini

gösterir. Şekil4.2.’deki “popülasyon sayısı ile iterasyon sayısın” arasındaki etkileşime

bakıldığında popülasyon sayısının 25, iterasyon sayısının 50 değerinde tutularak

algoritmanın çalıştırılması ortalama uygunluğu artırıcı bir etki göstereceklerdir. Buna

karşın Şekil 4.3.’teki “çaprazlama oranı ile fonksiyon sayısı” arasındaki etkileşime

bakıldığında çaprazlama oranının .7, fonksiyon sayısının ise 40 olduğu durumu

desteklememektedir. Diğer bir durum ise parametreler arasında bir etkileşimin söz

konusu olmadığı durumdur. Buna örnek olarak Şekil 4.2.’deki “popülasyon sayısı ile

terminal sayısı” arasındaki etkileşim eğrisi gösterilebilir.

99

Şekil 4.2. Hepatitis Ortalama Uygunluk İçin Etkileşim Grafiği a

Şekil 4.3. Hepatitis Ortalama Uygunluk İçin Etkileşim Grafiği b

100

Şekil 4.4. Hepatitis Ortalama Uygunluk İçin Etkileşim Grafiği c

Sonuç olarak; iterasyon sayısı 50, popülasyon sayısı 25, terminal sayısı 25, mutasyon

etkisi .2, çaprazlama oranı .7 ve fonksiyon sayısı 40 olduğu durumda MEPAR-SQL

algoritması çalıştırıldığında çözümün doğruluğu artacaktır.

Bu parametre değerleri ile çalıştırılan MEPAR-SQL algoritmasının örnek sonuç çıktısı;

[hepatitis_training1]&[hepatitis_test1] 51. İTERASYON 0 kuralının tekil uygunluğu=0.804845969362116 Conf:%0.835714285714286 TP:91 TN:26 FP:4 FN:19 KURAL>> ((([Col014]<= 4 OR [Col012]is null ) AND [Col017]> 3.8 ) OR (([Col014]< 4 AND (([Col016]>= 500 AND [Col014]< 4 ) OR [Col012]<> '1' )) AND [Col006]<> '1' )) 1 kuralının tekil uygunluğu=0.758726484804695 Conf:%0.814285714285714 TP:22 TN:92 FP:18 FN:8 KURAL>> ([Col012]= '1' OR ([Col014]BETWEEN 2 AND 3 OR [Col017]is null )) GÜVENİLİRLİK TABLOSU [ÖĞRENME] SINIF 0 1 0 kuralı 91 4 1 kuralı 6 14 Default 13 12 CONFIDENCE:0.842857142857143 GÜVENİLİRLİK TABLOSU [TEST] SINIF 0 1 0 kuralı 10 1 1 kuralı 0 1 Default 3 0

101

CONFIDENCE:0.933333333333333

şeklindedir.

4.3.2. Adult Veri Kümesi Analiz Sonuçları

Adult test problemi için elde edilen ‘Delta’ ve ‘Rank’ değerleri EK-2.a. incelendiğinde,

etkinlik ölçütü üzerinde en çok “fonksiyon sayısı”nın etkili olduğu daha sonra ise

“mutasyon etkisi”nin etkili olduğu görülmektedir. En az etkiye sahip olan parametre

ise “iterasyon sayısı”dır. Sonuçlar aşağıdaki MINITAB çıktısında görülmektedir.

Response Table for Means

Çaprazlama Mutasyon Popülasyon İterasyon Terminal Fonksiyon

Level Oranı Etkisi Sayısı Sayısı Sayısı Sayısı

1 77.67 79.33 77.00 78.17 77.17 76.67

2 78.50 76.83 79.17 78.00 79.00 79.50

Delta 0.83 2.50 2.17 0.17 1.83 2.83

Rank 5 2 3 6 4 1

EK-2 a.’da ortalama uygunluğun ortalamalara göre etkinlik sıralaması;

1. Fonksiyon Sayısı,

2. Mutasyon Etkisi,

3. Popülasyon Sayısı,

4., Terminal Sayısı

5. Çaprazlama Oranı,

6. İterasyon Sayısı şeklindedir.

EK-2.b., EK-2.c., ve EK-2.d.’de adult problemi için etkileşim eğrilerini göstermektedir.

Parametrelerin etkinlik ölçütüne göre ikili etkileşimleri incelendiğinde; EK-2.d.’deki

“terminal sayısı ile fonksiyon sayısı” arasındaki etkileşim terminal sayısının 25,

fonksiyon sayısının ise 40 olduğu durumu desteklemektedir. EK-2.d.’de “mutasyon

etkisi ile terminal sayısı” arasında etkileşimin söz konusu olmadığı görülmektedir.

Sonuç olarak; iterasyon sayısı 25, popülasyon sayısı 50, terminal sayısı 25, mutasyon

etkisi .1, çaprazlama oranı .9 ve fonksiyon sayısı 40 olduğu durumda MEPAR-SQL

algoritması çalıştırıldığında çözümün doğruluğu artacaktır.

102

4.3.3. Iris Veri Kümesi Analiz Sonuçları

Iris test problemi için elde edilen ‘Delta’ ve ‘Rank’ değerleri ve EK-2.i. incelendiğinde,

etkinlik ölçütü üzerinde en çok “popülasyon sayısı”nın etkili olduğu daha sonra ise

“fonksiyon sayısı”nın etkili olduğu görülmektedir. En az etkiye sahip olan parametre

ise “mutasyon etkisi”dir. Sonuçlar aşağıdaki MINITAB çıktısında görülmektedir.

Response Table for Means

Çaprazlama Mutasyon Popülasyon İterasyon Terminal Fonksiyon

Level Oranı Etkisi Sayısı Sayısı Sayısı Sayısı

1 94.48 95.02 93.92 94.58 95.25 94.35

2 95.67 95.13 96.23 95.57 94.90 95.80

Delta 1.18 0.12 2.32 0.98 0.35 1.45

Rank 3 6 1 4 5 2

EK-2 i.’de ortalama uygunluğun ortalamalara göre etkinlik sıralaması;

1. Popülasyon Sayısı,

2 Fonksiyon Sayısı.,

3. Çaprazlama Oranı,

4. İterasyon Sayısı,

5., Terminal Sayısı

6. Mutasyon Etkisi şeklindedir.

EK-2 j., EK-2 k. ve EK-2 l’de iris problemi için etkileşim eğrilerini göstermektedir.

Parametrelerin etkinlik ölçütüne göre ikili etkileşimleri incelendiğinde; EK-2.k.’deki

“iterasyon sayısı ile terminal sayısı” arasındaki etkileşim iterasyon sayısının 50,

terminal sayısının ise 15 olduğu durumu desteklemektedir, “iterasyon sayısı ile

fonksiyon sayısı” arasında bir etkileşim görülmemektedir. Ayrıca EK-2.j.’deki

“çaprazlama oranı ile mutasyon etkisi” arasındaki etkileşim çaprazlama oranının .9,

mutasyon etkisinin ise .2 olduğu durumu desteklememektedir.

Sonuç olarak; iterasyon sayısı 50, popülasyon sayısı 50, terminal sayısı 15, mutasyon

etkisi .2, çaprazlama oranı .9 ve fonksiyon sayısı 40 olduğu durumda MEPAR-SQL

algoritması çalıştırıldığında çözümün doğruluğu artacaktır.

103

4.3.4. Lymphograpy Veri Kümesi Analiz Sonuçları

Lymphograpy test problemi için elde edilen ‘Delta’ ve ‘Rank’ değerleri ve EK-2.m.

incelendiğinde, etkinlik ölçütü üzerinde en çok “mutasyon etkisi”nin etkili olduğu daha

sonra ise “popülasyon sayısı”nın etkili olduğu görülmektedir. En az etkiye sahip olan

parametre ise “fonksiyon sayısı”dır. Sonuçlar aşağıdaki MINITAB çıktısında

görülmektedir.

Response Table for Means

Çaprazlama Mutasyon Popülasyon İterasyon Terminal Fonksiyon

Level Oranı Etkisi Sayısı Sayısı Sayısı Sayısı

1 78.02 78.43 75.65 76.45 75.62 76.72

2 75.87 75.45 78.23 77.43 78.27 77.17

Delta 2.15 2.98 2.58 0.98 2.65 0.45

Rank 4 1 3 5 2 6

Ek-2.m.’de ortalama uygunluğun ortalamalara göre etkinlik sıralaması;

1. Mutasyon Etkisi,

2. Terminal Sayısı,

3. Popülasyon Sayısı,

4. Çaprazlama Oranı,

5. İterasyon Sayısı,

6. Fonksiyon Sayısı şeklindedir.

EK-2.n., EK-2.o. ve EK-2.p. lymphograpy problemi için etkileşim eğrilerini

göstermektedir. Parametrelerin etkinlik ölçütüne göre ikili etkileşimleri incelendiğinde;

Ek-2.o.’daki, “iterasyon sayısı ile terminal sayısı” arasındaki etkileşim iterasyon

sayısının 50, terminal sayısının ise 25 olduğu durumu desteklemektedir. Ancak,

“iterasyon sayısı ile fonksiyon sayısı” arasındaki etkileşim iterasyon sayısının 50,

fonksiyon sayısının ise 40 olduğu durumu desteklememektedir. Ayrıca “popülasyon

sayısı ile terminal sayısı” arasında etkileşim görülmemektedir.

Sonuç olarak; iterasyon sayısı 50, popülasyon sayısı 50, terminal sayısı 25, mutasyon

etkisi .1, çaprazlama oranı .7 ve fonksiyon sayısı 40 olduğu durumda MEPAR-SQL

algoritması çalıştırıldığında çözümün doğruluğu artacaktır.

104

4.3.4. Zoo Veri Kümesi Analiz Sonuçları

Zoo test problemi için elde edilen ‘Delta’ ve ‘Rank’ değerleri ve EK-2.q.

incelendiğinde, etkinlik ölçütü üzerinde en çok “popülasyon sayısı”nın etkili olduğu

daha sonra ise “mutasyon etkisi”nin etkili olduğu görülmektedir. En az etkiye sahip

olan parametre ise “terminal sayısı”dır. Sonuçlar aşağıdaki MINITAB çıktısında

görülmektedir.

Response Table for Means

Çaprazlama Mutasyon Popülasyon İterasyon Terminal Fonksiyon

Level Oranı Etkisi Sayısı Sayısı Sayısı Sayısı

1 92.57 91.62 93.07 91.93 92.43 92.63

2 91.97 92.92 91.47 92.60 92.10 91.90

Delta 0.60 1.30 1.60 0.67 0.33 0.73

Rank 5 2 1 4 6 3

EK-2.q.’daki ortalama uygunluğun ortalamalara göre etkinlik sıralaması;

1. Popülasyon Sayısı,

2. Mutasyon Etkisi,

3. Fonksiyon Sayısı,

4. İterasyon Sayısı,

5. Çaprazlama Oranı,

6. Terminal Sayısı şeklindedir.

EK-2.r., EK-2.s. ve EK-2.t. zoo problemi için etkileşim eğrilerini göstermektedir.

Parametrelerin etkinlik ölçütüne göre ikili etkileşimleri incelendiğinde; Ek-2.s.’te,

“iterasyon sayısı ile terminal sayısı” arasındaki etkileşim iterasyon sayısının 50,

terminal sayısının ise 15 olduğu durumu desteklemektedir. EK-2.t.’de “terminal sayısı

ile fonksiyon sayısı” arasındaki etkileşim terminal sayısının 15, fonksiyon sayısının 20

olduğu durumu desteklememektedir. Ek-2.r.’de “mutasyon etkisi ile iterasyon sayısı”

arasında bir etkileşim görülmemektedir.

Sonuç olarak; iterasyon sayısı 50, popülasyon sayısı 25, terminal sayısı 15, mutasyon

etkisi .2, çaprazlama oranı .7 ve fonksiyon sayısı 20 olduğu durumda MEPAR-SQL

algoritması çalıştırıldığında çözümün doğruluğu artacaktır.

105

4.3.5. Credit App Veri Kümesi Analiz Sonuçları

Credit app test problemi için elde edilen ‘Delta’ ve ‘Rank’ değerleri ve EK-2.e.

incelendiğinde, etkinlik ölçütü üzerinde en çok “terminal sayısı”nın etkili olduğu daha

sonra ise “iterasyon sayısı”nin etkili olduğu görülmektedir. En az etkiye sahip olan

parametre ise “popülasyon sayısı”dır. Sonuçlar aşağıdaki MINITAB çıktısında

görülmektedir.

Response Table for Means

Çaprazlama Mutasyon Popülasyon İterasyon Terminal Fonksiyon

Level Oranı Etkisi Sayısı Sayısı Sayısı Sayısı

1 85.78 85.83 85.80 85.72 85.92 85.85

2 85.82 85.77 85.80 85.88 85.68 85.75

Delta 0.03 0.07 0.00 0.17 0.23 0.10

Rank 5 4 6 2 1 3

EK-2.e’deki ortalama uygunluğun ortalamalara göre etkinlik sıralaması;

1. Terminal Sayısı,

2. İterasyon Sayısı,

3. Fonksiyon Sayısı,

4. Mutasyon Etkisi,

5. Çaprazlama Oranı,

6. Popülasyon Sayısı şeklindedir.

EK-2.f., EK-2.g. ve EK-2.h. credit app problemi için etkileşim eğrilerini

göstermektedir. Parametrelerin etkinlik ölçütüne göre ikili etkileşimleri incelendiğinde;

Ek-2.h’de, “mutasyon etkisi ile terminal sayısı” arasındaki etkileşim mutasyon

etkisinin .1, terminal sayısının ise 30 olduğu durumu desteklememektedir. Ayrıca

“çaprazlama oranı ile terminal sayısı” arasında bir etkileşim görülmemektedir.

Sonuç olarak; iterasyon sayısı 50, popülasyon sayısı 25, terminal sayısı 30, mutasyon

etkisi .1, çaprazlama oranı .9 ve fonksiyon sayısı 40 olduğu durumda MEPAR-SQL

algoritması çalıştırıldığında çözümün doğruluğu artacaktır.

106

4.3.6. ENDQ Veri Kümesi Analiz Sonuçları

ENDQ test problemi için elde edilen ‘Delta’ ve ‘Rank’ değerleri ve EK-2.u..

incelendiğinde, etkinlik ölçütü üzerinde en çok “terminal sayısı”nın etkili olduğu daha

sonra ise “popülasyon sayısı”nın etkili olduğu görülmektedir. En az etkiye sahip olan

parametre ise “çaprazlama oranı”dır. Sonuçlar aşağıdaki MINITAB çıktısında

görülmektedir.

Response Table for Means

Çaprazlama Mutasyon Popülasyon İterasyon Terminal Fonksiyon

Level Oranı Etkisi Sayısı Sayısı Sayısı Sayısı

1 69.62 70.70 68.10 68.81 71.36 69.19

2 69.51 68.43 71.03 70.32 67.78 69.95

Delta 0.11 2.28 2.93 1.52 3.58 0.76

Rank 6 3 2 4 1 5

EK-2.u’daki ortalama uygunluğun ortalamalara göre etkinlik sıralaması;

1. Terminal Sayısı,

2. Popülasyon Sayısı,

3. Mutasyon Etkisi,

4. İterasyon Sayısı,

5. Fonksiyon Sayısı,

6. Çaprazlama Oranı şeklindedir.

EK-2.v., EK-2.y. ve EK-2.z. ENDQ problemi için etkileşim eğrilerini göstermektedir.

Parametrelerin etkinlik ölçütüne göre ikili etkileşimleri incelendiğinde; EK-2.v.’de

“mutasyon etkisi ile popülasyon sayısı” arasındaki etkileşim mutasyon etkisinin .1,

popülasyon sayısının ise 50 olduğu durumu desteklemektedir. Ayrıca mutasyon etkisi

ile iterasyon sayısı” arasındaki etkileşim mutasyon etkisinin .1, iterasyon sayısının ise

50 olduğu durumu desteklememektedir. EK-2.y.’de “iterasyon sayısı ile fonksiyon

sayısı” arasında etkileşim görülmemektedir.

Sonuç olarak; iterasyon sayısı 50, popülasyon sayısı 50, terminal sayısı 30, mutasyon

etkisi .1, çaprazlama oranı .7 ve fonksiyon sayısı 80 olduğu durumda MEPAR-SQL

algoritması çalıştırıldığında çözümün doğruluğu artacaktır.

107

4.4. Sonuçların Diğer Çalışmalar ile Karşılaştırması

Geliştirilen MEPAR-SQL algoritması için düzenlenen deney tasarımları uygulandığında

test problemleri için bulunan parametre düzeyleri kullanılarak tekrar çalışılan

problemlerin sonuçları Tablo 4.3., 4.4. ve 4.5.’te Weka Yazılımındaki NaiveBayes,

DecisionTree, PART, C4.5, DOEA [51] ve CellularGP [50] algoritmaları ile bulunan

sonuçlar ile karşlaştırılmıştır.

Tablo 4.3. MEPAR-SQL Karşılaştırmalı Sonuçlar (2 sınıflılar)

Veri Kümesi NaiveBayes DecisionTable PART C4.5 MEPAR-SQL DOEA Cellular GP

Ortalama 83.25 85.94 85.29 86.04 83.33

Standart Sapma 0.23 0.24 0.33 0.30 1.15

Minimum 82.87 85.51 84.52 85.67 82.00 Adult

Maksimum 83.66 86.28 85.71 86.54 84.00

Ortalama 77.86 85.04 84.45 85.56 86.09 85.48 83.75

Standart Sapma 4.18 4.44 4.35 3.96 4.05 3.14 -

Minimum 66.67 75.36 73.91 73.91 78.26 - - Credit-App

Maksimum 86.96 95.62 94.20 92.75 91.30 89.35 86.00

Ortalama 84.34 79.38 79.80 79.22 82.80

Standart Sapma 10.42 7.74 8.55 9.56 7.67

Minimum 60.00 62.50 56.25 60.00 73.00 Hepatitis

Maksimum 100.00 100.00 100.00 100.00 93.00

Tablo 4.3.’te 2 sınıfa sahip veri kümelerinin sonuçları görülmektedir. Credis-App veri

kümesi için en iyi ortalama doğruluğu MEPAR-SQL bulmuştur. Hepatitis veri kümesi

için ise ikinci en iyi ortalama yine MEPAR-SQL tarafından bulunmuştur.

Tablo 4.4. MEPAR-SQL Karşılaştırmalı Sonuçlar (çoklu sınıflılar)

Veri Kümesi NaiveBayes DecisionTable PART C4.5 MEPAR-SQL DOEA Cellular GP

Ortalama 96.00 92.67 94.00 96.00 96.60 92.10 95.00

Standart Sapma 4.66 5.84 5.84 5.20 4.72 4.29 -

Minimum 86.67 86.67 86.67 86.67 86.70 - - İris

Maksimum 100.00 100.00 100.00 100.00 100.00 98.04 96.00

Ortalama 82.38 71.52 81.00 74.90 82.40 82.41

Standart Sapma 8.55 8.68 9.45 8.12 6.47 5.53

Minimum 66.67 57.14 66.67 64.29 73.33 - Lymphography

Maksimum 93.33 86.67 93.33 86.67 93.33 92.16

Ortalama 97.19 91.19 92.19 92.19 93.33 92.10

Standart Sapma 6.25 7.10 8.94 8.94 6.71 4.29

Minimum 81.82 80.00 80.00 80.00 80.00 - Zoo

Maksimum 100.00 100.00 100.00 100.00 100.00 97.14

108

Tablo 4.4.’te çoklu sınıf veri kümelerinin sonuçları görülmektedir. Iris ve

Lymphography veri kümeleri için en iyi ortalama doğruluk MEPAR-SQL tarafından

bulunmuştur. Zoo veri kümesinde ise ikinci en iyi ortalama doğruluk yine MEPAR-

SQL tarafından bulunmuştur. Tablodan anlaşılacağı üzere çoklu sınıflandırma

problemleri için MEPAR-SQL diğer sıklıkla kullanılan güçlü algoritmalardan genellikle

daha iyi sonuç vermektedir. Sınıf sayısı ve örnek sayısı arttığında SQL sorgularıyla MS

SQL Server 2000’ı kullanan MEPAR-SQL algoritmanın performansı karşılaştırılan

algoritmalara göre daha az etkilenmektedir. Bu durum algoritmanın çok miktarda

örneğe sahip gerçek verilerle çalışabilmesini kolaylaştırmıştır.

Tablo 4.5. MEPAR-SQL Karşılaştırmalı Sonuçlar

Veri Kümesi NaiveBayes DecisionTable PART C4.5 MEPAR-SQL

Ortalama 62.89 74.96 71.48 75.41 74.74

Standart Sapma 1.81 0.73 1.02 0.08 0.01-

Minimum 59.81 72.97 69.86 75.30 74.63 ENDQ

Maksimum 65.83 75.47 72.99 75.47 74.80

Tablo 4.5.’te görüldüğü gibi ENDQ veri kümesi için ikinci en iyi doğruluğu

DecisionTable algoritması ile MEPAR-SQL paylaşmaktadır.

5. BÖLÜM

SONUÇ VE ÖNERİLER

Yapılan bu çalışmada çoklu ifade programlamanın sabit kromozom uzunluğu kullanarak

farklı büyüklük ve şekildeki ağaç yapılarının kodlanabilme avantajı ile SQL dilinin

fonksiyonelliği ve anlaşılabilirliği birleştirilmeye çalışılmıştır. Ayrıca MEPAR-SQL

algoritması veri ile ilgili bellek yönetimini ve veri işlemlerini MS SQL Server 2000

veritabanı yönetim sistemine bırakarak kendi yükünü büyük miktarda azaltmaktadır.

MEPAR-SQL, MS SQL Server 2000 sistemi için istemcidir. MS SQL Server ailesinden

herhangi bir sistem seçilerek kullanılabilir. Kullanacağınız bilgisayarda donanım olarak

166 MHz işlemci ve 64 MB bellek, yazılım olarak Windows 98 bulunması MEPAR-

SQL yazılımını kullanmanız için yeterlidir. MS SQL Server çalıştıran sunucu görevi

yapacak bilgisayarın özellikleri doğrudan MEPAR-SQL yazılımının çözüm süresini

etkileyecektir. Ayrıca uzak bilgisayarlara bağlanarak bu bilgisayarları veritabanı

sunucusu olarak kullanabilirsiniz.

Tüm bu avantajların yanında MEPAR-SQL yazılımının sonuç kural listesi temel

seviyede SQL dili bilen bir kullanıcı için tamamıyla anlamlı olacaktır.

MEPAR-SQL farklı özellikler içeren Adult, Credit-App, Hepatitis, Iris, Lymphography,

Zoo ve ENDQ veri kümeleri ile çalıştırılmıştır. MEPAR-SQL’in Adult gibi geniş, hem

sürekli, hem de kategorik nitelikler barındıran veri kümelerinde, Hepatitis gibi fazla

sayıda kayıp bilgi içeren veri kümelerinde, Irıs, Lymphography ve Zoo gibi çoklu sınıfa

sahip veri kümelerinde etkili bir algoritma olduğu gösterilmiştir. Ayrıca ENDQ gibi

gerçek bir üretim verisi üzerinde yüksek bir doğruluk değeri yakalayarak gerçek

problemlerde de MEPAR-SQL yazılımının kullanılabileceği görülmüştür.

MEPAR-SQL yazılımının etkinliği ve doğruluğu umut verici bulunmuştur.

110

110

İleride yapılması düşünülen çalışmada;

-‘OLE DB for Data Mining’ desteğinin eklenerek fonksiyonelliğin artırılması ,

-Kullanıcı tanımlı uygunluk fonksiyonu desteği eklenmesi,

-Bilinen sürekli veriyi kategorize etme tekniklerinin sisteme eklenmesi

düşünülmektedir.

111

KAYNAKLAR

1. Vahaplar, A., İnceoğlu, M.M., Veri Madenciliği ve Elektronik Ticaret,

Türkiye’de İnternet Konferansları-VII. Elektronik Poster Bildiri, 2001.

2. Two Crows Corporation, Introduction to Data Mining and Knowledge

Discovery, 10500 Falls Road, Potomac, MD 20854, Maryland, USA, 1999.

3. Wong, M. L., Leung, K. S., Data Mining Using Grammar Based Genetic

Programming and Applications, Kluwer Academic Publishers, London, 1999.

4. Carvalho, D.R., Freitas, A.A., A Genetic-Algorithm For Discovering Small-

Disjunct Rules in Data Mining, Applied Soft Computing 2, 75-88, 2002.

5. Kamrani, A., Rong, W., Gonzalez, R., A Genetic Algorithm Methodology For

Data Mining And Intelligent Knowledge Acquisition, Computers & Industrial

Engineering, 40, 361-377, 2001.

6. Fayyad, U., Madigan, D., Piatetsky-Shapira, G., Smyth, P., From Data Mining

To Knowledge Discovery In Databases, AI Magazine, 17, 37-54, 1996.

7. Adriaans, P., Zantige, D., Data Mining, Harlow: Addison-Wesley, 158, 1996.

8. Falco, I.D, Cioppa, A.D., Tarantino, E., Discovering Interesting Classification

Rules With Genetic Programming, Applied Soft Computing, 1, 257-269, 2002.

9. Zhou, Z., Three perspectives of data mining, Artificial Intelligence, 143, 139-

146, 2003.

10. Tan, K.C., Yu, Q., Heng, C.M., Lee, T.H., Evolutionary Computing For

Knowledge Discovery In Medical Diagnosis, Artificial Intelligence In Medicine

27, 129-154, 2003.

11. Data Distilleries, Introduction to Data Mining - Discover Hidden Value in Your

Databases, Amsterdam, The Netherlands, pp. 7-9, 1999.

12. Fayyad, U., Data Mining and Knowledge Discovery in Databases: Implications

for Scientific Databases, Proceedings of the 9th. International Conference on

Scientific and Statistical Databases Management,. 2-11, 1997.

13. Han, J., What Is Data Mining?, Kluwer Academic Publishers, 1999.

14. Karakaş, M., Veri Madenciliği Üzerine,

http://www.bilgiyonetimi.org/cm/pages/mkl_gos.php?nt=132, 2002.

112

15. Heckerman, D., Bayesian Networks For Knowledge Discovery. Advances In

Knowledge Discovery And Data Mining, 273-305, American Association For

Artificial Intelligence Pres, Menlo Park, CA, USA, 1996.

16. Feelders, A., Daniels, H., Holsheimer, M., Methodological And Practical

Aspects Of Data Mining, Information And Management, Elsevier Science,

Amsterdam, 37, pp. 271-281, 2000.

17. Subramanian, A., Smith, L.D., Nelson, A.C.,Campbell, J.F., Bird, D.A.,

Strategic Planning For Data Warehousing, Information And Management, 33,

99-113, 1997.

18. Yevich, R., Data Mining, Englewood Cliffs, Prentice-Hall, N.J., 309-321, 1997.

19. Chen, Z., Data Mining And Uncertain Reasoning, A Wiley-Interscience

Publication, USA, pp.392, 2001.

20. Matteo Matteucci, K-Means Clustering,

http://www.elet.polimi.it/upload/matteucc/Clustering/tutorial_html/kmeans.html,

2006.

21. Germano, T., ,http://davis.wpi.edu/~matt/courses/soms/, March, 1999.

22. Beck, M. S. L., G., Applied regression an introduction, London : Sage

Publications, 1991.

23. Han, J., Kamber, M., Data Mining: Concept and Techniques. Morgan Kaufmann

Publishers, San Francisco, 24-703, 2001.

24. Paolo Giudici, P., Applied Data Mining Statistical Methods for Business and

Indusrty, Wiley Pres, England, 120, 2003.

25. Aynekin, G., İnternet İçerik Madenciliğinde Yapay Sinir Ağları ve Bir

Uygulama, Yüksek Lisans Tezi, Uludağ Üniversitesi, Bursa, 2006.

26. Elmas, Ç., Yapay Sinir Ağları, Seçkin Yayıncılık, Ankara, 192, 2003.

27. Haykin, S., Neural Networks, Macmillan College Publishing Company, 696,

USA, 1994.

28. Komorowski, J., Zytkow, J., Principles Of Data Mining And Knowledge

Discovery, 510, Springer, Germany, , 1997.

29. Akpınar, H., Veritabanlarında Bilgi Keşfi ve Veri Madenciliği, İstanbul

Üniversitesi, İşletme Fakültesi Dergisi,1-22, Nisan 2000.

30. Eker, H., Veri Madenciliği Veya Bilgi Keşfi,

http://www.bilgiyönetimi.org/cm/pages/mkl_gos.php?nt=538, 2004.

113

31. Tseng, B., Kwon, Y., Yalçın, E., Feature-based Rule Induction in Machining

Operation Using Rough Set Theory for Quality Assurance, Robotics and

Computer-Integrated Manufacturing, 21:6, 559-567, 2005.

32. Menon R., Tong, L.H., Sathiyakeerth, S., Brombacher, A., Leong, C., The

Needs and Benefits of Applying Textual Data Mining within The Product

Development Process, Quality and Reliability Engineering International, 20:1-

15; 2004.

33. Jothishankar, M.C., Wu, T., Johnie, R., Shiau, J.Y., M. C., Case Study:

Applying Data Mining to Defect Diagnosis, Journal of Advanced Manufacturing

Systems, 3:1, 69-83, 2004.

34. Last, M., Kandel, A., Discovering Useful and Understandable Patterns in

Manufacturing Data, Robotics and Autonomous Systems, 49, 137-152, 2004.

35. Porzio G. C., Ragozini, G., Visially Mining Off-line Data for Quality

Improvement, Quality and Reliability Engineering International, 19, 273-283,

2003.

36. Bae, H., Kim, S., Kim, Y., Lee, M.H., Woo, K.B, e-Prognosis and Diagnosis for

Process Management Using Data Mining and Artificial Intelligence, IEEE, 3,

2537-2542, 2003.

37. Lian, J., Lai, X.M., Lin, Z.Q., Yao, F.S., Application of Data Mining and

Process Knowledge Discovery in Sheet Metal Assembly Dimensional Variation

Diagnosis, Journal of Materials Processing Technology, 129, 315-320, 2002.

38. Adams, L., Mining The World of Quality Data, Quality, 40, 8, ABI/INFORM

Global, 36, Aug 2001.

39. Kusiak, A., Kurasek, C., Data Mining of Printed-Curcuit Board Defects, IEEE

Transactions on Robotics and Automation, 17:2, April, 2001.

40. McDonald, C. J., New Tools for Yield Improvement in Integrated Circuit

Manufacturing: Can They be Applied to Reliability?, Microelectronics

Reliability, 39, 731-739, 1999.

41. Milne, R., Drummond, M., Renoux, P., Predicting Paper Making Defects On-

line Using Data Mining, Knowledge-Based Systems, 11, 331-338, 1998.

42. Konence, D. A., Fang, C., Tsai, S., A Data Mining Tool for Learning from

Manufacturing Systems, Computers ind. Engng, 33:1-2, 27-30, 1997.

114

43. Kim, S. H., Lee, C. M., Nonlinear Prediction of Manufacturing Systems

Through Explicit and Implicit Data Mining, Computers ind. Enging, 33:3-4,

461-464, 1997.

44. Stepien, D., Refractory Management Using Fact-Based Analysis for The

Cement Kiln, IEEE/PCA Cement Industry Technical Conference, XXXIX

Conference Record,. 359-369, Hershey, PA, USA, 1997.

45. Baykasoğlu A., Özbakır L., “A New Multiple Expression Programming Based

Approach to Discover Classification Rules For Data Mining Applications”, CIE

35, 35th International Conference on Computers and Industrial Engineering, 19-

22, İstanbul, 2005.

46. Canbulut F., Gürbüz F., Kulluk S., Özbakır L., “Dairesel Cepli

Hidrostatik+Hidrodinamik Yataklarda Sürtünme Güç Kaybı’, YA/EM’2005, 4-6

Temmuz Koç Üniversitesi, Rumelifeneri Kampüsü, Sarıyer-İstanbul, 2005.

47. Takac, A., Cellular Genetic Programming Algorithm Applied To Classification

Task,Institute of Informatics, Faculty of Mathematics, Physics and Informatics

Comenius University, Brastislava, Slovakia, 2002.

48. Baykasoğlu, A.,Özbakır L., MEPAR Miner: MEP for Classification Rule

Mining, 2006.

49. Bojarczuka, C. C., Lopesa, H.S., Freitasb, A.A., Michalkiewiczc, E.L., A

constrained-syntax genetic programming system for discovering classification

rules: application to medical data sets, Artificial Intelligence In Medicine, 30,

27-48, 2004.

50. G.Folino, G., Pizzuti, C., Spezzano, G., A Cellular Genetic Programming

Approach to Classification, Proc. Of the Genetic and Evolutionary Computation

Conference GECCO99, Morgan Kaufmann, 1015-1020, Orlando, Florida, 1999.

51. Tan, K. C., Yu, Q., Ang, J.H., A Dual-Objective Evolutionary Algorithm for

Rules Extraction in Data Mining, omputational Optimization And Applications,

34, 273-294, 2006.

52. Wong, M. L., Leung, K. S., Data Mining Using Grammar Based Genetic

Programming And Applications, Kluwer Academic Publishers, Londan, 2000.

53. Bojarczuk, C. C., Lopes, H.S., Freitas, A.A., Genetic Programming For

Knowledge Discovery In Chest-Pain Diagnosis, IEEE Engineering In Medicine

And Biology Magazine, 4:19, 38-44, 2000.

115

54. Clark, P., Boswell, R., Rule Induction With CN2: Some Recent Improvments,

Machine Learning - Proceedings of the Fifth European Conference, 1991.

55. Michalewicz, Z., Genetic Algorithms + Data Structure = Evolutionary Programs,

2nd Edition, Springer-Verlag, Berlin, 1996.

56. Telcioğlu M.B., Montaj Hattı Dengeleme Problemlerinin Genetik Algoritma

Tekniği Kullanılarak Çözülmesi ve Bilgisayar Programı Uygulaması Pegasus

Yazılımı, Yüksek Lisans Tezi, Erciyes Üniversitesi, 2002.

57. Holland, J. H., Adaptation in Natural and Artificial Systems. University of

Michigan Press, Ann Arbor, 1975.

58. Koza, J.R., Genetic Programming: On the Programming of Computers by Means

of Natural Selection,MIT Press, Cambridge, 1992.

59. Gruau, F. Cellular Encoding Of Genetic Neural Networks, Technical Report 92-

21, 1992.

60. Teller, A., Veloso, M., PADO: A New Learning Architecture For Object

Recognition, Oxford University Pres, 81-116, 1996.

61. Ferreira, C., Analyzıng The Founder Effect In Sımulated Evolutionary Processes

Using Gene Expression Programming, Soft Computing Systems: Design,

Management And Applications, 153-163, IOS Pres, Netherlands, 2002

62. Ryan M, Rayward-Smith, V., TheEevolution Of Decision Trees, In: Koza J,

editor, Proceedings of the Third Annual Conference on Genetic Programming, ,

Morgan Kaufmann; 350-8, San Francisco, 1998.

63. Eggermont, J.,Eiben, A.E.,Van Hemert, J.I., A comparison of genetic

programming variants for data classication, Advances in Intelligent Data

Analysis, Third International Symposium, IDA-99, 1999.

64. Freitas, A. A., A Survey Of Evolutionary Algorithms For Data Mining And

Knowledge Discovery, In Ghosh A, And Tsutsui S, Editors. Advances In

Evolutionary Computation, Berlin,Springer, 2002.

65. Freitas, A. A., A Genetic Programming Framework For Two Data Mining

Tasks: Classification And Generalized Rule Induction. Proc. 2nd Annual Conf.,

Genetic Programming, Morgan Kaufmann, Stanford University, 96-101, 1997.

66. Carvalho, D.R., Freitas, A.A., A genetic algorithm with sequential niching for

discovering small-disjunct rules. In Langdon, W.B., et al, editors, Proceedings

116

Genetic and Evolutionary Computation Conference (GECCO-2002), New York

and San Francisco, USA, July 2002. Morgan Kaufmann,1035-1042, 2002.

67. Carvalho, D.R., Freitas, A.A., New Results For a Hybrid Decision Tree/genetic

Algorithm For Data Mining. In Garibaldi, J., et al., editors, Proc. 4th Int. Conf.

on Recent Advances in Soft Computing (RASC-2002), Nottingham Trent

University, 260-265, 2002.

68. Fidelis, M.V., Lopes, H.S., Freitas, A.A., Discovering comprehensible

classification rules with a genetic algorithm. Proc. Congress on Evolutionary

Computation (CEC-2000). La Jolla, CA, USA, 805-810, 2000.

69. Bojarczuk, C.C., Lopes, H.S., and Freitas, A.A., Genetic Programming For

Knowledge Discovery In Chest Pain Diagnosis. IEEE Engineering in Medicine

and Biology magazine - Special Issue on Data Mining and Knowledge

Discovery, 19:4, 38-44, 2000.

70. Bojarczuk, C.C., Lopes, H.S., and Freitas, A.A., Michalkiewicz, E.L., A

Constrained-Syntax Genetic Programming System For Discovering

Classification Rules, Application To Medical Data Sets. Artificial Intelligence in

Medicine 30, 27-48, 2004.

71. Hassan, Y., Tazaki, E., Rule Extraction Based On Rough Set Theory Combined

With Genetic Programming and Its Application To Medical Data Analysis.

Seventh Australian and New Zeland Intelligent Information Systems

Conference, Perth, Western Australia, 18-21, 2001.

72. Koza, J., Genetic Programming: A Paradigm For Genetically Breeding

Populations of Computer Programs to Solve Problems. PhD Thesis, Stanford

University, Stanford, 1990.

73. Koza, J.R.,

http://www.genetic-programming.com/gpanimatedtutorial.html, Ağustos 2003.

74. Koza, J.R.,

http://www.genetic-programming.com/gppreparatory.html, Ağustos 2003.

75. Koza, J.R.,

http://www.genetic-programming.com/gpflowchart.html, Ağustos 2003.

76. Brameier, M., On Linear Genetic Programming, PhD.Thesis, Dortmund

University, Dortmund, 2004.

117

77. Ferreira, C., Gene Expression Programming in Problem Solving, WSC6

Tutorial, 2001.

78. Ferreira, C., GEP: A New Adaptive Algorithm For Solving Problems, 2000.

79. Oltean, M., Multi Expression Programming, Technical Report, Babes-Bolyai

Univ, Romania, 2006.

80. Oltean, M., Grosan, C., Evolving Evolutionary Algorithms Using Multi

expression Programming, The 7th European Conference on Artificial Life,

September 14-17, 2003, Dortmund, Edited by W. Banzhaf, LNAI 2801, 651-

658, Springer-Verlag, Berlin, 2003.

81. Clark, P.,Boswell, R., Rule Induction With CN2: Some Recent Improvements,

In Proceedings of The Sixth European Working Session on Learning, 151–163,

Porto, Portugal, 1991.

82. Panagi, G., Dounias, G., Tsakonas, A., Computational Intelligence Based

Differential Diagnosis of MultipleSclerosis and Cerebrovascular Disease, 2001.

118

EKLER

EK-1 ENDQ Veri Kümesi Hakkında Bilgiler

ENDQ veri kümesi dokuma bez üreten bir tekstil firmasının ham bez kalite kontrol

departmanının 6 aylık yüzde kalite değerlerini içermektedir. Kalite edilen tezgah çıkışı

bezler kalite masalarında kalite edilerek parti miktarındaki hata değerinin yüzdeleri

veritabanına kaydedilmiştir. Hata bilgileri bezin dokuma işleminde önemli olan

parametreleri nitelik olarak eklenerek ENDQ veri kümesi oluşturulmuştur. Bu nitelik

değerleri ürünün kimlik bilgileri olduğu için şirket tarafından saklı tutulmuştur. Şirket

standartları çerçevesinde bu parti üretim kayıtları 5 ayrı sınıfa atanmıştır.

119

EK-2. MINITAB Analiz Grafikleri

EK-2.a. Adult Ana Etki Grafiği

EK-2.b. Adult Etkileşim Grafiği 1

120

EK-2.c. Adult Etkileşim Grafiği 2

EK-2.d. Adult Etkileşim Grafiği 3

121

EK-2.e. Creadit-App Ana Etki Grafiği

EK-2.f. Credit-App Etkileşim Grafiği 1

122

EK-2.g. Credit-App Etkileşim Grafiği 2

EK-2.h. Credit-App Etkileşim Grafiği 3

123

EK-2.i. Iris Ana Etki Grafiği

EK-2.j. Iris Etkileşim Grafiği 1

124

EK-2.k. Iris Etkileşim Grafiği 2

EK-2.l. Iris Etkileşim Grafiği 3

125

EK-2.m. Lymphography Ana Etki Grafiği

EK-2.n. Lymphography Etkileşim Grafiği 1

126

EK-2.o. Lymphography Etkileşim Grafiği 2

EK-2.p. Lymphography Etkileşim Grafiği 3

127

EK-2.q. Zoo Ana Etki Grafiği

EK-2.r. Zoo Etkileşim Grafiği 1

128

EK-2.s. Zoo Etkileşim Grafiği 2

EK-2.t. Zoo Etkileşim Grafiği 3

129

EK-2.u. ENDQ Ana Etki Grafiği

EK-2.v. ENDQ Etkileşim Grafiği 1

130

EK-2.y. ENDQ Etkileşim Grafiği 2

EK-2.z. ENDQ Etkileşim Grafiği 3

131

EK-3. MEPAR-SQL Sonuç Çıktıları

EK-3.a Adult Veri Kümesi Sonuç Çıktısı

Tablo Sırası:1 [adult_train]&[adult_test] 26. İTERASYON >50K kuralının tekil uygunluğu=0.738521632704283 Conf:%0.720708823439084 TP:6974 TN:16493 FP:8227 FN:867 KURAL>> (([Col003]> 162256 OR [Col009]<> ' Amer-Indian-Eskimo' ) AND ([Col011]>= 7298 OR [Col006]= ' Married-civ-spouse' )) <=50K kuralının tekil uygunluğu=0.755568907605688 Conf:%0.831209115199165 TP:22711 TN:4354 FP:3487 FN:2009 KURAL>> (((([Col001]is not null AND [Col011]<= 2961 ) OR [Col003]> 65991 ) AND [Col011]<= 2961 ) AND (([Col006]<> ' Married-civ-spouse' OR [Col005]<= 11 ) OR [Col003]>= 1490400 )) GÜVENİLİRLİK TABLOSU [ÖĞRENME] SINIF >50K <=50K <=50K kuralı 3487 22711 >50K kuralı 4308 1752 Default 46 257 CONFIDENCE:0.837689260157858 GÜVENİLİRLİK TABLOSU [TEST] SINIF >50K <=50K <=50K kuralı 1705 11438 >50K kuralı 2119 858 Default 22 139 CONFIDENCE:0.841225968920828

EK-3.b Credit-App Veri Kümesi Sonuç Çıktısı

[Credit_app_training6]&[Credit_app_test6] 51. İTERASYON 0 kuralının tekil uygunluğu=0.862382465565517 Doğruluk:%0.855072463768116 TP:278 TN:253 FP:16 FN:74 KURAL>> ([Col009]<> 1 AND (([Col003]>= 1 AND [Col005]< 3 ) AND [Col015]is not null )) 1 kuralının tekil uygunluğu=0.859128098087337 Doğruluk:%0.851851851851852 TP:252 TN:277 FP:75 FN:17 KURAL>> ([Col013]= 3 OR [Col009]<= 1 ) DÜZENSİZLİK MATRİSİ [ÖĞRENME] SINIF 0 1 0 kuralı 278 16 1 kuralı 72 248 Varsayılan 2 5 DOĞRULUK:0.855072463768116 DÜZENSİZLİK MATRİSİ [TEST] SINIF 0 1

132

0 kuralı 26 1 1 kuralı 5 37 Varsayılan 0 0 DOĞRULUK:0.91304347826087

EK-3.c Iris Veri Kümesi Sonuç Çıktısı

[iris_2218200806_tr7_10]&[iris_2218200806_ts7_10] 1. İTERASYON Iris-setosa kuralının tekil uygunluğu=1 Conf:%1 TP:43 TN:92 FP:0 FN:0 KURAL>> NOT( [Col004]>= 1.00) Iris-versicolor kuralının tekil uygunluğu=0.915740191213882 Conf:%0.925925925925926 TP:38 TN:87 FP:3 FN:7 KURAL>> NOT((NOT( [Col004]BETWEEN 1.10 AND 1.70) OR [Col004]is null ) OR [Col003]> 5.10 ) Iris-virginica kuralının tekil uygunluğu=0.967359767891683 Conf:%0.97037037037037 TP:45 TN:86 FP:2 FN:2 KURAL>> (([Col004]>= 1.70 AND NOT( [Col001]< 4.30) ) OR NOT([Col003]< 5.20 OR NOT( [Col003]> 3.70) )) GÜVENİLİRLİK TABLOSU [ÖĞRENME] SINIF Iris-setosa Iris-versicolor Iris-virginica Iris-setosa kuralı 43 0 0 Iris-virginica kuralı 0 2 45 Iris-versicolor kuralı 0 37 2 Default 0 6 0 CONFIDENCE:0.97037037037037 GÜVENİLİRLİK TABLOSU [TEST] SINIF Iris-setosa Iris-versicolor Iris-virginica Iris-setosa kuralı 7 0 0 Iris-virginica kuralı 0 0 3 Iris-versicolor kuralı 0 4 0 Default 0 1 0 CONFIDENCE:1

EK-3.d Lymphography Veri Kümesi Sonuç Çıktısı

[lymphography_2221200806_tr3_10]&[lymphography_2221200806_ts3_10] 26. İTERASYON 1 kuralının tekil uygunluğu=1 Conf:%1 TP:1 TN:132 FP:0 FN:0 KURAL>> [Col002]< 2 2 kuralının tekil uygunluğu=0.815458541413648 Conf:%0.796992481203007 TP:46 TN:60 FP:3 FN:24 KURAL>> (([Col017]is null OR [Col014]= 3 ) AND ([Col003]>= 2 OR (([Col011]<= 4 AND [Col003]>= 2 ) AND [Col004]is null ))) 3 kuralının tekil uygunluğu=0.808109281274017 Conf:%0.81203007518797 TP:44 TN:64 FP:11 FN:14 KURAL>> ([Col014]<> 3 AND [Col018]> 1 ) 4 kuralının tekil uygunluğu=1 Conf:%1 TP:4 TN:129 FP:0 FN:0 KURAL>> ([Col010]<> 1 AND [Col007]>= 2 )

133

GÜVENİLİRLİK TABLOSU [ÖĞRENME] SINIF 1 2 3 4 1 kuralı 1 0 0 0 4 kuralı 0 0 0 4 2 kuralı 0 46 3 0 3 kuralı 0 8 44 0 Default 0 16 11 0 CONFIDENCE:0.834586466165414 GÜVENİLİRLİK TABLOSU [TEST] SINIF 1 2 3 4 1 kuralı 1 0 0 0 4 kuralı 0 0 0 0 2 kuralı 0 7 0 0 3 kuralı 0 0 2 0 Default 0 4 1 0 CONFIDENCE:0.933333333333333

EK-3.e Zoo Veri Kümesi Sonuç Çıktısı

[zoo_2222200806_tr6_10]&[zoo_2222200806_ts6_10] 7. İTERASYON 1 kuralının tekil uygunluğu=1 Conf:%1 TP:35 TN:56 FP:0 FN:0 KURAL>> NOT( [Col005]<> '1') 2 kuralının tekil uygunluğu=1 Conf:%1 TP:17 TN:74 FP:0 FN:0 KURAL>> [Col003]= '1' 3 kuralının tekil uygunluğu=0.810852398226467 Conf:%0.967032967032967 TP:2 TN:86 FP:0 FN:3 KURAL>> ((NOT( [Col007]<> '0') AND NOT( [Col001]= 'housefly') ) AND (NOT( [Col009]<> '1') AND NOT( [Col014]<> '0') )) 4 kuralının tekil uygunluğu=1 Conf:%1 TP:13 TN:78 FP:0 FN:0 KURAL>> (NOT( [Col013]<> '1') AND [Col004]= '1' ) 5 kuralının tekil uygunluğu=0.847474655714106 Conf:%0.967032967032967 TP:3 TN:85 FP:3 FN:0 KURAL>> (([Col014]= '4' OR [Col014]= '4' ) AND [Col005]<> '1' ) 6 kuralının tekil uygunluğu=1 Conf:%1 TP:8 TN:83 FP:0 FN:0 KURAL>> ([Col014]= '6' AND NOT( [Col007]= '1') ) 7 kuralının tekil uygunluğu=0.950765238690299 Conf:%0.978021978021978 TP:10 TN:79 FP:2 FN:0 KURAL>> ([Col006]= '0' AND [Col010]= '0' ) GÜVENİLİRLİK TABLOSU [ÖĞRENME] SINIF 1 2 3 4 5 6 7 1 kuralı 35 0 0 0 0 0 0 2 kuralı 0 17 0 0 0 0 0 4 kuralı 0 0 0 13 0 0 0 6 kuralı 0 0 0 0 0 8 0 7 kuralı 0 0 0 0 0 0 10 5 kuralı 0 0 2 0 3 0 0 3 kuralı 0 0 2 0 0 0 0 Default 0 0 1 0 0 0 0 CONFIDENCE:0.978021978021978 GÜVENİLİRLİK TABLOSU [TEST]

134

SINIF 1 2 3 4 5 6 7 1 kuralı 6 0 0 0 0 0 0 2 kuralı 0 3 0 0 0 0 0 4 kuralı 0 0 0 0 0 0 0 6 kuralı 0 0 0 0 0 0 0 7 kuralı 0 0 0 0 0 0 0 5 kuralı 0 0 0 0 1 0 0 3 kuralı 0 0 0 0 0 0 0 Default 0 0 0 0 0 0 0 CONFIDENCE:1

EK-3.f ENDQ Veri Kümesi Sonuç Çıktısı

[ENDQ_1647181206_tr1_1]&[ENDQ_1647181206_ts1_1] 51. İTERASYON B kuralının tekil uygunluğu=0.57707158338008 Doğruluk:%0.878114842903575 TP:18 TN:1603 FP:21 FN:204 KURAL>> NOT((NOT( [ASIK]>= 25.00) AND [TNO1]< 105 ) OR [AHRM]<> 'H' ) F kuralının tekil uygunluğu=0.631053117682804 Doğruluk:%0.977248104008667 TP:4 TN:1800 FP:1 FN:41 KURAL>> (([ORGU]<> '4/4' AND [DEVIR]BETWEEN 220 AND 250 ) AND [CHRM]= 'S' ) A kuralının tekil uygunluğu=0.599307851058708 Doğruluk:%0.677681473456121 TP:1040 TN:211 FP:241 FN:354 KURAL>> ([CTIP]<> 'RS' AND ((([ANE]>= 14 AND [BEZENI]NOT BETWEEN 121 AND 180 ) OR [TEZGAH]<> 'S' ) OR [CNE]<= 17 )) C kuralının tekil uygunluğu=0.567385397898501 Doğruluk:%0.94907908992416 TP:4 TN:1748 FP:4 FN:90 KURAL>> ((([ATIP]is null OR [ANE]> 16 ) AND [CNE]<> 17 ) AND [AHRM]= '2' ) D kuralının tekil uygunluğu=0.57682414501359 Doğruluk:%0.950704225352113 TP:5 TN:1750 FP:5 FN:86 KURAL>> (([ORGU]= '6/6' AND [DEVIR]is not null ) OR ([ATIP]= 'NL' OR ([ANE]>= 10 AND [AHRM]= '3' ))) DÜZENSİZLİK MATRİSİ [ÖĞRENME] SINIF B F A C D F kuralı 1 4 0 0 0 A kuralı 136 16 1040 50 39 B kuralı 0 0 3 0 0 D kuralı 0 1 1 1 5 C kuralı 1 1 1 2 0 Varsayılan 84 23 349 41 47 DOĞRULUK:0.75839653304442 DÜZENSİZLİK MATRİSİ [TEST] SINIF B F A C D F kuralı 0 0 0 0 0 A kuralı 53 7 348 10 17 B kuralı 0 0 0 0 0 D kuralı 0 1 1 0 0 C kuralı 1 0 1 0 0 Varsayılan 25 6 112 23 10 DOĞRULUK:0.747967479674797

135

ÖZGEÇMİŞ

1980 yılında Kayseri’de doğan M. Burak TELCİOĞLU, ilk, orta ve lise öğrenimini

Kayseri’de tamamladı. 1998 yılında Erciyes Üniversitesi Mühendislik Fakültesi

Endüstri Mühendisliği Bölümü’nde üniversite öğrenimine başladı. 2002 yılında aynı

fakülteden Endüstri Mühendisi diplomasını aldı.2004 yılında Erciyes Üniversitesi Fen

Bilimleri Enstitüsü’nde Endüstri Mühendisliği Yüksek Lisansına başladı. Aynı yıl

Birlik Mensucat A.Ş. de Sistem Analisti olarak göreve başladı. Halen aynı şirkette

çalışmaktadır ve lisansüstü çalışmalarına devam etmektedir.