2. Genetik Algoritma (GA)
Amacı
Kullanım Alanları
Kavramlar
Uygulama adımları
Parametreler
GA kodlama türleri
Uygulama Örneği
İÇERİK
3. Litaratür
1975 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
4. GA, rastsal arama tekniklerini kullanarak
çözüm bulmaya çalışan, parametre kodlama
esasına dayanan bir arama tekniğidir.
GENETİK ALGORİTMA
5. 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
6. 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.
7. 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
8. 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.
9. 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.
10. 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.
12. GA AKIŞ SEMASI
1. İlk değerlendirme
2. Sonraki
değerlendirmeler
3. Sistemin ne
zaman durması
gerektiğine karar
ver!
13. 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
14. 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
15. Ç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
Çʸ鴡ܳѴ
(Crossover, Gen Takası)
16. 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.
Çʸ鴡ܳѴ ORANI
20. 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.
21. 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
25. 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 }
26. 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İ
27. 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İ
28. 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İ
29. 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
30. 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.
31. 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.
32. 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.
33. 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
34. 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.
35. Kalp hastalarının kalp dışı cerrahi girişim
öncesi değerlendirilmesi
GA UYGULAMASI
MAKİNE ÖĞRENİMİ
36. Ö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.
37. Kardiyak Riskinin Hesaplanması İçin
Gereken Bulgular
Sözel
Fizik Muayene
EKG Bulguları
Genel Durum Bozukluğu
Ameliyat Riski
38. 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
41. 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.
42. 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.
44. 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.
45. Ü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-Çember
Seçimi
46. 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.
47. 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.