Gradien log-kemungkinan Gaussian multivariat

8

Saya mencoba mencari perkiraan MAP untuk model berdasarkan gradient descent. Sebelumnya saya adalah multivariat Gaussian dengan matriks kovarian yang dikenal.

Pada tingkat konseptual, saya pikir saya tahu bagaimana melakukan ini, tetapi saya berharap bantuan dengan detailnya. Secara khusus, jika ada cara yang lebih mudah untuk mendekati masalah, maka itu akan sangat berguna.

Inilah yang saya pikir perlu saya lakukan:

  • Untuk setiap dimensi, temukan distribusi bersyarat, mengingat posisi saya saat ini di dimensi lain.
  • Ini memberi saya Gaussian univariat lokal di setiap dimensi, dengan mean dan standar deviasi yang benar.
  • Saya pikir gradien seharusnya hanya menjadi vektor turunan untuk masing-masing distribusi univariat ini.

Pertanyaan saya memiliki dua bagian:

  1. Apakah ini pendekatan terbaik untuk diambil, atau ada cara yang lebih mudah?
  2. Dengan asumsi saya harus menempuh rute ini, apa cara terbaik untuk menemukan distribusi bersyarat ini?
David J. Harris
sumber
Apakah ada alasan mengapa Anda ingin melakukan ini dengan gradient descent? Menemukan MAP dari MVN dengan beberapa suara sebelumnya seperti masalah yang dipelajari dengan cukup baik. Karena MVN bersifat konjugasi sendiri, pendekatan Bayesian sepenuhnya bahkan mungkin dilakukan.
bayerj
@bayerj pertanyaan bagus. Sebelumnya adalah MVN, tetapi kemungkinan tidak. Saya pikir itu membatasi pilihan saya.
David J. Harris
Ah ok, saya tidak mengerti.
bayerj

Jawaban:

8

Bagaimana dengan optimasi?

Mari kita lihat apakah saya mengerti Anda dengan benar. Anda punya modelhal(y|x,θ) dikondisikan pada beberapa pengamatan x dan seperangkat parameter θ dan sebelumnya hal(θ) mengarah ke kemungkinan gabungan L.=hal(y|x,θ)hal(θ). Parameter didistribusikan menurut normal multivariat yang dikenal, yaituθN(μ,Σ). Anda ingin menemukan solusi MAP untuk masalah ini, yaitu

argmaxθL..
Kasus khusus dari masalah ini dipelajari dengan baik di komunitas jaringan saraf, yang dikenal sebagai pembusukan berat badan. Dalam hal itu,μ=0 dan Σ=sayaσ2.

Seperti yang sudah Anda catat, triknya adalah itu argmaxθL.=argmaxθcatatanL.. Ketika Anda mengambil log dari kepadatan Gaussian, banyak istilah jelek (eksponensial) menghilang dan Anda akan berakhir dengan sth seperticatatanhal(θ)=12(θ-μ)TΣ-1(θ-μ)+const. Jika Anda membedakannya, identitas matriks Sam Roweis akan berguna dan membiarkan Anda tiba

12(θ-μ)TΣ-1(θ-μ)θ=Σ-1(θ-μ).

(Harap verifikasi, ini dilakukan dengan cepat dan di kepala saya.) Bersama dengan turunan dari model Anda, Anda dapat menggunakan pengoptimal di luar rak untuk sampai pada solusi MAP.

Pembaruan : Komentar yang dimasukkan oleh David J. Harris. Formula seharusnya benar sekarang.

bayerj
sumber
(+1) Ini persis seperti yang saya butuhkan. Saya akan melakukan sedikit verifikasi sore ini dan kemudian saya akan menekan tanda centang "terima" jika semuanya berhasil. Terima kasih!
David J. Harris
Saya lupa menambahkan: jika model Anda sederhana (yaitu linear dalam parameter), menyamakan turunan dari log-kemungkinan dengan nol dan menyelesaikan untuk θ bahkan mungkin berhasil.
bayerj
Saya telah bermain-main dengan ini sedikit secara numerik, dan saya pikir ini tidak aktif dengan faktor 2 tetapi sebaliknya benar. Mungkin dibatalkan dengan1/2dari rumus untuk kepadatan normal multivariat? Terima kasih lagi!
David J. Harris
Seharusnya begitu, ya. Saya lupa tentang itu!
bayerj
1
Perlu dicatat bahwa Gaussian multivariat khusus sebelumnya (dengan matriks kovarians non-diagonal) mendefinisikan regularisasi Tikhonov
Artem Sobolev
0

Jika kemungkinannya bukan Gaussian, tidak mungkin untuk mengatakan jika ada hasil analitik. Juga, peluru kedua kemudian salah secara umum. Karena Gaussian sebelum dan kemungkinan umum tidak membuat untuk distribusi gaussian bersyarat pada komponen vektor.

Salah satu cara untuk mendapatkan MAP adalah dengan melakukan analisis Bayesian penuh, misalnya menggunakan MCMC dan menggunakan sampel dari posterior untuk memperkirakannya. [Dalam hal ini Anda akan memiliki informasi yang lebih baik daripada hanya menggunakan MAP.] Karena tidak tertarik - mengapa tidak turun rute ini?

Pendekatan lain bisa dilakukan (saya tidak melihat ini dilakukan secara umum sehingga seseorang tolong perbaiki saya jika itu gila):

hal(θ|x)=hal(x|θ)hal(θ)hal(x)

l(θ|x)=l(x|θ)+l(θ)-l(x)

dl(θ|x)dθ=dl(x|θ)dθ+dl(θ)dθ=0

Kemudian pecahkan untuk θ (mungkin secara numerik).

dugaan
sumber
terima kasih atas masukan Anda. Saya mungkin belum jelas: saat ini, saya hanya tertarik menemukan gradien untuk yang sebelumnya. Gradien dari log-posterior hanyalah gradien dari log-likelihood plus gradien dari log-prior, jadi menemukan dua gradien ini secara terpisah haruslah oke.
David J. Harris
1
Ehm, proposal Anda untuk dipecahkan θsecara numerik adalah ... pendekatan dasar. Bagaimana lagi yang seharusnya mengoptimalkan fungsi target tanpa menemukan akar gradien?
Artem Sobolev