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