Jakim algorytmem uczenia maszynowego jest ukryty model Markowa?

12

Użyłem algorytmu ukrytego modelu Markowa do automatycznego rozpoznawania mowy w klasie przetwarzania sygnału. Przeglądając literaturę dotyczącą uczenia maszynowego, widzę, że algorytmy są klasyfikowane jako „klasyfikacja”, „klastrowanie” lub „regresja”. Do którego segmentu należy HMM? Nie spotkałem ukrytych modeli markowa wymienionych w literaturze.

użytkownik1411110
źródło

Odpowiedzi:

14

Skusiłbym się na odpowiedź „brak” lub „zarówno klasyfikacja, jak i grupowanie”.

Dlaczego „brak”? Ponieważ HMM nie są w tej samej torbie, co maszyny wektorów wspierających lub k-średnich.

Maszyny wektorów nośnych lub k-średnich są specjalnie zaprojektowane w celu rozwiązania problemu (klasyfikacja w pierwszym przypadku, klastrowanie w drugim) i faktycznie są jedynie procedurą optymalizacji w celu zmaksymalizowania kryterium „oczekiwanej dobroci klasyfikacji” lub „dobroci klastrowania” . Piękno polega na wyborze kryterium i procedurze optymalizacji. HMM nie są algorytmem per se. Są one swoistym rodzajem rozkładu prawdopodobieństwa w sekwencjach wektorów - dla których znamy dobre algorytmy szacowania parametrów i obliczania rozkładu brzeżnego. Ale pytanie, czy należą do rodziny „klastrowej” czy „klasyfikacyjnej”, jest tak samo śmieszne, jak pytanie, czy dystrybucja Gaussa jest nadzorowana, czy bez nadzoru.

Dlaczego „zarówno klasyfikacja, jak i grupowanie”? Ze względu na następujące: Będąc rozkładami prawdopodobieństwa, HMM może być stosowany do klasyfikacji w ramach bayesowskich; i będąc modelem z ukrytymi stanami, niektóre ukryte grupowanie danych treningowych można odzyskać z ich parametrów. Dokładniej:

HMM może być używany do klasyfikacji. Jest to proste zastosowanie ram klasyfikacji bayesowskiej, przy czym HMM jest wykorzystywany jako model probabilistyczny opisujący twoje dane. Na przykład masz dużą bazę danych wypowiedzianych cyfr („jeden”, „dwa” itp.) I chcesz zbudować system zdolny do klasyfikowania nieznanych wypowiedzi. Dla każdej klasy w danych treningowych („jeden”, „dwa” szacujesz parametry modelu HMM opisujące sekwencje treningowe w tej klasie - i otrzymujesz 10 modeli. Następnie, aby wykonać rozpoznanie, obliczasz 10 wyniki prawdopodobieństwa (które wskazują prawdopodobieństwo wygenerowania przez model sekwencji, którą chcesz rozpoznać), a model o najwyższym wyniku podaje cyfrę. W samouczku na temat rabinera na temat HMM, etap szkolenia to „Problem 3”, etap klasyfikacji to „Problem 2”.

kγkk

fenenety
źródło
1

Najpierw spójrzmy na trzy opcje:

  • Klasyfikacja : Określenie, do której klasy zestawu predefiniowanych klas należą dane.
  • Klastrowanie : nauka zestawu klas, do których należą dane.
  • Regresja : znajdowanie związku między zmienną a jedną lub kilkoma innymi.

Opis HMM na Wikipedii zawiera następującą tabelę:

wprowadź opis zdjęcia tutaj

więc liczba stanów (klas) jest stała.

Oznacza to, że algorytm nie próbuje ustalić liczby klas (stanów), które są --- więc nie jest to klaster otwarty (gdzie liczba stanów jest nieznana).

Jednak, jak wskazuje @nikie, HMM będzie grupować.

Nie ma tak naprawdę niezależnej zmiennej (jak istnieje w kontekście regresji) --- więc nie jest to regresja.

Więc moja odpowiedź jest taka, że ​​HMM jest algorytmem klasyfikacji i klastrowania , nie wierzę, że jest to regresja.

Peter K.
źródło
2
Jak uzyskać „liczbę klas, jeśli ustalono” na „, aby algorytm nie próbował stwierdzić, że klasy są”? Liczba klas dla k-średnich jest również ustalona, ​​ale jest to oczywiście algorytm grupowania.
Niki Estner
Przypuszczam, że jestem przyzwyczajony do klastrowania otwartego, a nie naprawiony. Zaktualizuje odpowiedź. Dzięki!
Peter K.