Gauss Proses Regresyonunda Hiperparametre Ayarı


13

log(y|X,θ)=12yTKy1y12log(det(K))n2log(2π)
K
Kij=k(xi,xj)=b1exp(12(xixj)TM(xixj))+a1δij
M=lIa,bl

log marjinal olabilirlik wrt parametrelerinin kısmi türevi aşağıdaki

log(y|X,θ)dθ=12trace(K1dKdθ)+12(ydKdθK1dKdθy)

girişleri parametrelere bağlı olduğundan, türevler ve tersi de geçerlidir . Bu, gradyan tabanlı bir optimize edici kullanıldığında, gradyanın belirli bir noktada (parametre değeri) değerlendirilmesi, kovaryans matrisinin yeniden hesaplanmasını gerektireceği anlamına gelir. Benim uygulamada, bu mümkün değildir çünkü kovaryans matrisini sıfırdan hesaplamak ve gradyan yükselişinin her tekrarında tersini hesaplamak çok pahalı. Sorum şu, bu üç parametrenin oldukça iyi bir kombinasyonunu bulmak için seçeneklerim nelerdir? ve ilk önce hangi parametrenin optimize edileceğini de bilmiyorum ve bu konuda da herhangi bir göstergeyi takdir ediyorum.KK


Ben mütevazı boyutta veri kümeleri için GP hiper parametrelerini örneklemek için HMC kullanarak başarılı oldum.
Sycorax, Reinstate Monica

Merhaba @Sycorax, bu sorunu çözmek için bu tekniği nasıl kullandığınızı söyleyebilir misiniz? OP ile aynı soruna sahibim ve bunu çözmek için MCMC'yi kullanmayı düşünüyordum ama bunu nasıl yapacağımı henüz bilmiyorum.
Willian Fuks

Stan'daki GP'yi yeni kodladım. GP hiperparametreleri modelin parametreleri olarak bildirildi ve buna göre çıkartıldı. Bu, her HMC yinelemesi için bir dizi tahmin üretti. Gelman bunların hepsinin BDA3'te
Sycorax, Monica

Yanıtlar:


6

Gradyan yükselişinin her yinelemesinde yeni bir kovaryans matris hesaplamasına ihtiyacınız var. Matris hesaplaması ayarınız için uygun değilse, bence degrade tabanlı marjinal olasılık optimizasyonunu kullanamazsınız.

Benim önerim, ızgara arama, rasgele arama veya Bayes optimizasyon tabanlı arama gibi hiperparametre ayarı için gradyan içermeyen yöntemler kullanmaktır . Bu yöntemler, SVM'ler gibi diğer makine öğrenme algoritmalarının hiperparametrelerinin optimizasyonu için yaygın olarak kullanılmaktadır.

İlk denemeniz için ızgara aramasını öneririm . Temel olarak olası hiperparametrelerin bir tablosunu (ızgarasını) oluşturur, her birini dener ve en iyi doğrulama performansını (veya en iyi marjinal olasılığı) ararsınız.

Izgara araması, en düşük hiperparametreler kümesini verir ve ızgarayı kendiniz belirtmeniz gerekir. (İpucu: günlük ölçeğinde ızgara yapın) ancak çok daha az hesaplama gerekir. (ve degradeye ihtiyacınız yok!)

Izgara aramasını bilmiyorsanız Wikipedia'ya bakabilirsiniz : Hiperparametre Optimizasyonu - Izgara Arama

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.