SlideShare a Scribd company logo
1 of 48
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ü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
 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İYONU
F(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Ş SEMASI
1. İlk değerlendirme
2. Sonraki
değerlendirmeler
3. 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ülasyonu
1. 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 4
2 5 25
3 2 4
4 1 1
5 8 64
6 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-Çember
Seç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Ş
…

More Related Content

What's hot

Genetik Algoritma & Programlama (Dr.Hakan Erdun)
Genetik Algoritma & Programlama (Dr.Hakan Erdun)Genetik Algoritma & Programlama (Dr.Hakan Erdun)
Genetik Algoritma & Programlama (Dr.Hakan Erdun)HakanErdun
 
Neural network
Neural network Neural network
Neural network Faireen
 
MACHINE LEARNING - GENETIC ALGORITHM
MACHINE LEARNING - GENETIC ALGORITHMMACHINE LEARNING - GENETIC ALGORITHM
MACHINE LEARNING - GENETIC ALGORITHMPuneet Kulyana
 
GENETIC ALGORITHM
GENETIC ALGORITHMGENETIC ALGORITHM
GENETIC ALGORITHMHarsh Sinha
 
Artificial Neural Network
Artificial Neural NetworkArtificial Neural Network
Artificial Neural NetworkPrakash K
 
Introduction to genetic algorithms
Introduction to genetic algorithmsIntroduction to genetic algorithms
Introduction to genetic algorithmsshadanalam
 
Genetic Algorithms
Genetic AlgorithmsGenetic Algorithms
Genetic Algorithmsadil raja
 
Introduction to Genetic Algorithms
Introduction to Genetic AlgorithmsIntroduction to Genetic Algorithms
Introduction to Genetic AlgorithmsAhmed Othman
 
Heuristic Algorithms.pdf
Heuristic Algorithms.pdfHeuristic Algorithms.pdf
Heuristic Algorithms.pdfJawadSheikh13
 
Data Science - Part XIV - Genetic Algorithms
Data Science - Part XIV - Genetic AlgorithmsData Science - Part XIV - Genetic Algorithms
Data Science - Part XIV - Genetic AlgorithmsDerek Kane
 
Genetic algorithm
Genetic algorithmGenetic algorithm
Genetic algorithmgarima931
 
Genetic algorithms
Genetic algorithmsGenetic algorithms
Genetic algorithmsswapnac12
 
Artificial Intelligence: Artificial Neural Networks
Artificial Intelligence: Artificial Neural NetworksArtificial Intelligence: Artificial Neural Networks
Artificial Intelligence: Artificial Neural NetworksThe Integral Worm
 
Genetic algorithm
Genetic algorithmGenetic algorithm
Genetic algorithmJari Abbas
 

What's hot (20)

Genetik Algoritma & Programlama (Dr.Hakan Erdun)
Genetik Algoritma & Programlama (Dr.Hakan Erdun)Genetik Algoritma & Programlama (Dr.Hakan Erdun)
Genetik Algoritma & Programlama (Dr.Hakan Erdun)
 
Neural network
Neural network Neural network
Neural network
 
MACHINE LEARNING - GENETIC ALGORITHM
MACHINE LEARNING - GENETIC ALGORITHMMACHINE LEARNING - GENETIC ALGORITHM
MACHINE LEARNING - GENETIC ALGORITHM
 
GENETIC ALGORITHM
GENETIC ALGORITHMGENETIC ALGORITHM
GENETIC ALGORITHM
 
Genetic Algorithm
Genetic AlgorithmGenetic Algorithm
Genetic Algorithm
 
Artificial Neural Network
Artificial Neural NetworkArtificial Neural Network
Artificial Neural Network
 
Introduction to genetic algorithms
Introduction to genetic algorithmsIntroduction to genetic algorithms
Introduction to genetic algorithms
 
Genetic Algorithms
Genetic AlgorithmsGenetic Algorithms
Genetic Algorithms
 
Neural networks introduction
Neural networks introductionNeural networks introduction
Neural networks introduction
 
Introduction to Genetic Algorithms
Introduction to Genetic AlgorithmsIntroduction to Genetic Algorithms
Introduction to Genetic Algorithms
 
Ga ppt (1)
Ga ppt (1)Ga ppt (1)
Ga ppt (1)
 
Heuristic Algorithms.pdf
Heuristic Algorithms.pdfHeuristic Algorithms.pdf
Heuristic Algorithms.pdf
 
Data Science - Part XIV - Genetic Algorithms
Data Science - Part XIV - Genetic AlgorithmsData Science - Part XIV - Genetic Algorithms
Data Science - Part XIV - Genetic Algorithms
 
Genetic Algorithm
Genetic AlgorithmGenetic Algorithm
Genetic Algorithm
 
Genetic algorithm
Genetic algorithm Genetic algorithm
Genetic algorithm
 
Ensemble learning
Ensemble learningEnsemble learning
Ensemble learning
 
Genetic algorithm
Genetic algorithmGenetic algorithm
Genetic algorithm
 
Genetic algorithms
Genetic algorithmsGenetic algorithms
Genetic algorithms
 
Artificial Intelligence: Artificial Neural Networks
Artificial Intelligence: Artificial Neural NetworksArtificial Intelligence: Artificial Neural Networks
Artificial Intelligence: Artificial Neural Networks
 
Genetic algorithm
Genetic algorithmGenetic algorithm
Genetic algorithm
 

Viewers also liked

Genetik Algoritma Nasıl Çalışır
Genetik Algoritma Nasıl ÇalışırGenetik Algoritma Nasıl Çalışır
Genetik Algoritma Nasıl ÇalışırEmre Akadal
 
Genetic Algorithm by Example
Genetic Algorithm by ExampleGenetic Algorithm by Example
Genetic Algorithm by ExampleNobal Niraula
 
Evrimsel algoritma
Evrimsel algoritmaEvrimsel algoritma
Evrimsel algoritmaAhmet Kolcu
 
Yapay arı kolonisi algoritması
Yapay arı kolonisi algoritmasıYapay arı kolonisi algoritması
Yapay arı kolonisi algoritmasıOrhan ERIPEK
 
Karınca kolonisi algoritması
Karınca kolonisi algoritmasıKarınca kolonisi algoritması
Karınca kolonisi algoritmasıOrhan ERIPEK
 
Çoklu Asansörler için bir Genetik Algoritma Önerisi, Kullanımın Yoğun Olduğu ...
Çoklu Asansörler için bir Genetik Algoritma Önerisi, Kullanımın Yoğun Olduğu ...Çoklu Asansörler için bir Genetik Algoritma Önerisi, Kullanımın Yoğun Olduğu ...
Çoklu Asansörler için bir Genetik Algoritma Önerisi, Kullanımın Yoğun Olduğu ...Mustafa Tanyer
 
Yapay Sinir Aglari
Yapay Sinir AglariYapay Sinir Aglari
Yapay Sinir Aglariahmetkakici
 
Second Genetic algorithm and Job-shop scheduling presentation
Second Genetic algorithm and Job-shop scheduling presentationSecond Genetic algorithm and Job-shop scheduling presentation
Second Genetic algorithm and Job-shop scheduling presentationAccenture
 
Geri Yayılım Algoritması
Geri Yayılım AlgoritmasıGeri Yayılım Algoritması
Geri Yayılım AlgoritmasıHülya Soylu
 
A Multi-Objective Genetic Algorithm for Pruning Support Vector Machines
A Multi-Objective Genetic Algorithm for Pruning Support Vector MachinesA Multi-Objective Genetic Algorithm for Pruning Support Vector Machines
A Multi-Objective Genetic Algorithm for Pruning Support Vector MachinesMohamed Farouk
 
Yapay Sinir Ağları ile İnsulin Tahminleme ve Mobil Diyabet
Yapay Sinir Ağları ile İnsulin Tahminleme ve Mobil DiyabetYapay Sinir Ağları ile İnsulin Tahminleme ve Mobil Diyabet
Yapay Sinir Ağları ile İnsulin Tahminleme ve Mobil DiyabetYağızer Karamatlı
 
Destek vektör makineleri
Destek vektör makineleriDestek vektör makineleri
Destek vektör makineleriozgur_dolgun
 
Support Vector Machine without tears
Support Vector Machine without tearsSupport Vector Machine without tears
Support Vector Machine without tearsAnkit Sharma
 
Karar ağaçlari
Karar ağaçlariKarar ağaçlari
Karar ağaçlarireyhan koç
 
Yzm 2116 Bölüm 1 - Veri Yapılarına Giriş
Yzm 2116  Bölüm 1 - Veri Yapılarına GirişYzm 2116  Bölüm 1 - Veri Yapılarına Giriş
Yzm 2116 Bölüm 1 - Veri Yapılarına GirişDeniz KILINÇ
 

Viewers also liked (20)

Genetik Algoritma Nasıl Çalışır
Genetik Algoritma Nasıl ÇalışırGenetik Algoritma Nasıl Çalışır
Genetik Algoritma Nasıl Çalışır
 
Genetic Algorithm by Example
Genetic Algorithm by ExampleGenetic Algorithm by Example
Genetic Algorithm by Example
 
Evrimsel algoritma
Evrimsel algoritmaEvrimsel algoritma
Evrimsel algoritma
 
Yapay Sinir Ağları
Yapay Sinir AğlarıYapay Sinir Ağları
Yapay Sinir Ağları
 
Yapay arı kolonisi algoritması
Yapay arı kolonisi algoritmasıYapay arı kolonisi algoritması
Yapay arı kolonisi algoritması
 
Karınca kolonisi algoritması
Karınca kolonisi algoritmasıKarınca kolonisi algoritması
Karınca kolonisi algoritması
 
Çoklu Asansörler için bir Genetik Algoritma Önerisi, Kullanımın Yoğun Olduğu ...
Çoklu Asansörler için bir Genetik Algoritma Önerisi, Kullanımın Yoğun Olduğu ...Çoklu Asansörler için bir Genetik Algoritma Önerisi, Kullanımın Yoğun Olduğu ...
Çoklu Asansörler için bir Genetik Algoritma Önerisi, Kullanımın Yoğun Olduğu ...
 
Yapay Sinir Aglari
Yapay Sinir AglariYapay Sinir Aglari
Yapay Sinir Aglari
 
Second Genetic algorithm and Job-shop scheduling presentation
Second Genetic algorithm and Job-shop scheduling presentationSecond Genetic algorithm and Job-shop scheduling presentation
Second Genetic algorithm and Job-shop scheduling presentation
 
Bayes Aglari
Bayes AglariBayes Aglari
Bayes Aglari
 
Geri Yayılım Algoritması
Geri Yayılım AlgoritmasıGeri Yayılım Algoritması
Geri Yayılım Algoritması
 
A Multi-Objective Genetic Algorithm for Pruning Support Vector Machines
A Multi-Objective Genetic Algorithm for Pruning Support Vector MachinesA Multi-Objective Genetic Algorithm for Pruning Support Vector Machines
A Multi-Objective Genetic Algorithm for Pruning Support Vector Machines
 
Yapay Sinir Ağları ile İnsulin Tahminleme ve Mobil Diyabet
Yapay Sinir Ağları ile İnsulin Tahminleme ve Mobil DiyabetYapay Sinir Ağları ile İnsulin Tahminleme ve Mobil Diyabet
Yapay Sinir Ağları ile İnsulin Tahminleme ve Mobil Diyabet
 
Destek vektör makineleri
Destek vektör makineleriDestek vektör makineleri
Destek vektör makineleri
 
Ysa Uygulamasi
Ysa UygulamasiYsa Uygulamasi
Ysa Uygulamasi
 
Yapay Sinir Ağları
Yapay Sinir AğlarıYapay Sinir Ağları
Yapay Sinir Ağları
 
Ysa matlab
Ysa matlabYsa matlab
Ysa matlab
 
Support Vector Machine without tears
Support Vector Machine without tearsSupport Vector Machine without tears
Support Vector Machine without tears
 
Karar ağaçlari
Karar ağaçlariKarar ağaçlari
Karar ağaçlari
 
Yzm 2116 Bölüm 1 - Veri Yapılarına Giriş
Yzm 2116  Bölüm 1 - Veri Yapılarına GirişYzm 2116  Bölüm 1 - Veri Yapılarına Giriş
Yzm 2116 Bölüm 1 - Veri Yapılarına Giriş
 

Geneti̇k algori̇tma

  • 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.
  • 11. UYGUNLUK FONKSİYONU F(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
  • 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 ÇAPRAZLAMA (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. ÇAPRAZLAMA ORANI
  • 19. ÇAPRAZLAMA ÇEŞİTLERİ Tek noktalı Çaprazlama İki noktalı Çaprazlama Kes ve ekle Çaprazlama
  • 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
  • 39. 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  
  • 40. Başlangıç Popülasyonu 1. 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
  • 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.
  • 43. UYGUNLUK DERECESİ Kromozom Numarası Eğitim örneklerinden kaç tanesini doğruladığı - f(x) f(x2 ) 1 2 4 2 5 25 3 2 4 4 1 1 5 8 64 6 5 25
  • 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.