Proses Gaussian: Cara menggunakan GPML untuk output multi-dimensi

13

Apakah ada cara untuk melakukan Regresi Proses Gaussian pada output multidimensi (mungkin berkorelasi) menggunakan GPML ?

Dalam skrip demo saya hanya bisa menemukan contoh 1D.

Sebuah pertanyaan serupa pada CV yang menangani kasus masukan multidimensi.


Saya membaca buku mereka untuk melihat apakah saya dapat menemukan sesuatu. Dalam bab ke - 9 buku ini (bagian 9.1), mereka telah menyebutkan kasus ini dengan banyak keluaran. Mereka telah menyebutkan beberapa cara untuk mengatasi ini, Satu - menggunakan proses kebisingan yang berkorelasi dan Dua - Cokriging (sebelumnya berkorelasi).

Saya masih tidak tahu, bagaimana saya bisa memasukkan semua ide ini ke dalam kerangka kerja GPML.


Juga, apakah ada perpustakaan / kerangka kerja GP lain yang mendukung keluaran multi-dimensi?

mantap
sumber
"Predicting Structured Data" berbicara tentang penggunaan SVM dalam kasus satu kelas (estimasi kepadatan kernel) pada Kernel Bersama antara input dan output. Mengingat bahwa mereka berdua mesin kernel pendekatan ini harus bekerja. Saya menemukan satu kertas menyebutkan sesuatu yang serupa. datamin.ubbcluj.ro/tr/2011/sogp.pdf upaya saya untuk menyesuaikan algoritma pembelajaran terstruktur telah sangat buruk, jadi saya tidak yakin bagaimana ini menumpuk.
Jessica Collins

Jawaban:

7

Saya percaya Proses Gaussian Kembar persis apa yang Anda cari. Saya tidak bisa mendeskripsikan model lebih baik daripada abstrak dari kertas itu sendiri, jadi saya hanya akan menyalinnya:

Kami menggambarkan proses Gaussian kembar (TGP) 1, metode prediksi terstruktur generik yang menggunakan prior Gaussian process (GP) [2] pada kovariat dan respons, baik multivariat, dan memperkirakan output dengan meminimalkan perbedaan Kullback-Leibler antara dua GP yang dimodelkan sebagai distribusi normal pada set indeks pelatihan dan menguji contoh-contoh, menekankan tujuan bahwa input yang sama harus menghasilkan persepsi yang sama dan ini harus rata-rata di antara distribusi marjinal mereka. TGP menangkap tidak hanya saling ketergantungan antara kovariat, seperti dalam GP umum, tetapi juga antara tanggapan, sehingga korelasi antara input dan output diperhitungkan. TGP dicontohkan, dengan hasil yang menjanjikan, untuk rekonstruksi pose manusia 3d dari urutan video monokular dan multikamera dalam benchmark HumanEva yang baru saja diperkenalkan, di mana kami mencapai kesalahan 5 cm rata-rata per penanda 3d untuk model yang dilatih bersama, menggunakan data dari banyak orang dan beberapa kegiatan. Metode ini cepat dan otomatis: tidak memerlukan kerajinan tangan dari pose awal, parameter kalibrasi kamera, atau ketersediaan model tubuh 3d yang terkait dengan subjek manusia yang digunakan untuk pelatihan atau pengujian.

Para penulis telah dengan murah hati memberikan kode dan dataset sampel untuk memulai.

Yanshuai Cao
sumber
Selamat datang di situs ini, @caoy. Maukah Anda memberikan sedikit informasi tentang apa yang ada di tautan itu? Dengan begitu, pembaca dapat mengetahui apakah layak untuk mengejar mereka, & itu berarti masih ada sesuatu yang bernilai di sini jika ada linkrot di masa depan.
gung - Reinstate Monica
@ung, thx, semoga abstrak berhasil.
Yanshuai Cao
@caoy ... Bisakah Anda jelaskan tentang mean distribusi prediktif dan varian output dalam Proses Twin Gaussian?
Sandipan Karmakar
3

Jawaban singkat Regresi untuk output multi-dimensi sedikit rumit dan dalam tingkat pengetahuan saya saat ini tidak secara langsung dimasukkan dalam kotak alat GPML.

Jawaban panjang Anda dapat memecah masalah regresi output multi-dimensi menjadi 3 bagian berbeda.

  1. Output tidak terkait satu sama lain - Kemunduran saja output secara individual seperti script demo untuk kasus 1d.
  2. Output terkait tetapi tidak tahu hubungan di antara mereka - Anda pada dasarnya ingin mempelajari hubungan dalam antara output. Karena buku itu menyebutkan coKriging adalah cara yang baik untuk memulai. Ada perangkat lunak selain GPML yang secara langsung dapat membiarkan Anda melakukan kokriging misalnya. ooDace
  3. Keluaran terkait dan Anda tahu hubungan di antara mereka - Lakukan kokriging biasa tetapi Anda dapat menerapkan kendala keras antara keluaran baik dengan menerapkan kendala dalam pengoptimal (saat Anda meminimalkan kemungkinan marginal log) seperti yang dikatakan oleh Hall & Huang 2001 atau menerapkan hubungan dalam fungsi sebelumnya seperti yang dikatakan oleh Constantinescu & Anitescu 2013 .

Saya harap ini membantu :)

Ankit Chiplunkar
sumber
2

Ini adalah modul dari scikit-learn yang sangat bagus untuk saya:

http://scikit-learn.org/stable/auto_examples/gaussian_process/plot_gp_regress.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)
denfromufa
sumber
1

Saya sedang mencari Gaussian Proses multi-output dan menemukan banyak cara untuk bertindak dengan itu seperti, metode konvolusi, metode pemodelan efek campuran dan terbaru yang ini Twin Gaussian Processes (TGP).

Saya memiliki keraguan dalam konsep Twin Gaussian Processes (TGP). Adakah yang bisa membantu saya dengan itu?

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

Sandipan Karmakar
sumber