Örneklemeden yüksek boyutlu çıkarım problemlerinde belirsizlik tahmini?


9

Gradyan tabanlı optimizasyon ve genetik algoritmanın bir kombinasyonunu kullanarak log-posterior'un küresel maksimumunu bularak MAP tahminini sağlam bir şekilde gerçekleştirebileceğimiz yüksek boyutlu bir çıkarım problemi (yaklaşık 2000 model parametreleri) üzerinde çalışıyorum.

MAP tahminini bulmanın yanı sıra, model parametreleri üzerindeki belirsizlikleri biraz tahmin edebilmek istiyorum.

Log-posteriorun gradyanını parametrelere göre etkili bir şekilde hesaplayabiliyoruz, bu yüzden uzun vadeli bazı örnekleme yapmak için Hamiltonian MCMC'yi kullanmayı amaçlıyoruz, ancak şimdilik örnekleme tabanlı olmayan tahminlerle ilgileniyorum.

Bildiğim tek yaklaşım, arkada çok değişkenli normal gibi yaklaşan modda Hessian'ın tersini hesaplamaktır, ancak bu bile, böyle büyük bir sistem için mümkün değildir, çünkü 4×106 Hessian'ın unsurlarını eminim, tersini bulamadık.

Böyle durumlarda tipik olarak ne tür yaklaşımların kullanıldığını önerebilir mi?

Teşekkürler!

EDIT - sorun hakkında ek bilgi

Arka Plan
Bu, büyük bir fizik deneyi ile ilgili ters bir sorundur. Bazı fiziksel alanları tanımlayan bir 2D üçgen ağımız var ve model parametrelerimiz, ağın her köşesinde bu alanların fiziksel değerleridir. Kafes yaklaşık 650 köşeye sahiptir ve 3 alanı modelliyoruz, bu yüzden 2000 model parametrelerimiz geliyor.

Deneysel verilerimiz, bu alanları doğrudan ölçmeyen, ancak alanların karmaşık doğrusal olmayan işlevleri olan cihazlardan alınmıştır. Farklı enstrümanların her biri için model parametrelerini deneysel verilerin tahminleriyle eşleştiren bir ileri modele sahibiz ve tahmin ile ölçüm arasındaki bir karşılaştırma bir log-olasılık verir.

Daha sonra, tüm bu farklı enstrümanların günlük olasılıklarını özetliyoruz ve ayrıca alanlara bazı fiziksel kısıtlamalar uygulayan bazı günlük öncesi değerleri ekliyoruz.

Sonuç olarak, bu 'modelin' bir kategoriye düzgün bir şekilde düştüğünden şüpheliyim - modelin ne olduğu konusunda bir seçimimiz yok, gerçek enstrümanların deneysel verilerimizi toplaması nasıl işliyor.

Veri kümesi Veri kümesi
500x500 görüntüden oluşur ve her kamera için bir görüntü vardır, bu nedenle toplam veri noktaları 500x500x4 =106.

Hata modeli
Sorundaki tüm hataları şu anda Gausslu olarak alıyoruz. Bir noktada, sadece ekstra esneklik için student-t hata modeline geçmeye çalışabilirim, ancak işler sadece Gaussyalılarla iyi işliyor gibi görünüyor.

Olasılık örneği
Bu bir plazma fiziği denemesidir ve verilerimizin büyük çoğunluğu plazmaya, ışık spektrumunun sadece belirli kısımlarına bakmak için lenslerin önünde belirli filtrelerle işaretlenmiş kameralardan gelmektedir.

Verileri yeniden oluşturmak için iki adım vardır; önce ağdaki plazmadan gelen ışığı modellemeliyiz, o zaman ışığı bir kamera görüntüsüne geri modellemeliyiz.

Plazmadan gelen ışığın modellenmesi maalesef, alanların farklı süreçler tarafından ne kadar ışık yayıldığını söyleyen, etkili bir şekilde oran katsayılarına bağlıdır. Bu oranlar bazı pahalı sayısal modeller tarafından tahmin edilir, bu nedenle çıktılarını ızgaralarda depolamamız ve daha sonra değerleri aramak için enterpolasyon yapmamız gerekir. Rate işlevi verileri yalnızca bir kez hesaplanır - bunu kod başlatıldığında ondan bir spline oluştururuz ve daha sonra bu spline tüm fonksiyon değerlendirmeleri için kullanılır.

varsaymak R1 ve R2 (enterpolasyon ile değerlendirdiğimiz) oran fonksiyonları, daha sonra iörgünün tepe noktası Ei tarafından verildi

Ei=R1(xi,yi)+ziR2(xi,yi)
nerede (x,y,z)ağ üzerinde modellediğimiz 3 alan. Bir kamera görüntüsüne emisyon vektörü almak kolaydır, sadece bir matrisle çarpmaG her bir kamera pikselinin örgünün hangi kısımlarına baktığını kodlayan

Hatalar Gaussça ​​olduğundan, bu kamera için günlük olasılığı

L=12(GEd)Σ1(GEd)

nerede dkamera verisidir. Toplam günlük olasılığı, yukarıdaki ifadelerin 4'ünün toplamıdır, ancak hepsi oran işlevlerinin farklı sürümlerine sahip farklı kameralar içinR1,R2 çünkü ışık spektrumunun farklı kısımlarına bakıyorlar.

Önceki örnek
Çeşitli miktarlarda belirli üst ve alt sınırları etkili bir şekilde belirleyen çeşitli önceliklerimiz var, ancak bunlar sorun üzerinde çok güçlü hareket etmiyor. Alanlara Laplacian tipi düzleştirmeyi etkili bir şekilde uygulayan, güçlü davranan bir öncekimiz var. Ayrıca bir Gauss formu da alır:

log-prior=12xSx12ySy12zSz


1
Hangi modeli takıyorsunuz? Doğrusal Regresyon? GP? Hiyerarşik bir sayım modeli? Bir bilgisayar modelinin Bayes kalibrasyonu? Lütfen çözdüğünüz soruna daha fazla ayrıntı ekleyin, ben de VI'nın artıları ve eksileri ile bir cevap yazacağım.
DeltaIV

1
@DeltaIV Soruyu biraz daha bilgi ile güncelledim - tam olarak aradığınız şey hakkında ayrıntılı bilgi vermemiş olabilirim. Eğer öyleyse bana bildirin ve başka bir düzenleme yapacağım, teşekkürler!
CBowman

1
@DeltaIV Tekrar teşekkürler! Daha fazla bilgi eklendi, ekleyebileceğim başka bir şey varsa bana bildirin.
CBowman

1
@DeltaIV veri görüntüleri 500x500 ve her kamera için bir tane var, bu yüzden toplam veri noktaları 500x500x4 = 106. Rate işlevi verileri yalnızca bir kez hesaplanır - kodu sakladıktan sonra ondan bir spline oluştururuz ve sonra o spline tüm fonksiyon değerlendirmeleri için kullanılır.
CBowman

1
Referansım yok, ancak matris tersini hesaplamak için çok sayıda düşük rütbe yaklaşımı var. örneğin en büyüğünü bulk özdeğerler, kalan varsayalım 2000keşittir ve düşük öz değere karşılık gelen özvektörler için kabaca bir yaklaşım kullanır. Kesin değere yakınsama yaklaşık / yinelemeli Cholesky ayrışmaları vardır eminim. maksimum sürenin ne olduğunu bekledikten sonra yinelemeleri sonlandırın
olasılık

Yanıtlar:


4

Her şeyden önce, istatistiksel modelinizin yanlış olduğunu düşünüyorum. Gösterimlerinizi istatistikçilere daha tanıdık bir şekilde değiştiriyorum, böylece

d=y=(y1,,yN), N=106

gözlem vektörünüz olun (veriler) ve

x=θ=(θ1,,θp)y=ϕ=(ϕ1,,ϕp)z=ρ=(ρ1,,ρp), p650

toplam boyuttaki parametre vektörleriniz d=3p2000. Sonra, doğru anladıysam, bir model var

y=Gr1(θ,ϕ)+ρGr2(θ,ϕ))+ϵ, ϵN(0,IN)

nerede G bu N×d spline enterpolasyon matrisi.

Bu kesinlikle yanlış. Aynı kameradaki görüntüdeki farklı noktalarda ve farklı kameralardaki görüntülerdeki aynı noktada hataların bağımsız olması mümkün değildir. Genelleştirilmiş en küçük kareler, semivariogram tahmini, kriging, Gaussian Süreçleri, vb. Mekansal istatistiklere ve modellere bakmalısınız.


Sorunuz, modelin gerçek veri oluşturma sürecinin iyi bir yaklaşımı olup olmadığı değil, böyle bir modeli nasıl tahmin edeceğinizi olmadığı için, size bunu yapmak için birkaç seçenek göstereceğim.

HMC

Bu parametreyi bir dizüstü bilgisayarda eğitmediğiniz sürece 2000 parametreleri çok büyük bir model değildir. Veri kümesi daha büyük (106veri noktaları), ancak yine de, bulut örneklerine veya GPU'lu makinelere erişiminiz varsa, Pyro veya Tensorflow Olasılığı gibi çerçeveler bu tür bir sorunu kısa sürede çözecektir . Böylece, GPU ile çalışan Hamiltonian Monte Carlo'yu kullanabilirsiniz.

Artıları : zincirden sonsuz sayıda numune sınırında "kesin" çıkarım.

Eksileri : tahmin hatası üzerinde sıkı bir sınır yok, çoklu yakınsama teşhis metrikleri var, ancak hiçbiri ideal değil.

Büyük örnek yaklaşımı

Gösterimi kötüye kullanarak, θüç parametre vektörünüzü birleştirerek elde edilen vektör. Ardından, Bayes merkezi limit teoremini (Bernstein-von Mises) kullanarak, yaklaşıkp(θ|y) ile N(θ0^n,In1(θ0)), nerede θ0 "true" parametre değeridir, θ0^n MLE tahmini θ0 ve In1(θ0) değerlendirilen Fisher bilgi matrisi θ0. Elbette,θ0 bilinmemek için kullanacağız In1(θ0^n)yerine. Bernstein-von Mises teoreminin geçerliliği, burada bulabileceğiniz birkaç hipoteze bağlıdır, örneğin : sizin durumunuzda,R,1,R,2pürüzsüz ve farklılaştırılabilir, teorem geçerlidir, çünkü bir Gauss öncüsünün desteği tüm parametre alanıdır. Ya da daha iyisi, verileriniz aslında varsaydığınız gibi idiyse geçerli olurdu , ama başlangıçta açıkladığım gibi olduklarına inanmıyorum.

Artıları : özelliklep<<N-durum. Iid ortamında, olasılığın pürüzsüz ve farklı olduğu ve öncekinin sıfır olmayan bir semtte sıfır olmadığı zaman doğru cevaba yaklaşması garanti edilir.θ0.

Eksileri : En büyük con, belirttiğiniz gibi, Fisher bilgi matrisini tersine çevirme ihtiyacı. Ayrıca, örneklerin çizilmesi için bir MCMC örnekleyici kullanmaktan yoksun olarak, yaklaşımın doğruluğunu ampirik olarak nasıl değerlendireceğimi bilemezdim.p(θ|y). Tabii ki, bu ilk etapta B-vM kullanmanın faydasını yenecektir.

Varyasyonel çıkarım

Bu durumda, tam olarak bulmak yerine p(θ|y) (bir hesaplamanın d-idimensional integral), yaklaşık olarak p ile qφ(θ), nerede q parametrik aileye ait Sφ parametre vektörü ile indekslenmiş φ. Bakarızφ* st arasındaki bazı tutarsızlık ölçüsü q ve pminimzed. Bu önlemi KL sapması olarak seçerek, Varyasyonel Çıkarım yöntemini elde ederiz:

ϕ=argminϕΦDKL(qϕ(θ)||p(θ|y))

Requirements on qϕ(θ):

  • it should be differentiable with respect to ϕ, so that we can apply methods for large scale optimization, such as Stochastic Gradient Descent, to solve the minimization problem.
  • it should be flexible enough that it can approximate accurately p(θ|y) for some value of ϕ, but also simple enough that it's easy to sample from. This is because estimating the KL divergence (our optimization objective) requires estimating an expectation w.r.t q.

You might choose qϕ(θ) to be fully factorized, i.e., the product of d univariate probability distributions:

qϕ(θ)=i=1dqϕi(θi)

this is the so-called mean-field Variational Bayes method. One can prove (see, e.g., Chapter 10 of this book) that the optimal solution for each of the factors qϕj(θj) is

logqj(θj)=Eij[logp(y,θ)]+const.

where p(y,θ) is the joint distribution of parameters and data (in your case, it's the product of your Gaussian likelihood and the Gaussian priors over the parameters) and the expectation is with respect to the other variational univariate distributions q1(θ1),,qj1(θj1),qj+1(θj+1),,qd(θd). Of course, since the solution for one of the factors depends on all the other factors, we must apply an iterative procedure, initializing all the distributions qi(θi) to some initial guess and then iteratively updating them one at a time with the equation above. Note that instead of computing the expectation above as a (d1)dimensional integral, which would be prohibitive in your case where the priors and the likelihood aren't conjugate, you could use Monte Carlo estimation to approximate the expectation.

The mean-field Variational Bayes algorithm is not the only possible VI algorithm you could use: the Variational Autoencoder presented in Kingma & Welling, 2014, "Auto-encoding Variational Bayes" is an interesting alternative, where, rather than assuming a fully factorized form for q, and then deriving a closed-form expression for the qi, q is assumed to be multivariate Gaussian, but with possibly different parameters at each of the N data points. To amortize the cost of inference, a neural network is used to map the input space to the variational parameters space. See the paper for a detailed description of the algorithm: VAE implementations are again available in all the major Deep Learning frameworks.


that VB independence model can be a terrible approach for accuracy measures. It usually amounts to a plug-in type approximations without adjustment. simple examples are not using "degrees of freedom" adjustments in you s2 and using normal instead of t distributions. particularly a problem for hyper parameters
probabilityislogic

@DeltaIV The statistical model is generally pretty good actually, the errors between the different cameras are very very much independent, and different pixels in the same camera are going to be basically independent as well unless they are literally adjacent. We could encode some spatial correlation in adjacent pixels by using a Gaussian-process likelihood, but that would require us to either directly invert the covariance matrix, or solve a sparse linear system every time we want to evaluate the likelihood, which is a lot more expensive (although not out of the question).
CBowman

2

you may want to check out some of the "bayesX" software and possibly also the "inla" software. both of these are likely to have some ideas that you can try. Google it

both rely very heavily on exploiting sparsity in the parameterisation of the precision matrix (I.e conditional independence, markov type model) - and have inversion algorithms designed for this. most of the examples are based on either multi level or auto regressive guassian models. should be fairly similar to the example you posted

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.