geneti̇k algori̇tma

48
OSMAN NAN İ GENETİK ALGORİTMA

Upload: osman-inan

Post on 18-Jul-2015

124 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Geneti̇k algori̇tma

OSMAN NANİ

GENETİK ALGORİTMA

Page 2: Geneti̇k algori̇tma

Genetik Algoritma (GA) Amacı Kullanım Alanları Kavramlar

Uygulama adımları Parametreler GA kodlama türleri Uygulama Örneği

İÇERİK

Page 3: Geneti̇k algori̇tma

Litaratür1975 John Holland ve çalışma gurubu GA ilk olarak ortaya atılmıştır.

1989 David E. Goldberg Tarafından geliştirilmiştir.

1993 Beasley An Overview of Genetic Algorithms

1999 Bingül SEKMEN An Application of Multi-Dimensional Optimization Problems Using Genetic Algorithms

Page 4: Geneti̇k algori̇tma

GA, rastsal arama tekniklerini kullanarak çözüm bulmaya çalışan, parametre kodlama esasına dayanan bir arama tekniğidir.

GENETİK ALGORİTMA

Page 5: Geneti̇k algori̇tma

Bir veri grubu içinde özel bir veriyi bulmak için kullanılır.

GA değişik planlama teknikleri ile bir fonksiyonun optimizasyonu veya ardışık değerlerin tespitini içine alan birçok problem tipleri için çözüm arama yöntemidir .

GA yapısı gereği, kötü bireyleri yani uygun olmayan çözümleri elemektedir.

GENETİK ALGORİTMA

Page 6: Geneti̇k algori̇tma

GA AMACI

GA’ nın temel amacı, fazla sayıda kısıt içeren ve karmaşık eniyileme sorunlarının çözümlerini, yazılımlar yardımıyla araştırmaktır.

Hem problemleri çözmek hem de evrimsel sistemleri modellemektir.

Page 7: Geneti̇k algori̇tma

GA KULLANIM ALANLARI Optimizasyon Otomatik Programlama ve

Bilgi Sistemleri Mekanik Öğrenme Ekonomik ve Sosyal Sistem

Modelleri Finans Pazarlama Üretim/İşlemler Montaj Hattı Dengeleme

Problemi Çizelgeleme Problemi

Tesis Yerleşim Problemi Atama Problemi Hücresel Üretim Problemi Sistem Güvenilirliği Problemi Taşıma Problemi Gezgin Satıcı Problemi Araç Rotalama Problemi Minimum Yayılan Ağaç

Problemi

Page 8: Geneti̇k algori̇tma

GA İLE KLASİK ENİYİLEME ARASINDAKİ TEMEL FARKLAR

GA parametrelerin kendileri ile değil, parametre takımının kodlanmış bir haliyle uğraşırlar.

GA amaç fonksiyonunun türevlerini ve birtakım ek bilgileri değil, doğrudan amaç fonksiyonunun kendisini kullanırlar.

GA’da deterministlik değil rastlantısal geçiş kuralları kullanılır.

Page 9: Geneti̇k algori̇tma

GA KAVRAMLARI

Gen Yapay sistemlerde gen, kendi başına anlamlı bilgi taşıyan

en küçük birim olarak tanımlanır.

Kromozom (Birey) Birden fazla genin bir araya gelerek oluşturduğu diziye

denir. Kromozomlar, alternatif aday çözümleri gösterirler.

Popülasyon Kromozomlardan oluşan topluluğa denir. Popülasyon, geçerli alternatif çözüm kümesidir.

Page 10: Geneti̇k algori̇tma

GA KAVRAMLARI Uygunluk Fonksiyonu

Belirlenen çözümlerin uygunluk derecelerinin ölçülmesini sağlayan bir fonksiyondur. Kromozomun ya da çözümün sisteme uygulanmasıyla elde edilecek çıktıya ulaşılır.

Bu fonksiyon ile, kromozom içerisindeki kodlanmış ya da kodlanmamış bilgiler çözümlenerek sayısal bir değer elde edilir.

Uygunluğu yüksek olan bireyin, yeni nesle aktarılma ihtimali de daha yüksek olacaktır.

Page 11: Geneti̇k algori̇tma

UYGUNLUK FONKSİYONUF(x) = xF(x) = x22 + x + x

Girdi Çıktı

Fonksiyon 1 1 2

Fonksiyon 2 2 6

Fonksiyon 3 4 20

Fonksiyon 4 7 56

Fonksiyon 5 9 90

Page 12: Geneti̇k algori̇tma

GA AKIŞ SEMASI1. İlk değerlendirme2. Sonraki

değerlendirmeler3. Sistemin ne

zaman durması gerektiğine karar ver!

Page 13: Geneti̇k algori̇tma

Arama uzayındaki tüm mümkün çözümler dizi olarak kodlanır.

Genellikle rastsal bir çözüm kümesi seçilir ve başlangıç popülasyonu olarak kabul edilir.

Her bir dizi için bir uygunluk değeri hesaplanır. Bir grup dizi belirli bir olasılık değerine göre

rastsal olarak seçilip çoğalma işlemi gerçekleştirilir.

GA UYGULAMA ADIMLARI

Page 14: Geneti̇k algori̇tma

Yeni bireylerin uygunluk değerleri hesaplanarak, çaprazlama ve mutasyon işlemlerine tabi tutulur.

Önceden belirlenen kuşak sayısı boyunca yukarıdaki işlemler devam ettirilir.

İterasyon, belirlenen kuşak sayısına ulaşınca işlem sona erdirilir.

Amaç fonksiyonuna göre en uygun olan dizi seçilir.

GA UYGULAMA ADIMLARI

Page 15: Geneti̇k algori̇tma

Çaprazlama, iki kromozomun (çözümün) birbirleri arasında gen alışverişinde bulunup iki yeni kromozom oluşturmasıdır.

Amacı, mevcut iyi kromozomların özelliklerini birleştirerek daha uygun kromozomlar oluşturmaktır.

Eğer kodlamada gerçek değerler kullanılıyorsa, klasik çaprazlama yöntemi yerine daha farklı yöntemler kullanılmaktadır

ÇAPRAZLAMA (Crossover, Gen Takası)

Page 16: Geneti̇k algori̇tma

Bir problem çözüm uzayından kaç adet kromozomun çaprazlanacağı çaprazlama oranına P(c) göre belirlenmektedir.

Çaprazlama oranı, fertlerin eşleştiklerinde mutasyon yapıp yapmayacaklarına ilişkin olasılığı ifade eden orandır.

Çaprazlamanın artması, yapı bloklarının artmasına neden olmakta fakat aynı zamanda bazı iyi kromozomların da bozulma olasılığını arttırmaktadır.

ÇAPRAZLAMA ORANI

Page 17: Geneti̇k algori̇tma

ÇAPRAZLAMA

Page 18: Geneti̇k algori̇tma

ÇAPRAZLAMA

Page 20: Geneti̇k algori̇tma

MUTASYON

Amacı popülasyondaki genetik çeşitliliği korumaktır.

Yeni çözüm aramanın kolaylaştırılması ve aramanın yönünü değiştirmek amacı ile bir kromozomun bir elemanının değiştirilmesi işlemidir.

Yapay genetik sistemlerde mutasyon operatörü, bir daha elde edilemeyebilir iyi bir çözümün kaybına karşı koruma sağlamaktadır.

Page 21: Geneti̇k algori̇tma

Bir problem havuzunda kaç kromozomun mutasyona uğratılacağına mutasyon oranına P(m) göre karar verilmektedir.

Genelde mutasyon olasılığı (0.01 gibi) düşük tutulmaktadır. Bu nedenle mutasyon etkileri kromozomlarda az görülmektedir.

Mutasyon sırasında kromozomdaki gen sayısı değişmez, sabit kalır.

Eğer mutasyon olasılığı artarsa, genetik arama rastsal bir aramaya dönüşür. Fakat bu aynı zamanda kayıp genetik malzemeyi tekrar bulmada yardımcı olmaktadır.

MUTASYON ORANI

Page 22: Geneti̇k algori̇tma

Negnevitsky, Pearson Education, 2005

MUTASYON

Page 23: Geneti̇k algori̇tma

MUTASYON

Page 24: Geneti̇k algori̇tma

GA DÖNGÜSÜ

1 2

34

Page 25: Geneti̇k algori̇tma

GA KODLAMA TÜRLERİ

Binary Kodlama Her kromozom ikili diziye sahiptir { 0, 1 } Bu dizideki her bit, çözümün belli

karakteristiğini temsil eder veya tüm dizi bir sayıyı temsil eder.

Kodlamada en sık kullanılan yöntemdir Örnek { 10101001 }

Page 26: Geneti̇k algori̇tma

Permütasyon Kodlama Düzenleme problemlerinde kullanılır. Burada her kromozom, sayıları bir sırada

temsil etmektedir. Permütasyon kodlama, gezgin satıcı ve

çizelgeleme problemleri için kullanışlıdır.

Kromozom A 7 8 9 4 1

Kromozom B 8 7 9 1 4

GA KODLAMA TÜRLERİ

Page 27: Geneti̇k algori̇tma

Değer Kodlama Gerçek sayılar gibi karmaşık değerlerin

kullanıldığı problemlerde, ikili kodlama zor olduğu için doğrudan değer kodlanması kullanılabilir

Kromozom A 1,2324 / 3,5354 / 4,6465 / 3,5556

Kromozom B Doğu, Batı, Güney, Kuzey

GA KODLAMA TÜRLERİ

Page 28: Geneti̇k algori̇tma

Ağaç Kodlama Bu yöntem gelişen, değişen programlar veya

ifadeler için kullanılır. GA Ağaç kodlamada her kromozom, bazı

nesnelerin (örneğin fonksiyonlar ya da programlama dilindeki komutlar gibi) ağacıdır.

GA KODLAMA TÜRLERİ

Page 29: Geneti̇k algori̇tma

SEÇİM STRATEJİLERİ

Yeni popülasyonun seçilmesinde kaç ferdin seçileceği ve hangi fertlerin eşleme için seçileceği seçim fonksiyonuyla sağlanır.

Ebeveynler uygunluk değerlerine göre eşleşmek üzere seçilirler.

Genellikle, yeni kromozomlar popülasyona katıldığında en kötü kromozomlar yenilenir

Page 30: Geneti̇k algori̇tma

RULET-ÇEMBER SEÇİMİ

En basit seçim yöntemi olarak bilinmektedir. Tüm fertler birbirine bitişik bir şekilde düz

bir çizgi üzerine dizilirler. Her bir ferde ilişkin bölümün uzunluğu, onun

uygunluk değeri kadar olur. Rasgele sayı üretilir ve rasgele sayı hangi

bölüm içerisine gelirse, o bölümün ait olduğu fert seçilir.

İşlem ulaşılacak popülasyonun gerekli adedi elde edilene kadar devam eder.

Page 31: Geneti̇k algori̇tma

RANK SEÇİMİ

Rulet-Çemberi yönteminde, en iyi kromozomun Uygulama Değeri çok yüksek ise sürekli yüksek olasılığa sahip kromozom seçilecek olması sıkıntı meydana getirebilir. Bu nedenle, Rank seçim yöntemi uygulanabilir.

Popülasyon uygunluk değerine göre tersten sıralanır. Yani en iyi kromozom N adetlik bir popülasyonda N değerini alır. Seçim bu değerlere göre yapılır.

Page 32: Geneti̇k algori̇tma

KARARLI HAL SEÇİMİ (YERİNE GEÇME)

Bu seçimin ana düşüncesi, kromozomların büyük kısmının bir sonraki nesilde hayatta kalmak zorunda olmasıdır.

Yeni nesiller oluşturmak için her nesilde Uygulama Değeri yüksek birkaç kromozom seçilir.

Uygulama Değeri düşük bâzı kromozomlar atılır ve yeni çocuk onun yerine yerleştirilir.

Popülasyonun geri kalan kısmı yeni nesilde hayattadır.

Bu yöntemde alt popülasyon oluşturulduktan sonra uygunluklar hesaplanır, en kötü kromozomlar yerlerini başlangıç popülasyonundaki en iyi kromozomlara bırakır.

Page 33: Geneti̇k algori̇tma

GA AVANTAJLARI

Kavramların kolay tasarlanması Çok amaçlı eniyileme yöntemleri ile

kullanılabilmesi Son derece karmaşık problemlerin çözümünde iyi

sonuçlar verebilmektedirler. İyi tanımlanamayan problemlerin çözümünde

idealdirler. Kısa sürelerde iyi sonuçlar verebilmesi

Page 34: Geneti̇k algori̇tma

GA DEZAVANTAJLARI

Elde ettikleri sonuçlar her zaman optimum çözüm olmayabilir.

Problemi ve verileri genetik algoritmaların kullanılabileceği forma sokmak bazen güçtür.

Page 35: Geneti̇k algori̇tma

Kalp hastalarının kalp dışı cerrahi girişim öncesi değerlendirilmesi

GA UYGULAMASI

MAKİNE ÖĞRENİMİ

Page 36: Geneti̇k algori̇tma

ÖRNEK UZAYI

40 yaş üzerinde 1001 hastanın verileri ve risk analizi sonuçları

Geliştirilen bir puanlama sistemi içeren çalışmada risk faktörleri belirlenmiş ve her birine risk puanları verilmiştir.

Page 37: Geneti̇k algori̇tma

Kardiyak Riskinin Hesaplanması İçin Gereken Bulgular

Sözel Fizik Muayene EKG Bulguları Genel Durum Bozukluğu Ameliyat Riski

Page 38: Geneti̇k algori̇tma

1.Sözel ÖNEM

S1 Yaşın 70 den büyük olması 5

S2 Son 6 ayda kalp krizi geçirip geçirmediği 10

2.Fizik Muayene

F1 S3 gallop var mı 11

F2 Juguler venöz dolgunluk var mı 11

F3 Önemli aort kapak darlığı var mı 3

3.Ekg Bulguları

E1 Sinüs ritmi varmı 7

E2 Dakikada 5 den fazla ventriküler ekstrasistol var mı 7

4.Genel Durum Bozukluğu

G1 PO2<60 3

G2 K+<3 3

G3 BUN>50 3

G4 Anormal SGOT var mı 3

G5 Kronik Karaciğer hastalığı var mı 3

G6 Kalp dışı bir nedenle yatalak olma var mı 3

5.Ameliyat Riski

A1 Intraperitoneal var mı 3

A2 Intratorasik var mı 3

A3 Aortik cerrahi var mı 3

A4 Acil cerrahi var mı 4

Page 39: Geneti̇k algori̇tma

Başlangıç Popülasyonunun Oluşturulması

Sözel Fizik muayene EKG bulguları Genel durum bozukluğu Ameliyat riski SONUÇ

S1 S2 F1 F2 F3 E1 E2 G1 G2 G3 G4 G5 G6 A1 A2 A3 A4  

Page 40: Geneti̇k algori̇tma

Başlangıç Popülasyonu1. Kromozom

1 1 1 0 1 1 0 0 0 0 1 1 1 0 0 0 0 1

2. Kromozom

1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 0 0 1

3. Kromozom

0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 1 0

4. Kromozom

0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 0

5. Kromozom

1 1 1 1 1 1 1 1 0 1 0 1 0 1 1 0 1 1

6. Kromozom

1 1 1 1 0 1 1 0 0 0 1 1 1 0 1 1 0 1

Page 41: Geneti̇k algori̇tma

Eğitim Örneklerinin Tanımlanması

Bulguların aldığı çeşitli değerlere göre “risk var” veya “risk yok” sonuçlarının tespit edildiği hipotezler geliştirilmiştir.

Bu oluşturulan hipotezler makine öğrenmesine yardımcı olmak amacıyla kullanılan tecrübeler topluluğu olarak ifade edilebilir.

Page 42: Geneti̇k algori̇tma

UYGUNLUK FONKSİYONU

Rastgele oluşturulmuş olan başlangıç popülasyonundaki kromozomların (hipotezlerin) her birinin eğitim örneklerinin kaç tanesini doğru olarak sınıflandırdığı tespit edilerek uygunluk tablo oluşturulmuştur.

Page 43: Geneti̇k algori̇tma

UYGUNLUK DERECESİ

Kromozom Numarası

Eğitim örneklerinden kaç tanesini doğruladığı - f(x)

f(x2)

1 2 42 5 253 2 44 1 15 8 646 5 25

Page 44: Geneti̇k algori̇tma

Bir sonraki nesil oluşturulurken bu nesildeki kromozomların seçilmesi işlemi için rassal sayılar üretilir. Bu rassal sayılar kümülatif toplamlardan oluşan ve rulet çemberi adı verilen yapının hangi aralığına denk geliyorsa o kromozom seçilir.

Page 45: Geneti̇k algori̇tma

Üretilen rassal sayılar ve bunun sonucunda seçilen kromozomlar

Rassal sayılar

0,3456 0,123 0,8023 0,7004 0,2435 0,2108

Seçilen Kromozom

5 2 6 5 3 2

Rulet-ÇemberSeçimi

Page 46: Geneti̇k algori̇tma

Kromozomlar seçildikten sonra programa verilen çaprazlama ve mutasyon parametrelerine göre bu kromozomların belirli oranları ilk önce çaprazlama daha sonra ise mutasyon işlemlerine tabi tutularak yeni nesil oluşturulmuş olur.

Page 47: Geneti̇k algori̇tma

SONUÇ Bu problem için daha önce istatistiki 30 veriye

dayanarak her bir bulgu için risk puanları belirlenmiştir.

Eldeki mevcut bilgilerden tüm bulgu için sınıflandırma yapılmış ve GA kullanarak makine öğrenmesi programı ile çok daha fazla ve değişik örnekler (alternatif sorunlar) ile bilgisayar programı eğitilerek daha sağlıklı sonuç üretecek bir uygulama geliştirilmiştir.

Bu uygulamanın bir avantajı da eğitim işleminin yeni örnekler geldikçe devam etmesi ve programın kendini geliştirmesidir.

Page 48: Geneti̇k algori̇tma

TE EKKÜRLERŞ…