Gauss İşlemleri: Çok boyutlu çıktı için GPML nasıl kullanılır


13

GPML kullanarak çok boyutlu çıktıda (muhtemelen ilişkili) Gauss Süreci Regresyonu gerçekleştirmenin bir yolu var mı ?

In demo komut sadece bir 1D örnek bulabiliriz.

Bir benzer soru CV üzerinde çok boyutlu girdinin ele almaktadır durumda.


Bir şey bulabileceğimi görmek için kitaplarını inceledim. In 9 bölümde bu kitapta (bölüm 9.1), onlar birden çıkışların bu davayı belirtmiştik. Bununla başa çıkmanın birkaç yolundan bahsettiler: Bir - bir korelasyonlu gürültü süreci ve İki - Cokriging (önceden İlişkili).

Hala bu fikirlerden herhangi birini GPML çerçevesine nasıl dahil edebileceğimi bilmiyorum.


Ayrıca, çok boyutlu çıktıyı destekleyen başka GP kütüphaneleri / çerçeveleri de var mı?


"Yapısal Verileri Tahmin Etme", girdi ve çıktı arasındaki Ortak Çekirdeklerde tek sınıf (çekirdek yoğunluk tahmini) durumunda SVM'lerin kullanılması hakkında konuşuyor. Her ikisinin de çekirdek makinesi olduğu göz önüne alındığında, bu yaklaşım işe yaramalıdır. Benzer bir şeyden bahseden bir makale buldum. datamin.ubbcluj.ro/tr/2011/sogp.pdf Yapısal öğrenme algoritmalarını yerleştirme girişimlerim oldukça uçucu oldu, bu yüzden bunun nasıl biriktiğinden emin değilim.
Jessica Collins

Yanıtlar:


7

İkiz Gauss Süreçlerinin tam olarak aradığınız şey olduğuna inanıyorum . Modeli kağıdın özünden daha iyi tanımlayamıyorum, bu yüzden yapıştırıp kopyalayacağım:

Biz ikiz Gauss süreçleri (TGP) tanımlamak 1hem ortak değişkenler hem de yanıtlar üzerinde Gauss işlemi (GP) önceliklerini [2] kullanan genel yapılandırılmış bir tahmin yöntemi ve sonlu indeks setleri üzerinde normal dağılımlar olarak modellenen iki GP arasındaki Kullback-Leibler sapmasını en aza indirerek çıktıları tahmin eder. benzer girdilerin benzer algılar üretmesi ve bunun ortalama olarak marjinal dağılımları arasında olması gerektiğini vurgulayan test örnekleri. TGP, tipik bir GP'deki gibi sadece ortak değişkenler arasındaki bağımlılıkları değil, aynı zamanda yanıtlar arasındaki bağımlılıkları da yakalar, bu nedenle hem girdiler hem de çıktılar arasındaki korelasyonlar açıklanır. TGP, kısa süre önce piyasaya sürülen HumanEva karşılaştırmalı değerlendirmesinde monoküler ve çok kameralı video dizilerinden gelen 3d insan pozlarının yeniden yapılandırılması için umut verici sonuçlarla örneklenmiştir, burada birden fazla kişiden gelen veriler ve birden fazla etkinlik kullanılarak ortak olarak eğitilen modeller için 3B işaretçi başına ortalama 5 cm hata elde ediyoruz. Yöntem hızlı ve otomatiktir: başlangıç ​​pozunun, kamera kalibrasyon parametrelerinin veya eğitim veya test için kullanılan insan süjelerle ilişkili bir 3B vücut modelinin el işi gerektirmez.

Yazarlar, başlamak için cömertçe kod ve örnek veri setleri sağladılar.


Siteye hoş geldiniz, @caoy. Bu bağlantıda neler olduğu hakkında biraz bilgi vermek ister misiniz? Bu şekilde, okuyucular onlar için uğraşmaya değer olup olmadığını bilebilirlerdi ve bu, gelecekteki linkrot durumunda hala değerli bir şey olduğu anlamına gelir.
gung - Monica'yı eski durumuna döndürün

@gung, thx, umarım soyut işi yapar.
Yanshuai Cao

@caoy ... İkiz Gauss Süreçlerindeki çıktıların tahmini dağıtım ortalaması ve varyansı hakkında biraz ayrıntı verebilir misiniz?
Sandipan Karmakar

3

Kısa cevap Çok boyutlu çıktı için regresyon biraz zor ve mevcut bilgi seviyemde doğrudan GPML araç kutusuna dahil edilmedi.

Uzun cevap Çok boyutlu çıktı regresyon probleminizi 3 farklı parçaya ayırabilirsiniz.

  1. Çıkışlar birbiriyle ilişkili değildir - Sadece 1d durumu için demo betiği gibi çıkışları tek tek regrese edin.
  2. Çıktılar birbiriyle ilişkilidir ancak aralarındaki ilişkiyi bilmez - Temel olarak çıktılar arasındaki iç ilişkileri öğrenmek istersiniz. Kitaptan bahsedildiği gibi, coKriging başlamak için iyi bir yoldur. Doğrudan cokriging gerçekleştirmenize izin verebilecek GPML dışında yazılımlar vardır. ooDace
  3. Çıktılar birbiriyle ilişkilidir ve aralarındaki ilişkiyi bilirsiniz - Düzenli bir cokriging gerçekleştirin, ancak Hall & Huang 2001 tarafından söylendiği gibi optimize edicideki kısıtlamaları uygulayarak (günlük marjinal olasılığını en aza indirirken) çıktılar arasında zor kısıtlamalar uygulayabilirsiniz veya önceki fonksiyondaki ilişkileri, Constantinescu ve Anitescu 2013 tarafından söylendiği gibi uygulayabilir .

Umut ediyorum bu yardım eder :)


2

Bu benim için şaşırtıcı derecede iyi çalışan scikit-learn'dan bir modül:

http://scikit-learn.org/stable/auto_examples/gaussian_process/plot_gp_regression.html

# Instanciate a Gaussian Process model
gp = GaussianProcess(corr='cubic', theta0=1e-2, thetaL=1e-4, thetaU=1e-1,
                     random_start=100)

# Fit to data using Maximum Likelihood Estimation of the parameters
gp.fit(X, y)

# Make the prediction on the meshed x-axis (ask for MSE as well)
y_pred, MSE = gp.predict(x, eval_MSE=True)
sigma = np.sqrt(MSE)

1

Çok çıkışlı Gauss Süreçleri arıyordum ve bununla birlikte hareket etmenin birçok yolunu buldum, evrişim yöntemi, karışık efektler modelleme yöntemi ve en son İkiz Gauss İşlemleri (TGP).

İkiz Gauss Süreçleri (TGP) kavramından şüphe duyuyorum. Biri bana bu konuda yardımcı olabilir mi?

y^p(y|y)(μ,σ2)σ2yy^y

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.