Genetik Algoritmalar, Charles Darwin'in doğal seçilim teorisine dayanır ve genellikle araştırma ve makine öğrenimindeki problemleri çözmek için kullanılır.
Burada, Genetik Algoritmaların (GA) temellerine ve bunları kullanarak optimizasyon problemlerinin nasıl çözüleceğine bakacağız .
Genetik algoritmalar, John Henry Holland ve öğrencileri ve ortakları tarafından 1970'lerde ve 1980'lerde Michigan Üniversitesi'nde geliştirildi.
Evrimsel algoritmaların bir alt kümesidir ve en uygun bireylerin hayatta kaldığı ve yeni neslin yavrularını yeniden üretmek için çapraz geçiş için seçildiği doğal seçilim sürecini taklit eder.
Doğal seleksiyon süreci, yavrulara mutasyon şeklinde küçük rastlantısallığın eklenmesini de içerir. Bu, karma zindeliğe sahip yeni bir birey popülasyonuyla sonuçlanacaktır.
Ancak üreme için yalnızca en uygun kişiler seçilir ve uygunluk nesiller boyunca tutarlı bir şekilde geliştirilir.
Genetik Algoritmalar, bir optimizasyon problemini veya bir arama problemini çözmek için kullanıldığında, doğal seçilim süreci sona erene kadar sürekli tekrarlanır.
Fesih genellikle yeni oluşturulan bireylerin önceki nesilden önemli ölçüde farklı olmadığı bir noktaya ulaşıldığında gerçekleşir.
Bu, algoritmanın soruna en uygun veya optimuma yakın bir çözüme ulaştığı anlamına gelir.
Pratikte Genetik Algoritmalar aşağıdaki gibi çalışır
Adım 1. Rastgele bireyler oluşturun
Adım 2. Verilen birey popülasyonundan en iyilerini bulun
Adım 3. Üzerlerinden geçin
Adım 4. Yeni nesil yavruları biraz mutasyona uğratın
Adım 5. Sonlandırılana kadar 2 ila 4. adımları tekrarlayın
Bu adımların her birine ve kısaca kullanılan terminolojilere bir göz atalım. Ayrıca, rastgele bir diziden başlayarak verilen optimum diziyi üretme sorununu çözen genetik bir algoritma uygulamaya çalışacağız.
Süreç, ilk nesil bireyler yaratmakla başlar ve bunlar İlk Nüfus olarak bilinir.
Her birey, verilen probleme bir çözümdür ve Genler olarak bilinen bir dizi parametre ile karakterize edilir. Bu genler, Kromozomları oluşturmak için bir zincir gibi bir arada tutulur.
İlk popülasyonu oluşturmanın iki ana yöntemi şunlardır:
Bir bireyin diğerlerine kıyasla ne kadar iyi veya ne kadar 'uygun' olduğunu bulmak için bir uygunluk işlevi kullanırız.
Uygunluk işlevi, bireyi girdi olarak alır ve bireyin soruna optimum bir çözüm bulmada ne kadar iyi olduğuna bağlı olarak bir uygunluk puanı döndürür.
Bir geçiş (üreme) için yalnızca en yüksek kondisyon puanına sahip kişiler seçilecektir. Bu eğitimde, geçiş için yalnızca en uygun iki kişiyi seçelim.
Her nesil için tüm bireyler için uygunluk puanı hesaplandığından, uygunluk işlevi yeterince hızlı olmalıdır.
Fitnes problemin karmaşıklığına doğrudan hesaplanamaz durumlarda, kullanabilir spor yaklaşımı .
Ebeveyn Seçimi veya basitçe seçim, çapraz geçiş için en iyi bireylerin seçildiği süreçtir ve genetik algoritmanın yakınsaması için çok önemlidir.
Seçim sürecinin amacı, bir sonraki nesli yeterince çeşitli tutarken, en uygun bireylerin geçiş için seçilmesidir.
Bireyler genellikle aşağıdaki seçim stratejilerinden biri kullanılarak seçilir.
Genetik algoritmalarda çapraz geçiş, biyolojik geçişe benzer, mevcut neslin bireylerinin genlerini bir sonraki neslin bireylerine aktarması sürecidir .
Geçiş süreci bittiğinde, yeni oluşturulan bireyler eski bireylerin yerini alır ve seçim ve geçiş süreci tekrarlanır.
Genel olarak kullanılan iki çaprazlama yöntemi şunlardır:
Mutasyon, popülasyonu yeterince çeşitli tutmak için yavruların genlerini biraz değiştirme veya değiştirme sürecidir. Mutasyon genellikle düşük olasılıkla uygulanır.
Mutasyon, popülasyonda çeşitliliği tanıtmak ve sürdürmek için gereklidir ve dolayısıyla genetik algoritmanın erken yakınsamasını önler.
Genetik algoritmayı daha çok rastgele bir arama algoritması yapacağından mutasyon olasılığı yüksek olmamalıdır.
Genetik algoritmanın sona ermesi, yeni oluşturulan popülasyonun en uygun bireyinin optimum bir çözüm veya optimuma yakın bir çözüm olması durumunda gerçekleşir.
Hesaplama süresinin daha yüksek olduğu durumlarda, belirli bir nesilden sonra fesih çağrısı da yapılabilir.
Bizim durumumuzda, ancak genetik algoritma tamamen optimum çözüme ulaştığında fesih çağrısında bulunacağız.
Verilen optimum "Merhaba, Genetik Algoritmalar!" Dizesini oluşturma sorununu çözen genetik algoritmamız. , rastgele bir dizeden başlayarak.
Okuduğunuz için teşekkürler. Umarım bu makaleyi genetik algoritmaların temellerini anlamada yararlı bulmuşsunuzdur.
Bu makalenin devamında, umarım, genetik algoritmaları kullanarak ünlü Seyahat Eden Satıcı Problemini çözmek için bir eğitim yazıyor olacağım.
Etrafımızdaki dünya gibi, dil de sürekli değişiyor. Önceki dönemlerde dil değişiklikleri yıllar hatta on yıllar içinde meydana gelirken, artık günler hatta saatler içinde gerçekleşebilir.
Yapay Zeka (AI), endüstrilerde devrim yaratma, yaşama ve çalışma şeklimizi değiştirme ve topluma sayısız fayda sağlama potansiyeline sahip, hızla gelişen bir teknolojidir. Ancak, her yeni teknolojide olduğu gibi, dikkate alınması gereken etik hususlar da vardır.
Torchvision kitaplığının sezgisel bir anlayışı - temel bilgilerden ileri düzeye (Bölüm 1/3) Torchvision nedir? Torchvision, PyTorch ile el ele giden bir Bilgisayar Görüşü kütüphanesidir. Verimli Görüntü ve Video dönüşümleri için yardımcı programlara, yaygın olarak kullanılan bazı önceden eğitilmiş modellere ve bazı veri setlerine sahiptir (torchvision PyTorch ile birlikte gelmez, ayrı olarak kurmanız gerekecektir.
Torchvision kitaplığının sezgisel bir şekilde anlaşılması - 14 görsel dönüşüm örneğiyle (Bölüm 2/3) Bölüm 1 için (torchvision'daki modüllere giriş), lütfen aşağıdaki bağlantıyı ziyaret edin. Bu makalede, veri kümesi (görüntüler) yüklendikten hemen sonra bir dizi halinde gerçekleştirilebilen basit görüntü dönüştürme işlevlerini deneyeceğiz.
Grafik Sinir Ağları (GNN'ler), grafik verilerinden öğrenmek için standart bir araç kutusu olarak ortaya çıktı. GNN'ler, içerik önerisi veya ilaç keşfi gibi farklı alanlarda yüksek etkili sorunlar için iyileştirmeler sağlayabilir.
Bir önceki yazımda, blob algılama ve bağlantılı bileşenlere dayalı olarak ilgilenilen nesneleri nasıl tanımlayacağımızı öğrendik. Bununla birlikte, belirli ilgi çekici nesneleri görüntülerimizden ayırmamız gereken zamanlar olacaktır.