Saya memiliki dataset yang berisi 34 kolom input dan 8 kolom output. Salah satu cara untuk memecahkan masalah adalah dengan mengambil 34 input dan membangun model regresi individual untuk setiap kolom output. Saya bertanya-tanya apakah masalah ini dapat diselesaikan dengan hanya menggunakan satu model khususnya menggunakan Jaringan Saraf Tiruan.
Saya telah menggunakan perceptron multilayer, tetapi itu membutuhkan beberapa model seperti regresi linier. Dapatkah pembelajaran urutan ke pembelajaran urutan 1 menjadi opsi yang layak? Saya mencoba menggunakan TensorFlow tampaknya tidak dapat menangani nilai float.
Setiap saran untuk mengatasi masalah ini dengan menggunakan hanya satu model terpadu khusus menggunakan jaringan saraf akan dihargai.
- Ilya Sutskever, Oriol Vinyals, & Quoc V. Le (2014). Sequence to Sequence Learning dengan Neural Networks. Kemajuan dalam Sistem Pemrosesan Informasi Saraf Tiruan , 27. ( pdf )
Jawaban:
Jaring saraf dengan banyak hasil berbentuk
Yang mengatakan bahwa Anda akan mengasumsikan bahwa setiap hasil berbagi SEMUA parameter di lapisan tersembunyi, dan hanya memiliki parameter berbeda untuk mengambil variabel turunan teratas dan menghubungkannya dengan hasil.
Apakah ini asumsi realistis untuk konteks Anda?
sumber
Awalnya saya pikir komentar generic_user adalah show-stopper, tapi saya baru sadar itu bukan:
Jika saya melatih d jaringan yang berbeda pada d keluaran yang berbeda, maka masing-masing akan sesuai dengan dimensi itu tanpa memperhatikan yang lain.
Tetapi jika saya melatih satu jaringan dengan output d dan menggunakan semua output untuk backpropagation, maka setiap bobot di setiap lapisan dalam jaringan akan disesuaikan sehingga semua output d lebih akurat.
Yaitu: Setiap parameter jaringan akan disesuaikan dengan jumlah gradien (bagaimana setiap output bervariasi dengan " goyangan " pada parameter ini) sedemikian rupa sehingga menyesuaikannya dalam arah yang dipilih ke atas atau ke bawah menyebabkan keseluruhan output lebih akurat - bahkan jika menyesuaikan Bobot seperti itu menyebabkan beberapa dimensi output menjadi kurang akurat.
Jadi, ya, hal yang akhirnya membedakan setiap output hanyalah persamaan linear yang dikodekan pada lapisan terakhir, tetapi dalam melatih satu jaringan multi-output setiap lapisan akan menjadi lebih baik dalam menyajikan lapisan terakhir dengan sesuatu yang memungkinkannya melakukan tugasnya dengan lebih baik . Dan dengan demikian hubungan antara output akan diperhitungkan oleh arsitektur ini.
Anda mungkin dapat melakukan lebih baik daripada jaringan yang sepenuhnya terhubung dengan membuat arsitektur Anda mencerminkan hubungan yang dikenal dalam output, sama seperti jaringan yang dalam melakukan lebih baik daripada yang dangkal dengan mengeksploitasi hubungan "komposisi" antara input .
sumber
Anda dapat melakukannya hanya dengan satu Jaringan Saraf Tiruan. Tetapi Jaringan Saraf Tiruan Anda akan terlihat seperti ini:
Lapisan Input: 34 Node (satu per kolom input Anda)
Lapisan Output: 8 Node (satu per kolom output Anda)
Anda dapat menambahkan sebanyak dan sebesar lapisan tersembunyi yang Anda inginkan di Jaringan Saraf Tiruan. Jadi Neural Network menghasilkan 8 nilai yang diprediksi dan setiap nilai akan menjadi regresi input yang berbeda.
sumber
Saya juga bertanya-tanya; ini ide saya:
Saya kira jika output memiliki beberapa pola tersembunyi, maka pelatihan dapat mengambil manfaat dari pembelajaran regresi secara simultan untuk semua output.
Akan menarik untuk mencoba arsitektur di mana Anda membangun jaringan saraf untuk setiap output, tetapi semua jaringan saraf berbagi beberapa lapisan (misalnya, setengah lapisan pertama). Kemudian Anda bisa melatih setiap jaringan saraf secara bersamaan: di dalam loop pembelajaran, setiap jaringan saraf dilatih satu langkah (dengan satu batch) secara berurutan.
Ini akan mirip dengan transfer pengetahuan, tetapi dengan perbedaan bahwa dalam transfer pengetahuan setiap jaringan saraf dilatih sepenuhnya sebelum menggunakan kembali beberapa bagiannya untuk melatih jaringan saraf lain.
Saya yakin seseorang pernah memikirkan hal ini sebelumnya, tetapi saya tidak punya referensi untuk itu.
sumber