tag evrimsel-hesaplama

Bu sayfada evrimsel-hesaplama etiketi ile işaretlenmiş 3 yapay zeka kavramını bulabilirsiniz.

Genetik Algoritma (GA), biyolojik evrim ilkelerini — doğal seçilim, çaprazlama (crossover) ve mutasyon — bilgisayar optimizasyon problemlerine uygulayan, John Holland tarafından 1960'larda geliştirilen ve 1975 yılında "Adaptation in Natural and Artificial Systems" adlı kitabıyla sistematize edilen bir meta-sezgisel (metaheuristic) arama yöntemidir. Algoritma, her biri bir çözüm adayını temsil eden bireylerden oluşan bir popülasyonla başlar. Her birey, çözümün kodlanmış biçimi olan bir "kromozom" ile temsil edilir — geleneksel uygulamalarda bu ikili bit dizisidir, ancak modern uygulamalarda gerçel sayı vektörleri, permütasyonlar veya ağaç yapıları da kullanılır. Algoritmanın çekirdek döngüsü dört adımdan oluşur: (1) Uygunluk değerlendirmesi — her bireyin amaç fonksiyonuna göre puanlandırılması; (2) Seçim — yüksek uygunluklu bireylerin ebeveyn olarak tercih edilmesi (rulet tekerleği, turnuva veya sıralama seçimi gibi yöntemlerle); (3) Çaprazlama — iki ebeveynin kromozomlarının belirli bir noktadan birleştirilerek yavru üretilmesi; (4) Mutasyon — düşük olasılıkla rastgele gen değişikliği yapılarak yerel minimumdan kaçınma. Nesiller boyunca tekrar eden bu döngü, popülasyonu giderek daha iyi çözümlere doğru yönlendirir. Genetik Algoritmalar, gradyan tabanlı optimizasyon yöntemlerinin başarısız olduğu ayrık, çok modlu, çok boyutlu ve gürültülü problem uzaylarında güçlüdür. Geleneksel arama yöntemlerinin tıkandığı NP-zor problemlerde (gezgin satıcı problemi, çizelgeleme, ağ tasarımı) pratik çözümler üretir. Makine öğrenmesindeki uygulamaları arasında hiperparametre optimizasyonu, sinir ağı mimarisi arama (NAS — Neural Architecture Search) ve özellik seçimi öne çıkar. AutoML sistemleri, en iyi model konfigürasyonunu bulmak için evrimsel stratejileri kullanır. Bunun yanı sıra mühendislik tasarımı (aerodinamik optimizasyon, malzeme bilimi), lojistik (rota planlaması, kapasite optimizasyonu) ve biyoinformatik (protein katlama, gen ifadesi analizi) alanlarında yaygın kullanım bulur. Pratik uygulama için Python'da DEAP (Distributed Evolutionary Algorithms in Python) ve PyGAD kütüphaneleri kapsamlı API sunmaktadır. Genetik Programlama (GP), GA'nın bir uzantısı olup bireyleri sabit uzunluklu kodlar yerine program ağaçları olarak temsil eder ve sembolik regresyon gibi görevlerde kullanılır. Diferansiyel Evrim (Differential Evolution) ise sürekli uzaylar için optimize edilmiş yakın akraba bir yöntemdir.

code_blocks

Genetic Algorithm (Genetik Algoritma)

Genetik Algoritma (GA), biyolojik evrim ilkelerini — doğal seçilim, çaprazlama (crossover) ve mutasyon — bilgisayar optimizasyon problemlerine uygulayan, John Holland tarafından 1960'larda geliştirilen ve 1975 yılında "Adaptation in Natural and Artificial Systems" adlı kitabıyla sistematize edilen bir meta-sezgisel (metaheuristic) arama yöntemidir. Algoritma, her biri bir çözüm adayını temsil eden bireylerden oluşan bir popülasyonla başlar. Her birey, çözümün kodlanmış biçimi olan bir "kromozom" ile temsil edilir — geleneksel uygulamalarda bu ikili bit dizisidir, ancak modern uygulamalarda gerçel sayı vektörleri, permütasyonlar veya ağaç yapıları da kullanılır. Algoritmanın çekirdek döngüsü dört adımdan oluşur: (1) Uygunluk değerlendirmesi — her bireyin amaç fonksiyonuna göre puanlandırılması; (2) Seçim — yüksek uygunluklu bireylerin ebeveyn olarak tercih edilmesi (rulet tekerleği, turnuva veya sıralama seçimi gibi yöntemlerle); (3) Çaprazlama — iki ebeveynin kromozomlarının belirli bir noktadan birleştirilerek yavru üretilmesi; (4) Mutasyon — düşük olasılıkla rastgele gen değişikliği yapılarak yerel minimumdan kaçınma. Nesiller boyunca tekrar eden bu döngü, popülasyonu giderek daha iyi çözümlere doğru yönlendirir. Genetik Algoritmalar, gradyan tabanlı optimizasyon yöntemlerinin başarısız olduğu ayrık, çok modlu, çok boyutlu ve gürültülü problem uzaylarında güçlüdür. Geleneksel arama yöntemlerinin tıkandığı NP-zor problemlerde (gezgin satıcı problemi, çizelgeleme, ağ tasarımı) pratik çözümler üretir. Makine öğrenmesindeki uygulamaları arasında hiperparametre optimizasyonu, sinir ağı mimarisi arama (NAS — Neural Architecture Search) ve özellik seçimi öne çıkar. AutoML sistemleri, en iyi model konfigürasyonunu bulmak için evrimsel stratejileri kullanır. Bunun yanı sıra mühendislik tasarımı (aerodinamik optimizasyon, malzeme bilimi), lojistik (rota planlaması, kapasite optimizasyonu) ve biyoinformatik (protein katlama, gen ifadesi analizi) alanlarında yaygın kullanım bulur. Pratik uygulama için Python'da DEAP (Distributed Evolutionary Algorithms in Python) ve PyGAD kütüphaneleri kapsamlı API sunmaktadır. Genetik Programlama (GP), GA'nın bir uzantısı olup bireyleri sabit uzunluklu kodlar yerine program ağaçları olarak temsil eder ve sembolik regresyon gibi görevlerde kullanılır. Diferansiyel Evrim (Differential Evolution) ise sürekli uzaylar için optimize edilmiş yakın akraba bir yöntemdir.

arrow_forward
fingerprint

Genetic Algorithms (Genetik Algoritmalar)

Genetik Algoritmalar (GA), biyolojik evrimin temel mekanizmalarından — doğal seçilim, çaprazlama (crossover) ve mutasyon — ilham alarak tasarlanmış sezgisel arama ve optimizasyon algoritmalarıdır. 1975 yılında John Holland tarafından Michigan Üniversitesi'nde teorik temelleri atılan bu yaklaşım, özellikle gradyan tabanlı yöntemlerin yetersiz kaldığı karmaşık, çok boyutlu ve türevlenemeyen arama uzaylarında güçlü bir alternatif sunar. GA'nın çalışma prensibi beş temel adımdan oluşur: (1) Başlangıç popülasyonu — olası çözümleri temsil eden bireylerden (kromozomlardan) oluşan rastgele bir popülasyon oluşturulur; her birey genellikle binary bit dizisi, gerçek sayı vektörü veya permütasyon olarak kodlanır. (2) Uygunluk değerlendirmesi — her bireyin kalitesi, probleme özgü bir uygunluk (fitness) fonksiyonuyla ölçülür. (3) Seçilim — daha yüksek uygunluk değerine sahip bireyler ebeveyn olarak seçilme şansını artırır; rulet tekerleği, turnuva ve sıra-tabanlı seçim en yaygın stratejilerdir. (4) Çaprazlama — iki ebeveynin genetik materyali birleştirilerek yeni çocuk bireyler üretilir; tek nokta, iki nokta ve üniform çaprazlama popüler yöntemlerdir. (5) Mutasyon — küçük rastgele değişiklikler eklenerek genetik çeşitlilik korunur ve yerel optimumlara takılma riski azaltılır. Bu döngü, belirlenen nesil sayısına ulaşılana ya da uygunluk eşiği sağlanana dek tekrarlanır. Her nesilde popülasyon ortalama kalitesi artar; en iyi birey "elit seçim" stratejisiyle bir sonraki nesile doğrudan aktarılabilir (elitizm). Genetik Algoritmalar; makine öğrenmesinde hiperparametre optimizasyonu, lojistik rota planlaması (Gezgin Satıcı Problemi), elektronik devre tasarımı, protein katlama, oyun yapay zekası ve NAS (Neural Architecture Search) gibi geniş bir uygulama yelpazesine sahiptir. Simulated Annealing ve Parçacık Sürü Optimizasyonu (PSO) ile sıklıkla karşılaştırılır; GA'nın temel avantajı, paralel popülasyon keşfiyle çok-modlu fonksiyonlarda yerel optimumlardan kaçabilmesidir. Hesaplama maliyetinin yüksek olabileceği ve sonuçların deterministik olmadığı başlıca kısıtlamalar arasındadır.

arrow_forward
code_blocks

Genetic Programming (Genetik Programlama)

Genetic Programming (GP), genetik algoritmaların bir uzantısı olarak bireylerin sabit uzunluklu bit dizileri yerine yürütülebilir bilgisayar programları olduğu evrimsel bir hesaplama yöntemidir. John Koza tarafından 1992'de sistematik biçimde formüle edilen GP, doğal seleksiyonu programların yüksek seviyeli sembolleriyle çalışacak şekilde uyarlar. Her birey, tipik olarak ağaç veri yapısıyla temsil edilir: dallar aritmetik operatörler, mantıksal koşullar veya döngü yapıları gibi işlevleri, yapraklar ise sabitler ya da değişkenler (terminaller) içerir. Bir popülasyon başlatıldıktan sonra üç temel evrimsel operatör devreye girer. Seçim operatörü, bir değerlendirme fonksiyonuna göre en iyi bireyleri bir sonraki nesle taşır. Çaprazlama, iki ebeveyn ağacından rastgele seçilen alt ağaçların yer değiştirmesiyle hibrit çocuklar üretir. Mutasyon ise rastgele bir düğümü ya da alt ağacı yeniden oluşturarak keşif kapasitesini artırır. GP'nin en güçlü uygulama alanlarından biri sembolik regresyondur: gözlem verilerinden en uygun matematiksel denklemi otomatik olarak türetir. Ayrıca FPGA devre tasarımı, robotik hareket planlama, oyun stratejisi öğrenme ve yazılım hata onarımı gibi alanlarda geniş kullanım bulur. Önemli bir dezavantaj bloat sorunudur: nesiller ilerledikçe programlar gereksiz kod parçalarıyla şişer ve hesaplama maliyeti artar; bunu önlemek için ağaç boyutu sınırlamaları veya boyut cezası eklenir. Modern varyantlar arasında Grammatical Evolution, Linear Genetic Programming ve Strongly-Typed GP yer alır. Derin öğrenme çağında GP, differentiable GP ve nöral ağlarla hibrit mimarilerde yeniden ilgi görmektedir.

arrow_forward