Dari Bayesian Networks ke Neural Networks: bagaimana regresi multivarian dapat ditransformasikan ke jaringan multi-output

20

Saya sedang berurusan dengan Model Linear Hierarchical Bayesian , di sini jaringan menggambarkannya.

Model grafis yang menggambarkan masalah

Y merupakan penjualan harian suatu produk di supermarket (diamati).

X adalah matriks regresi yang diketahui, termasuk harga, promosi, hari dalam seminggu, cuaca, hari libur.

1S adalah tingkat persediaan laten yang tidak diketahui dari setiap produk, yang menyebabkan sebagian besar masalah dan yang saya anggap sebagai vektor variabel biner, satu untuk setiap produk dengan menunjukkan kehabisan persediaan dan dengan demikian tidak tersedianya produk. Sekalipun secara teori tidak diketahui, saya memperkirakannya melalui HMM untuk setiap produk, sehingga dianggap sebagai yang dikenal sebagai X. Saya hanya memutuskan untuk menghapusnya untuk formalisme yang tepat.1

η adalah parameter efek campuran untuk setiap produk tunggal di mana efek campuran yang dipertimbangkan adalah harga produk, promosi, dan kehabisan.

b 1 b 2β adalah vektor koefisien regresi tetap, sedangkan dan adalah vektor koefisien efek campuran. Satu kelompok menunjukkan merek dan yang lainnya menunjukkan rasa (ini adalah contoh, pada kenyataannya saya memiliki banyak kelompok, tetapi saya di sini melaporkan hanya 2 untuk kejelasan).b1b2

Σ b 1 Σ b 2Ση , dan adalah hiperparameter atas efek campuran.Σb1Σb2

Karena saya memiliki data hitung, katakanlah saya memperlakukan setiap penjualan produk sebagai Poisson didistribusikan tergantung pada Regressors (bahkan jika untuk beberapa produk pendekatan Linear berlaku dan untuk yang lain model zero inflated lebih baik). Dalam kasus seperti itu saya akan memiliki untuk produk ( ini hanya untuk siapa yang tertarik dengan model bayesian itu sendiri, langsung ke pertanyaan jika Anda merasa tidak menarik atau tidak sepele :) ):Y

ΣηIW(α0,γ0)

Σb1IW(α1,γ1)

α 0 , γ 0 , α 1 , γ 1 , α 2 , γ 2Σb2IW(α2,γ2) , dikenal.α0,γ0,α1,γ1,α2,γ2

ηN(0,Ση)

b1N(0,Σb1)

b2N(0,Σb2)

Σ ββN(0,Σβ) , diketahui.Σβ

λtijk=βXti+ηiXppsti+b1jZtj+b2kZtk ,

YtijkPoi(exp(λtijk))

j 1 , , m 1 k 1 , , m 2i1,,N , ,j1,,m1k1,,m2

X p p s i I W Z i Z i = X i σ i j i jZiMatriks dari efek campuran untuk 2 grup, menunjukkan harga, promosi, dan kehabisan produk yang dipertimbangkan. menunjukkan distribusi Wishart terbalik, biasanya digunakan untuk matriks kovarians dari prior multivariate normal. Tapi ini tidak penting di sini. Contoh kemungkinan bisa menjadi matriks dari semua harga, atau kita bahkan bisa mengatakan . Sehubungan dengan prior untuk matriks efek varians-kovarian campuran, saya hanya akan mencoba untuk menjaga korelasi antara entri, sehingga akan positif jika dan adalah produk dari merek yang sama atau salah satu dari rasa yang sama. XppsiIWZiZi=Xiσijij

Intuisi di balik model ini adalah bahwa penjualan produk tertentu bergantung pada harganya, ketersediaannya atau tidak, tetapi juga pada harga semua produk lain dan kehabisan semua produk lainnya. Karena saya tidak ingin memiliki model yang sama (baca: kurva regresi yang sama) untuk semua koefisien, saya memperkenalkan efek campuran yang mengeksploitasi beberapa kelompok yang saya miliki dalam data saya, melalui berbagi parameter.

Pertanyaan saya adalah:

  1. Apakah ada cara untuk memindahkan model ini ke arsitektur jaringan saraf? Saya tahu bahwa ada banyak pertanyaan yang mencari hubungan antara jaringan bayesian, bidang acak markov, model hierarki bayesian dan jaringan saraf, tetapi saya tidak menemukan apa pun mulai dari model hierarki bayesian ke jaring saraf. Saya mengajukan pertanyaan tentang jaringan saraf karena, memiliki dimensi tinggi masalah saya (pertimbangkan bahwa saya memiliki 340 produk), estimasi parameter melalui MCMC membutuhkan waktu berminggu-minggu (saya mencoba hanya untuk 20 produk yang menjalankan rantai paralel di runJags dan butuh waktu berhari-hari) . Tapi saya tidak ingin menjadi acak dan hanya memberikan data ke jaringan saraf sebagai kotak hitam. Saya ingin memanfaatkan struktur ketergantungan / independensi jaringan saya.

Di sini saya hanya membuat sketsa jaringan saraf. Seperti yang Anda lihat, regressor ( dan masing-masing menunjukkan harga dan kehabisan produk ) di bagian atas dimasukkan ke lapisan tersembunyi sebagaimana spesifik produk tersebut (Di sini saya mempertimbangkan harga dan kehabisan stok). S i i PiSii(Tepi biru dan hitam tidak memiliki arti tertentu, itu hanya untuk membuat gambar lebih jelas). Selanjutnya dan bisa sangat berkorelasi sementaraY 1 Y 2 Y 3Y1Y2Y3bisa menjadi produk yang sama sekali berbeda (pikirkan 2 jus jeruk dan anggur merah), tapi saya tidak menggunakan informasi ini dalam jaringan saraf. Saya ingin tahu apakah informasi pengelompokan digunakan hanya dalam inisialisasi berat atau jika seseorang dapat menyesuaikan jaringan dengan masalah.

contoh wayang dari jaring saraf

Edit, ide saya:

Kemungkinan inisialisasi?

Ide saya akan menjadi seperti ini: seperti sebelumnya, dan adalah produk yang berkorelasi, sementara adalah yang sama sekali berbeda. Mengetahui ini apriori, saya melakukan 2 hal:Y 2 Y 3Y1Y2Y3

  1. Saya mengalokasikan beberapa neuron di lapisan tersembunyi ke grup apa pun yang saya miliki, dalam hal ini saya memiliki 2 grup {( ), ( )}.Y 3Y1,Y2Y3
  2. Saya menginisialisasi bobot tinggi antara input dan node yang dialokasikan (tepi tebal) dan tentu saja saya membangun node tersembunyi lainnya untuk menangkap 'keacakan' yang tersisa dalam data.

Terima kasih sebelumnya atas bantuan Anda

Tommaso Guerrini
sumber
@Tomasso Guerrini di sini adalah mungkin jawaban untuk Anda: stats.stackexchange.com/questions/4498/…
Anton Danilov
terima kasih @AntonDanilov, sayangnya jawaban yang diterima mengatakan 'Sementara jaringan saraf datang dengan "grafik" mereka umumnya tidak menyandikan informasi ketergantungan, dan node tidak mewakili variabel acak': /
Tommaso Guerrini
1
Sudahkah Anda mencoba Stan , atau itu tidak layak untuk masalah Anda? Hamiltonian Monte Carlo bisa menjadi urutan besarnya lebih cepat dari sampling Gibbs, dan skala baik untuk ratusan (atau bahkan ribuan) variabel.
lacerbi
1
Sudahkah Anda mencoba mengajukan pertanyaan yang sama ke milis pengguna Stan ? Mereka biasanya sangat membantu dengan aspek teknis untuk membuat model berfungsi. Misalnya, ada kemungkinan bahwa masalah dalam kasus Anda dapat diselesaikan dengan parameterisasi yang lebih baik. ( Hamiltonian Monte Carlo harus bercampur lebih cepat daripada sampling Gibbs.)
lacerbi
1
Mungkin lebih baik untuk mengatakan saya mengirim spam ke mailing list itu .. Terima kasih banyak Luigi omong-omong .. Saya berada dalam situasi di mana saya tidak punya waktu lagi untuk menggali masalah sebagaimana mestinya, karena saya memiliki tenggat waktu yang masuk. Sepertinya STAN adalah alat yang hebat, tetapi kurva belajarnya agak curam untuk benar-benar mewujudkan kinerjanya yang luar biasa (seperti yang sekarang saya sadari mempercepatnya JAGS)
Tommaso Guerrini

Jawaban:

1

Sebagai catatan, saya tidak melihat ini sebagai jawaban, tetapi hanya komentar panjang! PDE (persamaan panas) yang digunakan untuk memodelkan aliran panas melalui batang logam juga dapat digunakan untuk memodelkan harga opsi. Tidak seorang pun yang saya kenal pernah mencoba menyarankan koneksi antara harga opsi dan aliran panas per se. Saya pikir kutipan dari tautan Danilov mengatakan hal yang sama. Baik Bayesian Graphs dan Neural Nets menggunakan bahasa grafik untuk mengekspresikan hubungan antara bagian-bagian internal yang berbeda. Namun, grafik Bayesian memberi tahu seseorang tentang struktur korelasi variabel input dan grafik neural net memberitahu orang bagaimana membangun fungsi prediksi dari variabel input. Ini adalah hal yang sangat berbeda.
Berbagai metode yang digunakan dalam upaya DL untuk 'memilih' variabel yang paling penting, tetapi itu adalah masalah empiris. Itu juga tidak memberi tahu satu tentang struktur korelasi baik seluruh rangkaian variabel atau variabel yang tersisa. Ini hanya menunjukkan bahwa variabel yang bertahan akan menjadi yang terbaik untuk prediktor. Sebagai contoh jika seseorang melihat jaring saraf, satu akan mengarah ke set data kredit Jerman, yang, jika saya ingat dengan benar, 2000 poin data dan 5 variabel dependen. Melalui trial and error saya pikir Anda akan menemukan bahwa jaring dengan hanya 1 lapisan tersembunyi dan hanya menggunakan 2 dari variabel memberikan hasil terbaik untuk prediksi. Namun, ini hanya dapat ditemukan dengan membangun semua model dan mengujinya pada set pengujian independen.

meh
sumber
Saya tidak mendapatkan perbandingan Anda dengan penerapan model yang sama pada data yang berbeda: di sini datanya sama dan modelnya berbeda bukan sebaliknya. Selain itu saya tidak mencoba membuat kesimpulan pada struktur korelasi variabel saya menggunakan jaring saraf, yang sudah dicapai dengan baik melalui inferensior posteriors bayesian. Grafik itu hanya untuk menggambarkan apa yang terjadi dalam model hierarkis, jadi saya tidak mengerti hal 'bahasa grafik' (Namun saya mungkin telah menyesatkan Anda dengan judul, tetapi saya membutuhkan yang menarik: D)
Tommaso Guerrini
Dan mungkin saya tidak mengerti pertanyaan Anda. Saya masih berpikir intinya adalah cara tepi dibuat dalam dua struktur grafik tidak ada hubungannya satu sama lain. Seseorang bisa saja mendefinisikan jaring syaraf dengan satu set tepi dan bobot tertentu, tetapi orang tidak punya alasan untuk berpikir bahwa jaring semacam itu akan akurat atau bermanfaat. Inti dari menciptakan jaringan syaraf adalah menggunakan sesuatu yang mirip dengan back-propagation untuk membiarkan data menentukan bobot yang 'benar'.
meh
"Grafik itu hanya untuk menggambarkan apa yang terjadi dalam model hierarkis". Kami setuju bahwa dalam satu kasus kami mendefinisikan struktur kovarians dan model sangat baik ditafsirkan posteriori, sementara di lain kami membiarkan gradien keturunan melakukan pekerjaan dan bahkan jika tidak ditafsirkan itu biasanya (seperti dalam kasus saya) menghasilkan kinerja yang baik. Pertanyaan saya adalah: adakah cara untuk mempertahankan interpretabilitas sementara tidak kehilangan kinerja prediksi? Itu sebabnya saya menanyakan hal ini di tumpukan dan itu sebabnya saya mengusulkan ide itu di edit, saya mencari ide. Saya harap sekarang sudah jelas bagi Anda.
Tommaso Guerrini
Seseorang tidak dapat membuktikan negatif, jadi saya tidak dapat secara meyakinkan mengatakan tidak ada hubungan antara grafik Bayesian Networks dan grafik neural. Saya dapat mengatakan bahwa saya tidak memiliki pengetahuan tentang koneksi seperti itu dan bahwa saya sangat skeptis terhadap koneksi apa pun. Sementara orang dapat menggunakan struktur grafik dari jaringan Bayesian untuk memberikan struktur grafik untuk jaringan saraf, dari sudut pandang jaringan saraf ini tampaknya tidak masuk akal. Saat ini saya tidak punya waktu untuk mengerjakan perinciannya, tetapi sebagai eksperimen pemikiran bayangkan kumpulan data di mana semua variabel independen secara statistik
meh
Saat ini saya tidak punya waktu untuk mengerjakan perinciannya, tetapi sebagai eksperimen pemikiran bayangkan kumpulan data di mana variabel independen semuanya signifikan secara statistik, tetapi tidak semua berkorelasi. Misalnya mana dengan nilai absolut yang sangat besar dan fungsi aktivasi (non-linear) jaringan. Karena hubungan non-linear dari y dan z seseorang dapat memiliki bahwa korelasi antara y dan kira-kira nol. Namun mereka harus menjadi bagian dari model yang baik. z i = A × σ - 1 ( x i ) σ z iy=xi+zizi=A×σ1(xi)σzi
meh