上传者: 38733787
|
上传时间: 2021-10-20 17:12:59
|
文件大小: 35KB
|
文件类型: -
hmm模型matlab代码HMM-GMM
这是我个人实现的隐马尔可夫模型和高斯混合模型,这是统计机器学习中的两个经典生成模型。
HMM是在无监督的情况下进行训练的,代码实现了前向后退算法,以在给出部分/全部观测值的任何时间步长计算状态的边际概率,而Baum-Welch算法则用于估计初始概率分布,过渡和排放概率分布。
对于此示例,观察值是空格和字母,但是代码足够通用,可以与任何观察值序列和隐藏状态一起使用。
下面讨论的所有概率将在日志空间中。
HMM的推论被实现为一种维特比算法(动态编程)
依存关系
Python
3.x
load_corpus(path)
此功能特定于此示例,用于读取观察顺序。
它将读取路径中的文件,仅保留字母和单个空格对其进行清理,并将所有内容都转换为小写。
它将返回清除输入的字符串。
load_probabilities(path)
此函数在指定的路径中加载pickle文件,该路径包含字典的元组。
第一个字典包含初始状态概率,并将整数i映射到第i个状态的概率。
第二词典包含转换概率和映射整数i到该整数j映射到过渡的从状态i到状态j的概率的第二词典。
最后,第三个字典