Algoritma pembelajaran mesin seperti apa yang merupakan Hidden Markov Model?

12

Saya telah menggunakan algoritma Hidden Markov Model untuk pengenalan suara otomatis di kelas pemrosesan sinyal. Sekarang melalui literatur pembelajaran Mesin saya melihat bahwa algoritma diklasifikasikan sebagai "Klasifikasi", "Clustering" atau "Regresi". Ember mana yang termasuk dalam HMM? Saya tidak menemukan model markov tersembunyi yang tercantum dalam literatur.

pengguna1411110
sumber

Jawaban:

14

Saya akan tergoda untuk menjawab "tidak ada", atau "keduanya klasifikasi dan pengelompokan".

Kenapa "tidak ada"? Karena HMM tidak berada dalam kantong yang sama dengan mesin vektor dukungan atau k-means.

Mesin dukungan vektor atau k-means secara khusus dirancang untuk memecahkan masalah (klasifikasi dalam kasus pertama, pengelompokan dalam kasus kedua), dan memang hanya prosedur pengoptimalan untuk memaksimalkan kriteria "klasifikasi kebaikan yang diharapkan" atau kriteria "kebaikan pengelompokan" . Keindahan terletak pada pilihan kriteria dan prosedur optimasi. HMM bukan merupakan algoritma per se. Mereka adalah jenis tertentu dari distribusi probabilitas di atas sekuens vektor - yang kami tahu estimasi parameter yang baik dan algoritma perhitungan distribusi marginal. Tetapi menanyakan apakah mereka berada dalam keluarga "pengelompokan" atau "klasifikasi" sama konyolnya dengan menanyakan apakah distribusi Gaussian adalah pembelajaran yang diawasi atau tidak diawasi.

Mengapa "klasifikasi dan pengelompokan"? Karena hal berikut: Menjadi distribusi probabilitas, HMM dapat digunakan untuk klasifikasi dalam kerangka bayesian; dan menjadi model dengan status tersembunyi, beberapa pengelompokan laten dari data pelatihan dapat dipulihkan dari parameternya. Lebih tepatnya:

HMM dapat digunakan untuk klasifikasi. Ini adalah aplikasi langsung dari kerangka klasifikasi bayesian, dengan HMM digunakan sebagai model probabilistik yang menggambarkan data Anda. Misalnya, Anda memiliki basis data besar ucapan digit ("satu", "dua", dll) dan ingin membangun sistem yang mampu mengklasifikasikan ucapan yang tidak dikenal. Untuk setiap kelas dalam data pelatihan Anda ("satu", "dua", Anda memperkirakan parameter model HMM yang menguraikan urutan pelatihan di kelas ini - dan Anda berakhir dengan 10 model. Kemudian, untuk melakukan pengenalan, Anda menghitung 10 skor kemungkinan (yang menunjukkan seberapa besar kemungkinan urutan yang ingin Anda kenali telah dihasilkan oleh model), dan model dengan skor tertinggi memberi Anda angka. Dalam tutorial Rabiner tentang HMMs, tahap pelatihan adalah "Masalah 3", tahap klasifikasi adalah "Masalah 2".

HMM dapat digunakan dengan cara yang tidak diawasi juga, untuk mencapai sesuatu yang mirip dengan pengelompokan. Diberikan urutan, Anda dapat melatih -state HMM di atasnya, dan pada akhir proses pelatihan, jalankan algoritma Viterbi pada urutan Anda untuk mendapatkan status yang paling mungkin terkait dengan setiap vektor input (atau cukup tarik ini dari selama proses pelatihan). Ini memberi Anda pengelompokan urutan input Anda kekγkkelas, tetapi tidak seperti apa yang akan Anda peroleh dengan menjalankan data Anda melalui k-means, pengelompokan Anda adalah homogen pada sumbu waktu. Misalnya, Anda dapat mengekstraksi histogram warna dari setiap frame dari urutan video, menjalankan proses ini pada urutan ini, dan Anda akan berakhir dengan pemecahan video menjadi segmen temporal homogen yang sesuai dengan adegan (bit tidak taktis adalah Anda harus mengatur jumlah adegan sebelumnya). Teknik ini biasanya digunakan dalam analisis struktur otomatis video atau musik .k

pichenettes
sumber
1

Pertama, mari kita lihat tiga opsi:

  • Klasifikasi : Mengidentifikasi kelas dari sekumpulan kelas yang telah ditentukan sebelumnya milik data.
  • Clustering : Mempelajari kumpulan kelas yang dimiliki data.
  • Regresi : Menemukan hubungan antara variabel dan satu atau lebih lainnya.

Deskripsi HMM di Wikipedia memiliki tabel berikut:

masukkan deskripsi gambar di sini

sehingga jumlah negara (kelas) tetap.

Itu berarti bahwa algoritma tidak mencoba untuk mencari tahu jumlah kelas (negara bagian) --- jadi itu bukan clustering terbuka (di mana jumlah negara tidak diketahui).

Namun, seperti yang ditunjukkan @nikie, HMM akan melakukan pengelompokan.

Sebenarnya tidak ada variabel independen (seperti yang ada dalam konteks regresi) --- jadi itu bukan regresi.

Jadi jawaban saya adalah bahwa HMM adalah klasifikasi dan algoritma pengelompokan , saya tidak percaya itu adalah regresi.

Peter K.
sumber
2
Bagaimana Anda mendapatkan dari "jumlah kelas jika diperbaiki" ke "sehingga algoritma tidak mencoba mencari tahu bahwa kelas-kelas itu"? Jumlah kelas untuk pengelompokan k-means sudah diperbaiki juga, tapi itu jelas suatu algoritma pengelompokan.
Niki Estner
Saya kira saya sudah terbiasa dengan pengelompokan terbuka daripada diperbaiki. Akan memperbarui jawaban. Terima kasih!
Peter K.