geneti̇k algori̇tma
TRANSCRIPT
OSMAN NANİ
GENETİK ALGORİTMA
Genetik Algoritma (GA) Amacı Kullanım Alanları Kavramlar
Uygulama adımları Parametreler GA kodlama türleri Uygulama Örneği
İÇERİK
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
GA, rastsal arama tekniklerini kullanarak çözüm bulmaya çalışan, parametre kodlama esasına dayanan bir arama tekniğidir.
GENETİK ALGORİ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
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.
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
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.
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.
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.
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
GA AKIŞ SEMASI1. İlk değerlendirme2. Sonraki
değerlendirmeler3. Sistemin ne
zaman durması gerektiğine karar ver!
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
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
Ç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ı)
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
ÇAPRAZLAMA
ÇAPRAZLAMA
ÇAPRAZLAMA ÇEŞİTLERİ
Tek noktalı Çaprazlama
İki noktalı Çaprazlama
Kes ve ekleÇaprazlama
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.
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
Negnevitsky, Pearson Education, 2005
MUTASYON
MUTASYON
GA DÖNGÜSÜ
1 2
34
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 }
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İ
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İ
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İ
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
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.
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.
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.
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
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.
Kalp hastalarının kalp dışı cerrahi girişim öncesi değerlendirilmesi
GA UYGULAMASI
MAKİNE ÖĞRENİMİ
Ö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.
Kardiyak Riskinin Hesaplanması İçin Gereken Bulgular
Sözel Fizik Muayene EKG Bulguları Genel Durum Bozukluğu Ameliyat Riski
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
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
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
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.
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.
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
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.
Ü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
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.
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.
TE EKKÜRLERŞ…