WEKA & HMMWeka, обучение и тестирование моделей‏

Я пытаюсь использовать WEKA для распознавания жестов. Я новичок в этой процедуре, поэтому любая помощь будет оценена.

Более конкретно, что я сделал по шагам:

  1. установить ВЕКА
  2. установить библиотеку HMMWeka
  3. мои данные содержат датчики формы вращения, и я попытался создать .arff в «простом» формате и формате «многоэкземплярный»

У меня записано 4 жеста и по 3 повторения для каждого. Итак, моя первоначальная идея с «простым» форматом состоит в том, чтобы обучить модель жесту 1 с первого повторения и протестировать ее (распознать) с помощью жеста 1 из оставшихся двух повторений. В формате «многоэкземплярный» в каждом файле .arff у меня есть все четыре жеста из каждого повторения.

Итак, мои вопросы:

  • Я не уверен, что мой файл в формате «многоэкземплярный» верен. Вот пример его структуры

:

@relation rotation
@attribute bag_ID {1, 2, 3, 4, 5, 6, 7, 8, 9}
@attribute bag relational
@attribute rotation { rot1 , rot2 , rot3 }
@attribute x_left_hand numeric
@attribute y_left_hand numeric
@attribute z_left_hand numeric
@attribute x_right_hand numeric
@attribute y_right_hand numeric
@attribute z_right_hand numeric
@end bag
@attribute gesture { g1, g2, g3, g4}

@data
1,"rot1, 1.394962, 19.704826, 0.536432, 1.594745, 7.511097, 0.269678", g1
2,"rot1, 1.337786, 19.681709, 0.468583, 1.63736, 7.536188, 0.35687", g1
3,"rot1, 1.280635, 19.658672, 0.400756, 1.679905, 7.561322, 0.443999", g1
4,"rot1, 2.217022, 15.327432, -1.997938, 0.256819, 10.011353, 2.300805", g2
5,"rot1, 2.304201, 15.276058, -2.076832, 0.161013, 9.993914, 2.351273", g2
6,"rot1, 2.271477, 22.43351, 3.477951, 1.245202, 5.531068, -1.06918", g3
7,"rot1, 2.218041, 22.370411, 3.506101, 1.299245, 5.590856, -1.078336", g3
8,"rot1, 1.557125, 16.531981, 4.000765, 3.098644, 5.841918, -3.751997", g4
9,"rot1, 1.557125, 16.531981, 4.000765, 3.116652, 5.932492, -3.760822", g4
  • Хотя WEKA читает оба формата, когда я выбираю для обучения ХММ, она выбирает (что тоже по умолчанию) жест номинального класса, в то время как я хотел бы использовать либо реляционный атрибут, либо все остальные атрибуты как группу. Результат правильной классификации на тренировке тоже очень низкий..22%

  • Результатом тестирования будет то, какой жест соответствует всем атрибутам, которые я даю WEKA в качестве входных данных.

  • Вы знаете, возможно ли это? Могу ли я использовать все числовые атрибуты для обучения? У меня что-то не так с форматом?

Я много искал в Google и нашел такие вещи, как http://weka.8497.n7.nabble.com/Relational-attributes-vs-regular-attributes-td29946.html и перепробовал множество комбинаций... но у меня все еще есть проблема! Также я пытался использовать два классификатора, гауссовские процессы и HMM, но выдает ошибку (weka.classifiers.meta.Stacking: не может обрабатывать двоичный класс).

Любая помощь могла бы быть полезна!!

Заранее спасибо!! С наилучшими пожеланиями,


person user2982529    schedule 08.05.2014    source источник


Ответы (1)


мммм, вы используете временные последовательности, но без последовательности, я имею в виду, представьте, что у вас есть вектор

x[] и каждый элемент x является значением x в то время, вы много раз публиковали x[0], в вашем случае x - это структура, которая имеет

struct x {
    double x_left_hand;
    double y_left_hand;
    double z_left_hand;
    double x_right_hand;
    double y_right_hand;
    double z_right_hand;
}

И это правильно, но нет никакой эволюции жеста во времени, я не знаю, хорошо ли я объясняю, такой плохой английский...

Я собираюсь опубликовать вам небольшой пример, над которым я работаю, он может вам помочь

@relation AUs

@attribute sequences relational
 @attribute  AU0 NUMERIC
 @attribute  AU1 NUMERIC
 @attribute  AU2 NUMERIC
 @attribute  AU3 NUMERIC
 @attribute  AU4 NUMERIC
 @attribute  AU5 NUMERIC
@end sequences
@attribute class {01, 01b, 01c, 01d, 02, 02a, 02c, 04, 05, 07, 10, 11, 13, 14, 15, 17, 18, 19, 21}

@data
"0.5840133,-0.13073722,-0.8034836,0.16867049,-0.30464363,-0.15208732\n....\n0.47603312,-0.10599292,-0.4781358,0.30258814,-0.27299756,0.07913079\n0.5878206,-0.12593555,-0.42014712,0.30809718,-0.33109784,0.013338812\n0.6120923,-0.12400548,-0.3479098,0.26818287,-0.39161837,0.07279621\n0.6180023,-0.11955684,-0.35120794,0.28354084,-0.351862,-0.017126387\n0.6166399,-0.13956356,-0.3506564,0.25470608,-0.34935358,0.025823373\n0.59575284,-0.13704558,-0.42580596,0.24725975,-0.33137816,-0.04043307\n0.5571964,-0.13607484,-0.3777615,0.21615964,-0.35109887,-0.068926826\n0.52844477,-0.10942138,-0.38436648,0.2355144,-0.3238311,-0.06743353\n0.64967036,-0.13547328,-0.28889894,0.21237339,-0.3741229,0.02283336\n0.641207,-0.13648787,-0.35315526,0.27048427,-0.39234316,0.026359601\n0.6241689,-0.14557217,-0.39503983,0.261346,-0.3732989,0.0811597\n0.46664864,-0.092378475,-0.42906052,0.29789245,-0.3076035,0.015037567\n0.528294,-0.19327107,-0.59035814,0.26079395,-0.3222413,-0.022527361\n0.56722254,-0.16849008,-0.4722441,0.2480416,-0.3971509,0.023736712",01

В этом примере у нас есть время, а не просто начальная позиция.

я надеюсь, что это было полезно

person Pablo    schedule 05.08.2014