Rantai Markov vs. HMM

11

Rantai Markov masuk akal bagi saya, saya bisa menggunakannya untuk memodelkan perubahan keadaan probabilistik dalam masalah kehidupan nyata. Lalu datanglah HMM. HMM dikatakan lebih cocok untuk memodelkan banyak masalah daripada MC. Namun, masalah yang orang sebutkan agak rumit untuk dipahami seperti pemrosesan ucapan. Jadi pertanyaan saya adalah dapatkah Anda menggambarkan masalah "nyata dan sederhana" yang HMM lebih cocok daripada MC? dan jelaskan mengapa? Terima kasih

Mario
sumber

Jawaban:

19

Pengenalan ucapan tidak serumit contoh yang Anda pikirkan.

Pertama, bayangkan membuat Rantai Markov (MC) yang melakukan pengenalan teks. Program Anda membaca banyak teks (sempurna, tanpa kesalahan) dan menghitung status (kata) dan perubahan status (kata berikutnya). Kedengarannya seperti Anda sudah mengerti ini. Anda sekarang dapat menghasilkan teks, atau memberikan beberapa teks memprediksi kata berikutnya menggunakan status dan probabilitas transisi dari MC Anda.

Sekarang bayangkan Anda ingin menggunakan MC Anda dengan pidato. Anda hanya akan meminta orang membaca teks yang mirip dengan MC Anda dan Anda siap, bukan? Yah ... Kecuali bahwa mereka akan mengucapkan kata-kata secara berbeda: di mana teks tertulis mengatakan "kentang", Anda benar-benar akan mendengar "po-TAY-toh" dan "po-TAH-toh" dan "pu-TAY -untuk ", dll. Dan sebaliknya: teks" ate "dan" delapan "mewakili dua keadaan yang berbeda, tetapi (biasanya) diucapkan sama.

Algoritme Anda tidak lagi melihat status (kata-kata) yang mendasarinya, tetapi melihat distribusi probabilitas pengucapan untuk setiap kata. MC asli Anda tersembunyi di balik pengucapan, dan sekarang model Anda perlu dua lapis.

Jadi Anda bisa membuat banyak orang membacakan teks yang Anda gunakan untuk pelatihan asli Anda, Anda bisa mendapatkan distribusi untuk pengucapan untuk setiap kata, dan kemudian menggabungkan model asli Anda dengan model pengucapan dan Anda memiliki Hidden Markov Model ( sebuah HMM).

Kebanyakan masalah dunia nyata akan seperti ini, karena dunia nyata cenderung berisik. Anda tidak akan benar-benar tahu keadaan di mana sesuatu berada. Sebaliknya, Anda akan mendapatkan berbagai indikator untuk setiap negara: kadang-kadang indikator yang sama untuk negara bagian yang berbeda ("makan" dan "delapan") dan kadang-kadang indikator yang berbeda untuk keadaan yang sama ("pu-TAY-toe" dan "pah-tah-TOE"). Oleh karena itu, HMM lebih cocok untuk masalah dunia nyata.

[Dua catatan samping: 1) pengenalan suara yang sebenarnya bekerja pada tingkat fonem, bukan tingkat kata, dan 2) Saya percaya bahwa HMM adalah raja bukit untuk pengenalan suara, tetapi baru-baru ini dicopot oleh jaringan saraf yang dalam.]

Wayne
sumber
6

Pada dasarnya, HMM adalah model Markov di mana negara tidak sepenuhnya dapat diamati, melainkan hanya diamati secara tidak langsung melalui beberapa pengamatan berisik. Bagian model Markov adalah cara sederhana untuk memaksakan dependensi temporal di negara bagian. Sejalan dengan itu, masalah di mana HMM berguna adalah di mana negara mengikuti model Markov, tetapi Anda tidak mengamati negara secara langsung.

Ada berbagai hal yang dapat Anda lakukan dengan HMM. Satu hal berguna yang dapat Anda lakukan adalah sebagai berikut - mengingat serangkaian pengamatan bising hingga saat ini, mungkin Anda ingin tahu seperti apa keadaan sistem saat ini. Untuk melakukan ini, Anda akan menggabungkan struktur rantai Markov dengan pengamatan untuk menyimpulkan keadaan. Demikian pula, Anda dapat memperluas ini untuk menyimpulkan seluruh urutan negara dari urutan pengamatan ( ini standar).

Dalam sains dan teknik, model ini digunakan sepanjang waktu. Misalnya, mungkin Anda merekam video binatang sederhana seperti c. elegan(Cacing), dan ia hanya memiliki sejumlah kecil status perilaku diskrit. Dari video, Anda ingin memberi label pada setiap frame dengan status perilaku hewan. Dari satu frame, algoritma pelabelan memiliki beberapa kesalahan / noise. Namun, ada juga dependensi temporal yang dapat Anda modelkan dengan rantai Markov ... Jika dalam satu bingkai hewan itu dalam satu keadaan, kemungkinan akan berada dalam keadaan yang sama untuk kerangka berikutnya (dan mungkin beberapa negara hanya mengizinkan transisi ke negara bagian tertentu lainnya). Pada dasarnya, dengan menggabungkan pengamatan bingkai tunggal berisik Anda dengan struktur transisi (oleh HMM), Anda bisa mendapatkan urutan perkiraan keadaan yang diperhalus dengan lebih baik dan lebih baik.

Josh
sumber
2

HMM adalah model campuran. Sama seperti campuran Model Gaussian . Alasan kami menggunakannya selain Markov Chain, apakah lebih kompleks untuk menangkap pola data.

Mirip dengan jika kita menggunakan Gaussian tunggal untuk memodelkan variabel kontroversial ATAU kita menggunakan campuran Gaussian untuk memodelkan variabel kontinu.

Saya akan menggunakan variabel kontinu untuk mendemonstrasikan ide ini: misalkan kita memiliki data ini

masukkan deskripsi gambar di sini

Lebih baik memodelkannya dengan 2 Gaussian dan dengan proporsi yang berbeda. Yang "setara" dalam kasus diskrit: kami membangun HMM dengan 2 status tersembunyi.

Haitao Du
sumber