Matlab 连续hmm参数初始化

Matlab 连续hmm参数初始化,matlab,machine-learning,classification,speech,hidden-markov-models,Matlab,Machine Learning,Classification,Speech,Hidden Markov Models,我正在使用Kevin Murphy的HMM工具包来构建用于语音情感识别的HMM。我已经从120个语音信号中提取了用于HMM的特征。我试图为每种情绪建立一个HMM,然后传入一个未知的语音信号,并将该信号分类到某个特定的情绪类别。我面临的问题是初始化多变量HMM的参数。我看到的所有示例似乎都使用相同长度的数据序列来估计高斯混合的参数。我的问题是,如果我的数据序列长度不同,我应该如何初始化每个HMM。例如,我输入到下面的函数mixgauss_init“data”: 是一个包含120个不同矩阵的单元格数

我正在使用Kevin Murphy的HMM工具包来构建用于语音情感识别的HMM。我已经从120个语音信号中提取了用于HMM的特征。我试图为每种情绪建立一个HMM,然后传入一个未知的语音信号,并将该信号分类到某个特定的情绪类别。我面临的问题是初始化多变量HMM的参数。我看到的所有示例似乎都使用相同长度的数据序列来估计高斯混合的参数。我的问题是,如果我的数据序列长度不同,我应该如何初始化每个HMM。例如,我输入到下面的函数mixgauss_init“data”:


是一个包含120个不同矩阵的单元格数组,每个矩阵包含13行*不同长度的列。当我在上面的函数中使用此函数时,我遇到了一个错误,即“中心多于数据”。

您需要将所有功能连接到一个大小为13*total_frames的数组中。您好@NikolayShmyrev感谢这似乎可行,非常感谢!您需要将所有功能连接到一个大小为13*total_frames的数组中。您好@NikolayShmyrev谢谢您的帮助,非常感谢!
[mu0, Sigma0] = mixgauss_init(Q*M, *data*, 'diag');