Pratik hiperparametre optimizasyonu: Random vs grid search


40

Şu anda Bengio'nun ve Bergsta'nın Hiper-Parametre Optimizasyonu için Rasgele Arama'dan [1] geçiyorum .

Sorum şu: Buradaki insanlar bu iddiaya katılıyorlar mı? Yaptığım işte, rasgele aramayı kolayca gerçekleştirebilecek araçların bulunmamasından dolayı, çoğunlukla grid aramayı kullanıyorum.

Izgarayı rastgele aramayı kullanan insanların deneyimi nedir?


Rastgele arama daha iyidir ve daima tercih edilmelidir. Bununla birlikte, Optunity , hipermetrop veya bayesopt gibi hiperparametre optimizasyonu için özel kütüphaneler kullanmak daha da iyi olacaktır .
Marc Claesen

Bengio ve diğ. Buraya yazın: papers.nips.cc/paper/… Öyleyse, GP en iyi şekilde çalışır, ancak RS de harika çalışır.
Guy L,

10
@Marc Katıldığınız bir şeye bir link verdiğinizde, onunla ilişkinizi açıkça belirtmelisiniz (bir veya iki kelime yeterli olabilir, hatta our Optunityyapması gerektiği kadar kısa olabilir ); Davranışla ilgili yardımda dediği gibi, "bazıları ... ürününüz veya web
sitenizle ilgiliyse

Yanıtlar:


39

Rastgele arama, sadece% 5 yineleme ile% 5 optima dahilinde bir parametre kombinasyonunu bulma olasılığının% 95'ine sahiptir. Ayrıca, diğer yöntemlerle karşılaştırıldığında, yerel optima'da da pek az yok

Kontrol Dato de bu büyük blog yazısı Alice Zheng tarafından, özellikle bölüm Hyperparameter akort algoritmaları .

Underdog'un kazandığı filmleri severim ve basit çözümlerin şaşırtıcı derecede etkili olduğu gösterilen makine öğrenme kağıtlarını severim. Bergstra ve Bengio'nun “Hiperparametre optimizasyonu için rastgele arama” hikayesi. [...] Rastgele arama daha önce çok ciddiye alınmamıştı. Bunun nedeni, tüm ızgara noktalarını araştırmamasıdır, bu yüzden muhtemelen grid araması tarafından bulunan en uygun değeri geçemez. Ama sonra Bergstra ve Bengio ile birlikte geldi. Şaşırtıcı bir şekilde birçok durumda rasgele aramanın, ızgara aramasının yanı sıra yaklaşık performans gösterdiğini de gösterdiler. Sonuçta, ızgaradan örneklenen 60 rastgele noktayı denemek yeterince iyi görünüyor.

(10.05)n. Bu nedenle, en az birinin aralığa isabet etmede başarılı olma olasılığı 1 eksi bu miktardır. En az .95 başarı olasılığı istiyoruz. İhtiyacımız olan beraberlik sayısını bulmak için, sadece denklemde n için çözmek:

1(10.05)n>0.95

n60

Hikayenin ahlaki şudur: eğer hiperparametrelerin optimal bölgeye en yakın bölgesi ızgara yüzeyinin en az% 5'ini kaplarsa, 60 denemeyle rastgele arama yapmak, o bölgeyi yüksek olasılıkla bulur.

Bu şansı daha fazla sayıda deneme ile geliştirebilirsiniz.

Sonuç olarak, ayarlamak için çok fazla parametreniz varsa, şebeke araması yapılamayabilir. O zaman rastgele arama yapmayı deniyorum.


3
Blog yayının bağlantısı aşağı :( bu olabilir aynı makale? Oreilly.com/ideas/evaluating-machine-learning-models/page/5/...
n1k31t4

@DexterMorgan Hey, kafaların için teşekkürler. Evet, blog görünüşte açık ve "resmi" olmayan diğer kaynaklarla bağlantı kurmam gerektiğinden emin değilim , bu yüzden sanırım şimdilik olduğu gibi bırakacağım.
Firebug

Blog hala hazır değil ... alıntı yaptığınız için teşekkür ederiz ve @ n1k31t4 daha fazla okuma için bir bağlantı sağladığınız için teşekkür ederiz!
saat

8

Kağıttan grafiğe tekrar bakın (Şekil 1). İki parametreniz olduğunu söyleyin, 3x3 ızgara araması ile her bir parametreden sadece üç farklı parametre değerini (soldaki çizimde üç satır ve üç sütun) kontrol ederken, rastgele arama ile dokuz (!) Farklı parametre değerini kontrol edin parametrelerin her biri (dokuz ayrı satır ve dokuz ayrı sütun).

Grid vs rasgele arama

Açıkçası, rastgele araştırma, tesadüfen, tüm parametreler için temsili olmayabilir, ancak numune büyüklüğü arttıkça, bunun şansı küçülür ve küçülür.


6

Izgara aramaya bir işlev yazabiliyorsanız, rasgele arama yapmak için bir işlev yazmak muhtemelen daha kolaydır çünkü ızgarayı önceden belirtmeniz ve saklamanız gerekmez.

Bunun bir yana bırakılması, LIPO, partikül sürüsü optimizasyonu ve Bayesian optimizasyonu gibi yöntemlerin hangi hiperparametrelerin daha iyi olacağı konusunda akıllı seçimler yapar. model), bu araçlar umut verici seçeneklerdir. Aynı zamanda küresel optimize edicilerdir, bu yüzden global maksimumu bulma olasılıkları yüksektir. BO yöntemlerinin edinme işlevlerinden bazıları, onları daha da çekici kılan kanıtlanabilir pişmanlık sınırlarına sahiptir.

Bu sorularda daha fazla bilgi bulunabilir:

Bayesian hiper parametre optimizasyonunun bazı sakıncaları nelerdir?

Maliyet İşlevinin Değerlendirmeyi Yavaşladığında Optimizasyonu


2

Varsayılan olarak, rasgele arama ve ızgara arama, aşağıdakilerden biri olmadıkça korkunç algoritmalardır.

  • Sorununuz küresel bir yapıya sahip değil, örneğin, sorun multimodal ise ve yerel optima sayısı çok fazlaysa
  • Sorununuz gürültülü, yani aynı çözümü iki kere değerlendirmek farklı objektif fonksiyon değerlerine yol açıyor
  • Nesnel işlev çağrılarının bütçesi, örneğin 1x veya 10x'ten küçük değişkenlerin sayısına göre çok küçüktür.
  • Değişken sayısı çok küçüktür, örneğin 5'ten küçüktür (pratikte).
  • birkaç diğer şartlar.

Çoğu insan rastgele aramanın şebeke aramasından daha iyi olduğunu iddia eder. Bununla birlikte, toplam fonksiyon değerlendirme sayısı önceden tanımlandığında, şebeke araştırmasının, aynı bütçe ile rastgele aramadan daha kötü olmayan arama alanını iyi bir şekilde karşılayacağına ve varsa, ikisi arasındaki farkın önemsiz olduğuna dikkat edin. Örneğin, probleminizin ayrılabilir veya neredeyse ayrılabilir olduğuna dair bazı varsayımlar eklemeye başlarsanız, ızgara aramayı desteklemek için argümanlar bulacaksınız. Genel olarak, her ikisi de çok az durumda olmadığı sürece nispeten korkunç. Dolayısıyla, sorunla ilgili ek varsayımlar göz önüne alınmadıkça, aralarında ayrım yapmaya gerek yoktur.


daha iyi bir şey önerebilir misin? Denemezsek en iyi olanı nasıl bilebiliriz? Bana göre birçok model üzerinde rastgele arama yapmak en iyi uzlaşma çözümüdür.
JPErwin

0

2B topografyada sadece bir maksimum ile maksimum% 95 arasında bir nokta bulmak% 100/25 =% 25,% 6,25,% 1,5625 veya 16 gözlem alır. İlk dört gözlem, maxima'nın (ekstrema) hangi kadranda olduğunu doğru bir şekilde belirlediği sürece .DD topografyası 100/2 = 50, 25, 12.5, 6.25, 3.125 veya 5 * 2 alır. Sanırım çok fazla sayıda yerel yerel maxima arayan insanlar, büyük inital ızgara araştırmasından sonra regresyondan veya başka bir tahmin yönteminden yararlanıyor. 60 gözlemden oluşan bir ızgara, ekstremin% 100/60 = 1.66'sında bir gözlem yapmalıdır. Küresel Optimizasyon Vikipedi Hala rastgele olmaktan daha iyi bir yöntem olduğunu düşünüyorum.


Simüle edilmiş tavlama, birkaç yıldan beri devam eden rastgele bir arama şeklidir.
Michael Chernick
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.