introduction genetic algorithms machine learning
cevaplarla sql sorguları uygulama soruları
Bu Genetik Algoritma Eğitimi, Genetik Algoritmaların ne olduğunu ve Makine Öğrenimindeki rollerini ayrıntılı olarak açıklar :
İçinde Önceki eğitim , Yapay Sinir Ağı Modelleri - Çok Katmanlı Algılayıcı, Geri Yayılım, Radyal Önyargı ve Kohonen Kendi Kendini Düzenleyen Haritaları, mimarileri dahil öğrendik.
Sinir Ağlarından çok daha önce gelen Genetik Algoritmalara odaklanacağız, ancak şimdi GA, NN tarafından devralındı. GA'nın gerçek hayatta hala planlama, oyun oynama, robotik, donanım tasarımı, seyahat eden satıcı sorunları gibi optimizasyon sorunları gibi uygulamaları var.
Genetik Algoritmalar, evrimsel doğal seleksiyon ve genetik fikrine dayanan algoritmalardır. GA'lar uyarlanabilir sezgisel arama algoritmalarıdır, yani algoritmalar zamanla değişen yinelemeli bir modeli izler. İzlenecek doğru yolu söylemeden geri bildirimin gerekli olduğu bir tür pekiştirmeli öğrenmedir. Geri bildirim olumlu veya olumsuz olabilir.
=> Eksiksiz Makine Öğrenimi Eğitim Serisini Okuyun
Ne öğreneceksin:
- Neden Genetik Algoritmalar Kullanılır?
- Genetik Algoritmalar Nelerdir
- Genetik Algoritmanın Avantajları ve Dezavantajları
- Genetik Algoritmaların Uygulamaları
- Sonuç
Neden Genetik Algoritmalar Kullanılır?
GA'lar, çeşitli optimizasyon problemleri için kullanılabilen daha sağlam algoritmalardır. Bu algoritmalar, diğer AI algoritmalarının aksine gürültü varlığında kolayca sapmaz. GA'lar, geniş alan veya çok modlu alan arayışında kullanılabilir.
Genetik Algoritmaların Biyolojik Arka Planı
Genetik, büyümek anlamına gelen Yunanca 'genesis' kelimesinden türemiştir. Genetik, evrim sürecinde yavrular arasındaki kalıtım faktörlerine, benzerliklere ve farklılıklara karar verir. Genetik Algoritmalar da doğal evrimden türetilir.
Biyolojik Kromozomda Bazı Terminolojiler
- Kromozomlar: Bir türün tüm genetik bilgileri saklanan kromozomlardır.
- Genler: Kromozomlar, Genler adı verilen birkaç bölüme ayrılır.
- Aleller: Genler, bir bireyin karakteristiğini tanımlar. Bir gen kombinasyonunun özellik oluşturma olasılığına Aleller denir. Bir genin farklı alelleri olabilir.
- Gen havuzu: Bir popülasyon havuzundaki tüm aleller olan tüm olası gen kombinasyonlarına gen havuzu denir.
- Genetik şifre: Bir türün gen setine genom denir.
- Lokus: Her genin bir genomda lokus adı verilen bir konumu vardır.
- Genotip: Bir bireydeki genlerin tam kombinasyonuna genotip denir.
- Fenotip: Kodu çözülmüş formdaki bir dizi genotip, fenotip olarak adlandırılır.
Genetik Algoritmalar Nelerdir
Genetik Algoritmalar, evrim için doğal sistemlerde olduğu gibi süreci uyarır. Charles Darwin, evrim teorisini, doğal evrimde biyolojik varlıkların 'en güçlü olanın hayatta kalması' ilkesine göre evrimleştiğini belirtti. GA araştırması, 'en uygun olanın hayatta kalması' teorisini teşvik etmek için tasarlanmıştır.
GA'lar optimizasyon problemlerini çözmek için rastgele bir arama yapar. GA, aramalarını yeni arama alanında optimizasyona yönlendirmek için önceki tarihsel bilgileri kullanan teknikleri kullanır.
Bir Kromozomun GA ile Korelasyonu
İnsan vücudu, genlerden oluşan kromozomlara sahiptir. Belirli bir türün tüm genlerinin bir takımına genom denir. Canlılarda, genomlar çeşitli kromozomlarda depolanırken, GA'da tüm genler aynı kromozomda depolanır.
Doğal Evrim ve Genetik Algoritma Terminolojisi Karşılaştırması
| Doğal Evrim | Genetik Algoritma |
|---|---|
| Kromozom | Dize |
| Gen | Özellik |
| Alel | Özellik Değeri |
| Genotip | Kodlanmış Dize |
| Fenotip | Kodu Çözülmüş Yapı |

GA'da Önemli Terminoloji
- Nüfus: Bir grup bireydir. Popülasyon, test edilen bireylerin sayısını, arama alanı bilgilerini ve fenotip parametrelerini içerir. Genel olarak, popülasyon rastgele olarak başlatılır.
- Bireyler: Bireyler, popülasyonda tek çözümdür. Bir bireyin gen adı verilen bir dizi parametresi vardır. Kromozomlar oluşturmak için birleştirilmiş genler.
- Genler: Genler, Genetik Algoritmaların yapı taşlarıdır. Bir kromozom genlerden oluşur. Genler, sorunun çözümünü belirleyebilir. Rastgele uzunlukta bir bit (0 veya 1) dizisi ile temsil edilirler.
- Fitness: Uygunluk, sorunun fenotipinin değerini söyler. Uygunluk işlevi, çözümün optimum çözüme ne kadar yakın olduğunu söyler. Uygunluk işlevi, problemle ilgili tüm parametrelerin toplamı - Öklid mesafesi vb. Gibi birçok şekilde belirlenir. Uygunluk işlevini değerlendirmek için bir kural yoktur.
Basit Bir Genetik Algoritma

Basit bir GA, tek tek kromozomlardan oluşan bir popülasyona sahiptir. Bu kromozomlar olası çözümleri temsil eder. Üreme operatörleri, mutasyonları ve rekombinasyonu gerçekleştirmek için bu kromozom setlerinin üzerine uygulanır. Bu nedenle, GA’nın davranışı buna bağlı olduğundan uygun çoğaltma operatörlerini bulmak önemlidir.
Basit bir genetik algoritma aşağıdaki gibidir:
# 1) Rastgele oluşturulan popülasyonla başlayın.
#iki) Her bir kromozomun uygunluk işlevini hesaplayın.
# 3) N yavru oluşana kadar adımları tekrarlayın. Yavrular aşağıda gösterildiği gibi oluşturulur.
- Popülasyondan bir çift kromozom seçin.
- P olasılıkla çifti çaprazlayıncyavrular oluşturmak için.
- Geçişi p olasılıkla değiştirm.
# 4) Orijinal popülasyonu yeni popülasyonla değiştirin ve 2. adıma gidin.
Bu yineleme sürecinde izlenen adımları görelim. İlk kromozom popülasyonu oluşturulur. İlk popülasyon, herhangi bir çözümün üretilebilmesi için yeterli gen içermelidir. İlk nüfus havuzu rastgele oluşturulur.
- Seçim: En iyi gen seti, uygunluk işlevine bağlı olarak seçilir. En iyi uygunluk işlevine sahip dizi seçilir.
- Üreme: Yeni yavrular rekombinasyon ve mutasyonla üretilir.
- Değerlendirme: Oluşturulan yeni kromozomlar uygunlukları açısından değerlendirilir.
- Değiştirme: Bu adımda eski nüfus, yeni oluşturulan nüfusla değiştirilir.
Rulet Çarkı Seçim Yöntemi
Rulet çarkı seçimi yaygın olarak kullanılan Seçim yöntemidir.
Seçim süreci aşağıda gösterildiği gibi kısadır:

Bu yöntemde rulet çarkı ile doğrusal bir arama yapılır. Çarktaki yuvalar, bireysel uygunluk değerine göre tartılır. Hedef değer, popülasyondaki uygunluk toplamının oranına göre rastgele belirlenir.
Nüfus daha sonra hedef değere ulaşılana kadar aranır. Bu yöntem, bireylerin en uygun testini garanti etmez, ancak en uygun olma olasılığı vardır.
Rulet Çarkı Seçimi ile ilgili adımları görelim.
Bir bireyin beklenen değeri = Nüfusun bireysel uygunluğu / uygunluğu. Tekerlek yuvaları, kişilere uygunluklarına göre atanır. Çark, N'nin popülasyondaki toplam birey sayısı olduğu N kez döndürülür. Bir rotasyon bittiğinde, seçilen birey bir ebeveyn havuzuna konur.
- Popülasyondaki bir dizi bireyin toplam beklenen değeri S olsun.
- 3-5 n arası adımları tekrarlayın.
- 0 ile S arasında bir tam sayı seçin.
- Popülasyondaki bireyler arasında döngü yapın, toplam s'den büyük olana kadar beklenen değerleri toplayın.
- Beklenen değeri toplamı s limitinin üzerine koyan kişi seçilir.
Rulet Çarkı Seçiminin Dezavantajları:
- Uygunluk çok farklıysa, Rulet çarkının çevresi en yüksek uyum işlevi kromozomu tarafından maksimum alınır, bu nedenle diğerlerinin seçilme şansı çok az olur.
- Gürültülü.
- Evrim, popülasyonun uygunluğundaki varyansa bağlıdır.
Diğer Seçim Yöntemleri
Kullanılan diğer birçok seçim yöntemi vardır. 'Seçim' Genetik Algoritmanın adımı.
Yaygın olarak kullanılan diğer 2 yöntemi tartışacağız:
# 1) Sıra Seçimi: Bu yöntemde, her kromozoma sıralamadan bir uygunluk değeri verilir. En kötü uygunluk 1 ve en iyi uygunluk N'dir. Yavaş yakınsama yöntemidir. Bu yöntemde çeşitlilik korunarak başarılı bir arama sağlanır.
Potansiyel ebeveynler seçilir ve ardından bireylerden hangisinin ebeveyn olacağına karar vermek için bir turnuva düzenlenir.
# 2) Turnuva Seçimi: Bu yöntemde popülasyona seçici bir baskı stratejisi uygulanır. En iyi birey, en yüksek zindeliğe sahip olandır. Bu birey, popülasyondaki Nu bireyleri arasındaki turnuva yarışmasının galibi.
Turnuva popülasyonu kazananla birlikte yeni yavrular oluşturmak için havuza tekrar eklenir. Kazananın ve çiftleşme havuzundaki bireylerin uygunluk değerlerindeki fark, optimum sonuçlar için seçici bir baskı sağlar.
Karşıdan karşıya geçmek
2 kişiyi alıp onlardan bir çocuk yapma sürecidir. Seçimden sonraki üreme süreci, iyi sokmaların klonlarını oluşturur. Çapraz operatör, daha iyi bir yavru elde etmek için dizelerin üzerine uygulanır.
Çapraz operatörün uygulaması aşağıdaki gibidir:
- Yavrular üretmek için popülasyondan rastgele iki kişi seçilir.
- Dizinin uzunluğu boyunca rastgele bir çapraz site seçilir.
- Sitedeki değerler değiştirilir.
Gerçekleştirilen çapraz geçiş, tek noktalı bir geçiş, iki noktalı çapraz geçiş, çok noktalı geçiş, vb. Olabilir. Tek noktalı geçişin bir geçiş yeri varken iki noktalı geçiş yeri değerlerin değiştirildiği 2 bölgeye sahiptir.
Bunu aşağıdaki örnekte görebiliriz:
Tek Noktalı Geçiş

İki noktalı geçiş

Crossover Olasılığı
Pc, çaprazlama olasılığı, geçişin ne sıklıkla gerçekleştirileceğini tanımlayan terimdir. % 0 olasılık, yeni kromozomların eski kromozomların tam bir kopyası olacağı anlamına gelirken,% 100 olasılık, tüm yeni kromozomların çaprazlama ile yapıldığı anlamına gelir.
Mutasyon
Crossover'dan sonra mutasyon yapılır. Çaprazlama yalnızca mevcut çözüme odaklanırken, mutasyon işlemi tüm arama alanını arar. Bu yöntem, kaybolan genetik bilginin geri kazanılması ve genetik bilginin dağıtılmasıdır.
Bu operatör, popülasyondaki genetik çeşitliliğin korunmasına yardımcı olur. Yerel minimumları önlemeye yardımcı olur ve herhangi bir popülasyondan işe yaramaz çözümler üretilmesini önler.
Mutasyon, her genin değerinin küçük bir olasılıkla tersine çevrilmesi veya mutasyonun ancak çözümün kalitesini artırması durumunda gerçekleştirilmesi gibi birçok şekilde gerçekleştirilir.
Mutasyon yollarından bazıları şunlardır:
- Çevirme: 0'dan 1'e veya 1'den 0'a değiştirme.
- Değiş tokuş: Rastgele iki konum seçilir ve değerler birbiriyle değiştirilir.
- Geri gitme: Rastgele konum seçilir ve yanındaki bitler tersine çevrilir.
Her biri için bazı örnekler görelim:
Saygısız

Değiş tokuş

Ters çevirme

Mutasyon Olasılığı
Pmmutasyon olasılığı, kromozomların ne sıklıkla mutasyona uğrayacağına karar veren bir terimdir. Mutasyon olasılığı% 100 ise tüm kromozomun değiştiği anlamına gelir. Bir mutasyon gerçekleştirilmezse, yeni yavrular doğrudan çaprazlamadan sonra üretilir.
Genel bir genetik algoritma örneği Mutasyon Olasılığı: Pmmutasyon olasılığı, kromozomların ne sıklıkla mutasyona uğrayacağına karar veren bir terimdir. Mutasyon olasılığı% 100 ise tüm kromozomun değiştiği anlamına gelir.
Bir mutasyon gerçekleştirilmezse, yeni yavrular doğrudan çaprazlamadan sonra üretilir. İlk kromozom popülasyonu A, B, C, D olarak verilmiştir. Popülasyon büyüklüğü 4'tür.
Uygunluk işlevi, dizede 1 sayısı olarak alınır.
| Kromozom | Fitness |
|---|---|
| Kime: 00000110 | iki |
| B: 11101110 | 6 |
| C: 00100000 | bir |
| D: 00110100 | 3 |
Uygunluk toplamı 12'dir, bu da ortalama uygunluk fonksiyonunun ~ 12/4 = 3 olacağı anlamına gelir.
Geçiş olasılığı = 0.7
Mutasyon olasılığı = 0.001
# 1) B ve C seçilirse, C'nin uygunluk değeri ortalama uygunluğun altında olduğundan geçiş gerçekleştirilmez.
#iki) B mutasyona uğramıştır => B: 11101110 -> B': 01101110 nüfus çeşitliliğini korumak için
# 3) B ve D seçilir, geçiş gerçekleştirilir.
B: 11101110 E: 10110100 -> D: 00110100 F: 01101110

# 4) E mutasyona uğramışsa, o zaman
E: 10110100 -> E': 10110000
İlgili Kromozomlar aşağıdaki tabloda gösterilmektedir. Sipariş rastgele verilir.
| Kromozom | Fitness |
|---|---|
| A: 01101110 | 5 |
| B: 00100000 | bir |
| C: 10110000 | 3 |
| D: 01101110 | 5 |
Uygunluk değeri 6 olan en zinde birey kaybedilmiş olsa da, nüfusun genel ortalama zindeliği artar ve şöyle olur: 14/4 = 3.5
Genetik Algoritma Ne Zaman Durdurulmalı
Aşağıda listelenen bazı koşullar karşılandığında genetik algoritma durdurulur:
# 1) En İyi Bireysel Yakınsama: Minimum uygunluk seviyesi yakınsama değerinin altına düştüğünde, algoritma durdurulur. Daha hızlı yakınsamaya yol açar.
# 2) En Kötü Bireysel Yakınsama: Popülasyondaki en az uyum sağlayan bireyler yakınsamanın altında minimum uygunluk değerine ulaştığında, algoritma durdurulur. Bu yöntemde, popülasyonda minimum uygunluk standardı korunur. Bu, en iyi bireyin garanti edilmediği, ancak asgari uygunluk değeri bireylerin mevcut olacağı anlamına gelir.
# 3) Fitness toplamı: Bu yöntemde, uygunluk toplamı yakınsama değerinden küçük veya ona eşitse arama durdurulur. Tüm popülasyonun fitness aralığında olmasını garanti eder.
# 4) Medyan Uygunluk: Bu yöntemde popülasyondaki bireylerin en az yarısı yakınsama değerinden daha iyi veya ona eşit olacaktır.
Bazı yakınsama kriteri veya durdurma koşulu şunlar olabilir:
- Belirli sayıda nesil evrimleştiğinde.
- Algoritmanın çalıştırılması için belirtilen süre karşılandığında.
- Nüfusun uygunluk değeri yinelemelerle daha fazla değişmediğinde.
Genetik Algoritmanın Avantajları ve Dezavantajları
Genetik Algoritmanın avantajları şunlardır:
- Daha geniş bir çözüm alanına sahiptir.
- Küresel optimumun keşfedilmesi daha kolaydır.
- Paralellik: Birden çok GA, aynı CPU'yu kullanarak birbirine müdahale etmeden birlikte çalışabilir. İzolasyonda paralel çalışırlar.
GA'nın Sınırlamaları:
- Uygunluk işlevi tanımlaması bir sınırlamadır.
- Algoritmaların yakınsaması çok hızlı veya çok yavaş olabilir.
- Geçiş, mutasyon olasılığı, popülasyon boyutu gibi parametrelerin seçiminde bir sınırlama vardır.
Genetik Algoritmaların Uygulamaları
GA, yüksek boyutlu problemleri çözmede etkilidir. Bir GA, arama alanı çok geniş olduğunda, mevcut matematiksel problem çözme teknikleri olmadığında ve diğer geleneksel arama algoritmaları çalışmadığında etkili bir şekilde kullanılır.
GA'nın kullanıldığı bazı uygulamalar:
- Optimizasyon Sorunu: Optimizasyon problemlerinin en iyi örneklerinden biri, GA kullanan seyahat satıcısı problemidir. İş planlama, ses kalitesi optimizasyonu GA'lar gibi diğer optimizasyon problemleri yaygın olarak kullanılmaktadır.
- Bağışıklık sistemi modeli: GA'lar, evrimsel süre boyunca tek tek gen ve çoklu gen aileleri için bağışıklık sisteminin çeşitli yönlerini modellemek için kullanılır.
- Makine öğrenme: GA'lar, sınıflandırma, tahmin etme, öğrenme ve sınıflandırma için kurallar oluşturma ile ilgili problemleri çözmek için kullanılmıştır. .
Sonuç
Genetik Algoritmalar, doğal evrim yöntemine dayanır. Bu algoritmalar, kodlanmış parametreleri (0 veya 1) kullandıklarından, bir popülasyonda birden fazla sayıda birey bulunduğundan ve yakınsama için olasılıksal yöntemi kullandıklarından diğer sınıflandırma algoritmalarından farklıdır.
Geçiş ve mutasyon süreci ile, GA'lar birbirini takip eden nesillerde birleşir. Bir GA algoritmasının yürütülmesi her zaman başarılı bir çözümü garanti etmez. Genetik Algoritmalar, optimizasyon - iş planlama problemlerinde oldukça etkilidir.
Umarım bu eğitim, Genetik Algoritmalar kavramı hakkındaki bilginizi zenginleştirirdi !!
=> Özel Makine Öğrenimi Serisi İçin Burayı Ziyaret Edin
Önerilen Kaynaklar
- Genetik Algoritmayı Kullanan Model Tabanlı Test
- Veri Madenciliği - Makine Öğrenimi - Yapay Zeka - Derin Öğrenme
- Makine Öğrenimi Eğitimi: Makine Öğrenimi ve Uygulamalarına Giriş
- Makine Öğrenimi Türleri: Denetimli ve Denetimsiz Öğrenim
- Makine Öğreniminde Yapay Sinir Ağına Eksiksiz Bir Kılavuz
- 2021'de En Popüler 11 Makine Öğrenimi Yazılım Aracı
- En İyi 13 En İyi Makine Öğrenimi Şirketi (2021 Listesi Güncellenmiştir)
- Makine Öğreniminde Destek Vektör Makinesi (SVM) Nedir?