Ringkasan
Hidden Markov Model (HMMs) jauh lebih sederhana daripada Recurrent Neural Networks (RNNs), dan mengandalkan asumsi kuat yang mungkin tidak selalu benar. Jika asumsi tersebut benar maka Anda mungkin melihat kinerja yang lebih baik dari HMM karena kurang rewel untuk bekerja.
Suatu RNN dapat berkinerja lebih baik jika Anda memiliki dataset yang sangat besar, karena kompleksitas ekstra dapat mengambil keuntungan lebih baik dari informasi dalam data Anda. Ini bisa benar bahkan jika asumsi HMM benar dalam kasus Anda.
Akhirnya, jangan dibatasi hanya pada dua model ini untuk tugas urutan Anda, kadang-kadang regresi yang lebih sederhana (misalnya ARIMA) dapat menang, dan kadang-kadang pendekatan rumit lainnya seperti Convolutional Neural Networks mungkin yang terbaik. (Ya, CNN dapat diterapkan ke beberapa jenis data urutan seperti halnya RNN.)
Seperti biasa, cara terbaik untuk mengetahui model mana yang terbaik adalah dengan membuat model dan mengukur kinerja pada set tes yang diadakan.
Asumsi kuat HMM
Transisi negara hanya bergantung pada kondisi saat ini, bukan pada apa pun di masa lalu.
Asumsi ini tidak berlaku di banyak bidang yang saya kenal. Misalnya, berpura-puralah Anda mencoba untuk memprediksi setiap menit dalam sehari apakah seseorang bangun atau tertidur dari data pergerakan. Peluang seseorang untuk beralih dari tidur ke tidur semakin lama semakin lama orang tersebut dalam kondisi tidur . RNN secara teoritis dapat mempelajari hubungan ini dan mengeksploitasinya untuk akurasi prediksi yang lebih tinggi.
Anda dapat mencoba menyiasatinya, misalnya dengan memasukkan status sebelumnya sebagai fitur, atau mendefinisikan status komposit, tetapi kompleksitas yang ditambahkan tidak selalu meningkatkan akurasi prediksi HMM, dan pasti tidak membantu waktu perhitungan.
Anda harus menentukan sebelumnya jumlah total negara.
Kembali ke contoh tidur, mungkin tampak seolah-olah hanya ada dua keadaan yang kita pedulikan. Namun, bahkan jika kita hanya peduli untuk memprediksi bangun vs tidur , model kita dapat mengambil manfaat dari mencari tahu keadaan tambahan seperti mengemudi, mandi, dll. (Misalnya mandi biasanya datang tepat sebelum tidur). Sekali lagi, RNN secara teoritis dapat mempelajari hubungan seperti itu jika menunjukkan cukup banyak contoh.
Kesulitan dengan RNNs
Tampaknya dari atas bahwa RNNs selalu unggul. Saya harus mencatat, bahwa RNNs bisa sulit untuk bekerja, terutama ketika dataset Anda kecil atau urutan Anda sangat panjang. Saya pribadi memiliki masalah dalam mendapatkan RNN untuk melatih beberapa data saya, dan saya curiga sebagian besar metode / pedoman RNN yang dipublikasikan disetel ke data teks . Ketika mencoba menggunakan RNN pada data non-teks, saya harus melakukan pencarian hyperparameter yang lebih luas daripada yang saya pedulikan untuk mendapatkan hasil yang baik pada dataset khusus saya.
Dalam beberapa kasus, saya telah menemukan model terbaik untuk data sekuensial sebenarnya adalah gaya UNet ( https://arxiv.org/pdf/1505.04597.pdf ) Model Neural Network convolutional karena lebih mudah dan lebih cepat untuk melatih, dan mampu untuk mempertimbangkan konteks penuh dari sinyal.