Sejauh ini ada banyak aplikasi menarik untuk pembelajaran mendalam dalam visi komputer atau pemrosesan bahasa alami.
Bagaimana di bidang lain yang lebih tradisional? Sebagai contoh, saya memiliki variabel sosio-demografis tradisional plus mungkin banyak pengukuran laboratorium dan ingin memprediksi penyakit tertentu. Apakah ini akan menjadi aplikasi pembelajaran yang mendalam jika saya memiliki banyak pengamatan? Bagaimana saya membangun jaringan di sini, saya pikir semua lapisan mewah (convolutional dll) tidak benar-benar diperlukan ?! Hanya membuatnya dalam?
Pada set data spesifik saya, saya mencoba beberapa algoritma pembelajaran mesin umum seperti hutan acak, gbm dll dengan hasil yang beragam mengenai akurasi. Saya memiliki pengalaman belajar yang terbatas dengan pengenalan gambar.
sumber
Jawaban:
Ya, Anda dapat menggunakan teknik pembelajaran mendalam untuk memproses data non-gambar. Namun, kelas model lain masih sangat kompetitif dengan jaringan saraf di luar pemrosesan sinyal dan tugas terkait.
Untuk menggunakan pendekatan pembelajaran mendalam pada data non-sinyal / non-sekuens, Anda biasanya menggunakan jaringan multi-layer umpan-maju sederhana. Tidak perlu lapisan konvolusional atau lapisan penyatuan. Arsitektur terbaik selain itu perlu dieksplorasi dengan validasi silang, dan bisa memakan waktu lama untuk menemukannya karena NN dalam membutuhkan banyak komputasi untuk dilatih.
Dalam pengalaman saya mencoba menggunakan jaringan saraf yang dalam (-ish, biasanya ~ 5 lapisan) dalam kompetisi Kaggle:
Putus sekolah masih sangat efektif untuk regularisasi dan meningkatkan akurasi
Input normalisasi - biasanya berarti 0, standar deviaton 1, adalah penting
Fungsi aktivasi lapisan tersembunyi dapat membuat perbedaan. Meskipun ReLU mengurangi beberapa masalah dengan menghilangnya gradien, dalam pengalaman saya itu kurang kuat dengan data non-sinyal dan Anda akan menginginkan beberapa bentuk lainnya. Jika Anda hanya memiliki beberapa lapisan, maka sigmoid atau tanh masih berfungsi OK. Jika tidak, lihatlah varian ReLU, PReLU, ELU, dan varian ReLU lainnya yang bocor yang berupaya menambal masalahnya dengan neuron "mati".
Manfaatkan optimisers yang dirancang untuk pembelajaran mendalam, seperti Adam, Adagrad atau RMSProp
Gunakan pendekatan inisialisasi bobot yang bekerja dengan pembelajaran mendalam, seperti Glorot.
Pertimbangkan untuk menggunakan lapisan Normalisasi Batch. Bukan sesuatu yang saya punya banyak pengalaman, tetapi saya telah melihat orang lain melakukannya dengan baik dengan pendekatan ini.
Terlepas dari semua ini, XGBoost dapat secara rutin dan mudah mengalahkan NN dalam dengan penyetelan minimal dan upaya pelatihan sebagai perbandingan (tentu saja tergantung pada masalah dan data yang Anda miliki). Namun, jika keakuratan adalah segalanya bagi Anda, dimungkinkan - meskipun tidak dijamin - bahwa ansambel NN dalam dan model lain seperti XGBoost akan berkinerja lebih baik daripada keduanya.
sumber
Suatu jaringan dapat sesuai untuk keperluan klasifikasi. Untuk ini, Anda harus dapat mendefinisikan set-pelatihan dan set-uji data Anda yang mewakili data jaringan yang akan diminta untuk diklasifikasikan dalam produksi. Ini menentukan apakah Anda bisa mendapatkan jaringan kerja yang buruk, masuk akal atau baik.
Saya menganggap istilah sebagai "pembelajaran mendalam" sebagai menyesatkan: jaringan tidak belajar, Anda hanya bisa melatihnya.
Dengan asumsi Anda dapat membuat set pelatihan dan tes, pada level tinggi Anda dapat menggunakan a
Multi-layer: jika data Anda tidak memiliki urutan dan struktur memiliki posisi tetap.
Jaringan rekursif: jika urutan data penting untuk klasifikasi
Konvolusi: jika data Anda memiliki struktur seperti pada gambar tetapi tidak ada posisi tetap.
Untuk mendapatkan pengaturan yang baik, seperti jumlah lapisan, membutuhkan percobaan dan kesalahan; itu semacam sihir hitam.
sumber