Понимание алгоритма Витерби

Я пытаюсь реализовать код из Вот

И я обучил HMM своими коэффициентами, но не понимаю, как работает алгоритм декодера Витерби, например:

 viterbi_decode(MFCC, M, model, q);
where MFCC = coefficents
M = size of MFCC
model = Model of HMM training using the MFCC coefficients
q = unknown (believed to be the outputted path).

Но вот что я не понимаю: я пытаюсь сравнить два речевых сигнала (обучение, выборка), чтобы найти наиболее близкое совпадение. С алгоритмом DTW, например, возвращается одно целое число, где я могу найти ближайший, однако с этим алгоритмом он возвращает int* array и поэтому дифференцировать сложно.

Вот как работает текущая программа:

vector<DIMENSIONS_2> MFCC = mfcc.transform(rawData, sample_rate);

int N = MFCC.size();
int M = 13;

double** mfcc_setup = setupHMM(MFCC, N, M);

model_t* model = hmm_init(mfcc_setup, N, M, 10);

hmm_train(mfcc_setup, N, model);

int* q = new int[N];

viterbi_decode(mfcc_setup, M, model, q);

Может ли кто-нибудь сказать мне, как работает декодер Витерби для решения проблемы определения наилучшего пути от обучения до ввода? Я пробовал как евклидово расстояние, так и расстояние Хемминга на пути декодирования (q) но не повезло.

Любая помощь будет принята с благодарностью

1

Решение

В этом примере мне кажется, что (q) — это скрытая последовательность состояний, поэтому список чисел от 0 до> 9. Если у вас есть два аудиосэмпла, скажем, test и train, и вы генерируете две последовательности q_test и q_train, то думать о | q_test — q_train |, где норма — это компонентное расстояние, бесполезно, поскольку оно не представляет понятие расстояния правильно, поскольку метки скрытого состояния в HMM могут быть произвольными.

Более естественный способ думать о расстоянии может быть следующим, учитывая q_train, вас интересует вероятность того, что ваш тестовый образец выберет тот же путь, который вы можете вычислить, когда у вас есть матрица переходов и вероятности выбросов.

Пожалуйста, дайте мне знать, если я неправильно понимаю ваш вопрос.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]