6 Eylül 2010 Pazartesi

parametre patlaması | parameter explosion

ikinci bir sorun parametrelerin belirlenmesi. diyelim ki bir evrimsel deney yapacaksınız. ve yine diyelim ki, işte nüfus büyüklüğü, tur sayısı, mutasyon oranları (kaç tane birey mutasyona uğrayacak ve kaç genleri mutasyona uğrayacak ve nasıl uğrayacak), eşeyleme oranları, seçim yaklaşımı (efenim en iyi bireyler sıralamasına göre mi? yoksa turnuva mı), fitness fonksiyonları, bu fonksiyonların parametreleri, e değerlendirmede kullanılacak karşılaştırma dizilerinin elde edilmesiyle ilgili parametreler ve daha niceleri, bu parametrelerin en uygun olanlarının bulunması gerekiyor. doğru parametrelerle çalıştırılmadığında süreçten düzgün sonuç alamıyoruz, en azından yöntemin potansiyellerini doğru değerlendiremiyoruz. diyelim ki 10 adet çok önemli parametre var ve bunların her biri için 10 adet olası değer belirledik (aslında bu olasılıklar bir çok durumda sonsuz sayıda, ama biz sürekli değişkenleri süreksiz adımlara bölüyoruz ve mümkün olduğunda üst ve alt sınırlar vermeye çalışıyoruz, yani 0-10 arasında herhangi bir değeri alabiliyormuş mesela, biz [0, 2, 4, 6, 8, 10] gibi 6 değeri deniyoruz), neyse ne yaparsak yapalım eğer bu parametre değerlerinin optimum bileşimini deneye deneye bulmak istersek 10**10 (pythoncada 10 üzeri 10) adet deneme yapmamız gerekiyor. 10 milyar mı eder? zaman alır :].

şöyle yapılıyor, belki tek tek, ayrı ayrı sadece birer parametreyi değiştirerek 10*10 (10 çarpı 10 yani 100) adet deneme yapıp, her bir parametre için diğerlerinden bağımsız olsaydı en iyi değer ne olurdu gibi bir değeri yaklaşık olarak bulmaya çalışıyoruz (ama esasında bilemeyiz, parametreler birbirinden bağımsız olmuyor genelde) daha sonra da bu parametrelerin süreçte o evrimin koşullarına göre değişmesini sağlayacak bir süreç kurguluyoruz. buna da adaptif evrimsel algoritma diyorlar. bir değer ile başlıyoruz, sonra süreç içinde o değer de evriliyor ve en uygun değerini kendisi bularak dönüşüyor. kulağa hoş geliyor. ama kaç parametreyi bir arada verimli biçimde evriltebiliriz, burda da sürecin verimsizleştiği bir eşik olabilir, buna göre popülasyon ya da tur sayısını nasıl değiştirmeliyiz? bunla ilgili bir malumat bulamadım daha, işte bir yöntemin derli toplu teorisi olursa bu tip sorulara hazır yanıtlar buluyor insan. olmaz ise deneyip görmek gereken pek çok husus oluyor. ama hangi biriyle uğraşılacak?

Hiç yorum yok: