Veri Madenciliğinde Genetik Programlama Temelli Yeni Bir

advertisement
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].
Geleneksel teknikler
%5 Bilinen ilişkiler
Veri Madenciliği
%95 Saklı ilişkiler
Ş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
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.
Problemin
Tanımlanması
Geçmiş Bilgiler
Veri Seçimi
Veri Önişleme
Analiz ve
Yorum
Raporlama ve
Kullanım
Ş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.
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;
yˆ i =
1
∑ yj
k x j ∈N ( xi )
(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.
Girdi
Katmanı
Çıktı
Katmanı
Gizli
Katman
Ş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].
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
geliştirmişlerdir.
özlü
ve
yorumlanabilir
Yöntemlerini
iki
yarı
modellerin
iletken
otomatik
ürünün
kurulumu
gelir
için
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
sınıflandırıcılar
anlaşılabilirlik
genellikle
söz
konusu
iyi
sınıflandırma
olduğunda
ilk
kural tabanlı olmayan
doğrulukları
tercih
yakalarlar.
Ancak,
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.
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
Şekil 2.6. Basit Genetik Algoritma İşleyişi
Adım1. Başlangıç popülasyonu oluştur.
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
Adım8. Mutasyon işlemini uygula.
olacaktır.
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].
Terminal Kümesi
Fonksiyon Kümesi
Uygunluk Ölçümü
Parametreler
Durdurma Kriteri
&
Sonuç Ataması
GENETİK
PROGRAMLAMA
Bir Bilgisayar
Programı
Ş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].
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
BAŞLANGIÇ POPÜLASYONU
UYGUNLUK HESAPLAMASI
UYGUNLUK ÖLÇEKLENDİRME
DOĞAL SEÇİM MEKANİZMASI
ÇOĞALMA OPERASYONU
ÇAPRAZLAMA OPERASYONU
MUTASYON OPERASYONU
MİMARİ DEĞİŞİM OPERASYONU
?
DUR
Ş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
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
f ( s j (t ))
M
∑ f (s
j
(2)
(t ))
j =1
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];
BAŞLANGIÇ POPÜLASYONU
KROMOZOM İFADELERİ
PROGRAM ÇALIŞMALARI
UYGUNLUK HESAPLAMASI
?
ELİT BİREY SEÇİMİ
DOĞAL SEÇİM MEKANİZMASI
REPLİKASYON
MUTASYON
IS SIRA DEĞİŞİMİ
RIS SIRA DEĞİŞİMİ
GEN SIRA DEĞİŞİMİ
TEK NOKTALI ÇAPRAZLAMA
İKİ NOKTALI ÇAPRAZLAMA
YENİ POPULASYONUN HAZIRLANMASI
Şekil 2.14. GEP Akış Diyagramı
DUR
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
a.b
+ d −e
c
denklemini düşünelim. Bu denklem Şekil 2.15.’teki gibi gösterilebilir [77];
(3)
58
Şekil 2.15.
a.b
+ d − e Denkleminin Gösterimi
c
‘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ı; (n + 1) * (Gen _ Sayisi − 1) + 1 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
durumu şekil 2.22.’de gösterilmiştir.
Şekil 2.22. MEP Mutasyon
kromozomun ilk ve son
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].
c=
tp * tn − fn * fp
(tn + fn) * (tn + fp ) * (tp + fn) * (tp + fp )
(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]
 TP   TN 
:
 x

 TP + FN   TN + FP 
Doğru Değer Oranı
:
TAN I [10]
TN 
 N   TP  
:
 x
 x 1 +

 N + FP   FN + TP   FP + TN 
(7),
TAN II [51]

 

TP + w1TN
1
 x

: 
TP
+
w
TN
+
FP
+
FN
1
+
w
FP
1
2

 

(8)
TP + TN
N
(5),
(6),
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:schemasmicrosoft-com:xml-msdata">
<xs:element name="AYRIMLAR" msdata:IsDataSet="true" msdata:Locale="trTR">
<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. “MEPARSQL 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
1 kuralı
32
0
0
2 kuralı
0
14
0
4 kuralı
0
0
0
7 kuralı
0
0
0
6 kuralı
0
0
0
3 kuralı
0
0
2
5 kuralı
0
0
2
Varsayılan
0
0
1
DOĞRULUK:0.947368421052632
DÜZENSİZLİK MATRİSİ [TEST]
SINIF
1
2
3
1 kuralı
9
0
0
2 kuralı
0
6
0
4 kuralı
0
0
0
7 kuralı
0
0
0
6 kuralı
0
0
0
3 kuralı
0
0
0
5 kuralı
0
0
0
Varsayılan
0
0
0
DOĞRULUK:0.96
Hata: Yok
4
0
0
7
0
0
0
0
0
5
0
0
0
0
0
0
2
0
6
0
0
0
1
6
0
0
0
7
0
0
0
8
0
0
0
1
4
0
0
6
0
0
0
0
0
5
0
0
0
0
0
0
2
0
6
0
0
0
0
1
0
0
0
7
0
0
0
0
0
0
0
1
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ü;
TP + TN
N
(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
Sürekli
Nominal
Değer
Değer
Yüzdesi
Yüzdesi
2
43
57
Var
15
2
40
60
Var
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
Veri Kümesi
Gözlem
Nitelik
Sınıf
Adı
Sayısı
Sayısı
Sayısı
Adult
48842
14
Credit-app
690
Hepatitis
Kayıp
Bilgi
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
Çaprazlama Oranı
Hepatitis,Adult,Iris,
Lymphography, Zoo
Düzeyleri
.7 - .9
Credit-App, ENDQ
Düzeyleri
.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
0.38
0.72
1.22
1.28
0.95
0.35
5
4
2
1
3
6
Delta
Rank
Çı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
0.83
2.50
2.17
0.17
1.83
2.83
5
2
3
6
4
1
Delta
Rank
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
1.18
0.12
2.32
0.98
0.35
1.45
3
6
1
4
5
2
Delta
Rank
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
2.15
2.98
2.58
0.98
2.65
0.45
4
1
3
5
2
6
Delta
Rank
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
“terminal sayısı”dır. Sonuçlar aşağıdaki MINITAB çıktısında
olan parametre ise
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
0.60
1.30
1.60
0.67
0.33
0.73
5
2
1
4
6
3
Delta
Rank
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
“popülasyon sayısı”dır. Sonuçlar aşağıdaki MINITAB çıktısında
parametre ise
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
0.03
0.07
0.00
0.17
0.23
0.10
5
4
6
2
1
3
Delta
Rank
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
“çaprazlama oranı”dır. Sonuçlar aşağıdaki MINITAB çıktısında
parametre ise
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
0.11
2.28
2.93
1.52
3.58
0.76
6
3
2
4
1
5
Delta
Rank
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
Ortalama
Adult
Credit-App
Hepatitis
83.25
DecisionTable
85.94
PART
85.29
C4.5
86.04
MEPAR-SQL
DOEA Cellular GP
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
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
-
-
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
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
İris
Lymphography
Zoo
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
-
-
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
-
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
-
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 MEPARSQL 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
ENDQ
NaiveBayes
DecisionTable
PART
C4.5
MEPAR-SQL
74.74
Ortalama
62.89
74.96
71.48
75.41
Standart Sapma
1.81
0.73
1.02
0.08
0.01-
Minimum
59.81
72.97
69.86
75.30
74.63
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ı MEPARSQL 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
İ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
düşünülmektedir.
110
tekniklerinin
sisteme
eklenmesi
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 SmallDisjunct 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, 139146, 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:115; 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 Online 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, 1922, İ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 9221, 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, 651658, 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-setosa kuralı
43
0
Iris-virginica kuralı
0
2
Iris-versicolor kuralı
0
37
Default
0
6
CONFIDENCE:0.97037037037037
Iris-virginica
0
45
2
0
GÜVENİLİRLİK TABLOSU [TEST]
SINIF
Iris-setosa Iris-versicolor
Iris-setosa kuralı
7
0
Iris-virginica kuralı
0
0
Iris-versicolor kuralı
0
4
Default
0
1
CONFIDENCE:1
Iris-virginica
0
3
0
0
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
1 kuralı
1
0
0
4 kuralı
0
0
0
2 kuralı
0
7
0
3 kuralı
0
0
2
Default
0
4
1
CONFIDENCE:0.933333333333333
4
0
0
0
0
0
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
1 kuralı
35
0
0
0
2 kuralı
0
17
0
0
4 kuralı
0
0
0
13
6 kuralı
0
0
0
0
7 kuralı
0
0
0
0
5 kuralı
0
0
2
0
3 kuralı
0
0
2
0
Default
0
0
1
0
CONFIDENCE:0.978021978021978
GÜVENİLİRLİK TABLOSU [TEST]
5
0
0
0
0
0
3
0
0
6
0
0
0
8
0
0
0
0
7
0
0
0
0
10
0
0
0
134
SINIF
1
1 kuralı
6
2 kuralı
0
4 kuralı
0
6 kuralı
0
7 kuralı
0
5 kuralı
0
3 kuralı
0
Default
0
CONFIDENCE:1
2
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
5
0
0
0
0
0
1
0
0
6
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
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
F kuralı
1
4
0
0
A kuralı
136
16
1040 50
B kuralı
0
0
3
0
D kuralı
0
1
1
1
C kuralı
1
1
1
2
Varsayılan 84
23
349
41
DOĞRULUK:0.75839653304442
D
0
39
0
5
0
47
DÜZENSİZLİK MATRİSİ [TEST]
SINIF
B
F
A
F kuralı
0
0
0
A kuralı
53
7
348
B kuralı
0
0
0
D kuralı
0
1
1
C kuralı
1
0
1
Varsayılan 25
6
112
DOĞRULUK:0.747967479674797
D
0
17
0
0
0
10
C
0
10
0
0
0
23
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.
Download