HMM kontra CRF do modelowania szeregów czasowych wymuszają działanie robotów oddziaływujących ze środowiskiem?

9

Mam szereg czasowy danych o sile robotów oddziałujących z obiektami środowiska o różnych teksturach. Chciałbym opracować modele różnych tekstur, korzystając z danych szeregów czasowych, aby sklasyfikować tekstury na kategorie gładkie, szorstkie, umiarkowane itp. Czy w tym celu wystarczą ukryte modele Markowa, czy powinienem stosować warunkowe pola losowe? Jeśli zdecyduję się zaklasyfikować do większej liczby kategorii, a rozróżnienie między każdą z nich jest bardzo subtelne, to w takim razie jaki byłby dobry wybór? Czy wymuszone dane będą wystarczające do przechwycenia wszystkich informacji potrzebnych do zaklasyfikowania tekstur do tych kategorii?

Dziękuję za odpowiedzi :)

Gilmour
źródło

Odpowiedzi:

5

Na podstawie opisu problemu będą działać zarówno HMM (model generatywny), jak i CRF (model dyskryminacyjny). Zobacz tę dyskusję, aby uzyskać bardziej szczegółowe wyjaśnienie dwóch podejść:

Jaka jest różnica między algorytmem generatywnym a dyskryminacyjnym?

Sugestia: przed wybraniem algorytmu zacznij od dokładnego spojrzenia na swoje dane liczbowe za pomocą wykresów MATLAB lub podobnych. Jeśli informacje są wielowymiarowe (np. Wartości siły z wielu czujników), może się zdarzyć, że niektóre wymiary (np. Odczyt czujnika) nie zawierają użytecznych informacji dyskryminujących; w takim przypadku skompresuj dane za pomocą głównej analizy składników, aby uzyskać bardziej zwarte funkcje podczas treningu i klasyfikacji.

Teraz w odniesieniu do twojego pytania:

Różnica polega na tym, że HMM mogą reprezentować każdą z twoich klas tekstur za pomocą kilku ukrytych zmiennych / stanów, przechwytując w ten sposób wewnętrzną ewolucję czasową każdego kontaktu. Możemy powiedzieć, że HMM lepiej modeluje „niskopoziomową” (wewnątrzklasową) dynamikę twoich danych. Na przykład, w twoim przypadku, HMM pozwoli ci na jawne modelowanie trzech różnych faz każdej akwizycji danych: (1) początek kontaktu robota z obiektem; (2) stabilna część kontaktu; (3) koniec kontaktu i zwolnienie. Fazy ​​te mogą mieć różne wartości w czasie, nawet dla tej samej tekstury obiektu, i warto je rozdzielić, aby poprawić wyniki klasyfikacji.

Z drugiej strony, CRF są bardziej odpowiednie do przechwytywania relacji „wysokiego poziomu” (międzyklasowych) twojego rozkładu danych, które są czasami ważne, gdy zmienność przestrzenno-czasowa jest wysoka lub gdy cechy obserwacji są bardzo podobne między dwie próbki należące do różnych klas.

Osobiście uważam, że HMM są łatwiejsze w użyciu i zacznę od nich, ale twój przebieg może się różnić.

Jeśli zdecyduję się zaklasyfikować do większej liczby kategorii, a rozróżnienie między każdą z nich jest bardzo subtelne, to w takim razie jaki byłby dobry wybór?

W takim przypadku CRF mogą być bardziej niezawodnym wyborem (patrz wyżej).

Czy wymuszone dane będą wystarczające do przechwycenia wszystkich informacji potrzebnych do zaklasyfikowania tekstur do tych kategorii?

Dodanie funkcji wizualnych (wyglądu obiektu), szczególnie w przypadku kamer zarejestrowanych w wysokiej rozdzielczości, może pomóc ustalić, czy obiekt ma szorstką teksturę, czy nie.

Giovanni Saponaro
źródło
Przepraszam za spóźnioną odpowiedź. Twoje komentarze były bardzo pomocne. Wdrożyłem już HMM i wydają się działać dobrze. Nie przekonwertowałem danych do ich nisko wymiarowej reprezentacji za pomocą PCA, a raczej użyłem HMM, które mogą przyjmować ciągłe dane / dystrybucje, aby uniknąć utraty jakichkolwiek informacji. Ale ponieważ i tak używam go do klasyfikacji, myślę, że stosowanie podejścia dyskryminującego może dać lepsze wyniki (jeszcze nie do zobaczenia i potwierdzenia).
Gilmour,
Cieszę się, że HMM dobrze sprawdzają się w modelowaniu danych z czujnika siły. Chciałbym dowiedzieć się więcej na ten temat.
Giovanni Saponaro