Распознавание активности - уменьшение размеров для непрерывных HMM
Я новичок в HMM, но я пытался создать код, используя Jahmm для набора данных UCI Human Activity Recognition. Набор данных имеет 561 элемент и 7352 строки, а также включает инерционные значения xyz как акселерометра, так и гироскопа, и он в основном предназначен для распознавания 6 видов деятельности: ходьба, ходьба наверху, ходьба вниз, сидение, стояние и укладка. Данные нормализованы [-1,1], но не масштабированы по z. Я могу получить достойные результаты только после масштабирования (функция scale() в R). После масштабирования я попробовал PCA, корреляцию 90+% и меры измерения RandomForest с mtry=8 для уменьшения размеров, но пока что, как мне показалось, работал randomForest, но результаты все еще довольно низкие (80%), Кроме того, иногда некоторые действия дают значения NaN при выполнении кода Jahmm.
Согласно тому, что я читал о HMM, эти результаты слишком низкие. Должен ли я сделать больше предварительной обработки, прежде чем использовать упомянутые методы уменьшения размеров? Существует ли конкретный метод уменьшения размеров, совместимый с моделями HMM? Я переоснащаю это? или мне лучше сделать это дискретным, а не непрерывным? Мне действительно нужно сделать распознавание активности и HMM для моего проекта. Я был бы очень рад получить предложения / отзывы от людей, которые уже пробовали Jahmm и R для непрерывных HMM. Было бы также неплохо, если бы кто-то мог предложить пакет / библиотеку, которая использует вероятности логарифма и выдает последовательность Витерби из подогнанного HMM с учетом нового набора тестовых данных.