给定状态空间数目S,输出空间数目M
初始状态pi生成:随机生成长度为S的元组,对pi进行处理,使得该元组各元素和为1。
状态转移矩阵A生成:随机生成大小为(S,S)矩阵A,对A中每一行进行处理,使得每一行和为1。
发射矩阵B生成:随机生成大小为(S,M)矩阵B,对B中每一行进行处理,使得每一行和为1。
给定初始状态pi,状态转移矩阵A,发射矩阵B,观测数据长度l,样本数目n
(1) 按照pi中分布,选取初始状态i
(2) 根据发射矩阵B中状态i对应输出分布,选取初始观测数据o1
(3) 根据状态转移矩阵A分布,选取下一状态i
(4) 跳转步骤(2),直至观测数据长度为l
(5) 跳转步骤(1),直至采样n个样本
定义参数:状态空间数目S,观测状态数目M,观测样本长度l,观测样本数目n
首先随机生成初始状态分布pi,状态转移矩阵A,发射矩阵B,以及长度为n的观测样本集合O。
对O中样本以7:3比例划分训练集测试集,使用Baum-Welch模型估计参数。
任务(1):根据观测样本集合O,预测给定观测序列下一时刻观测数据;
将测试集中前9个数据作为观测数据,最后一个数据作为预测数据,使用accuracy作为评价指标。
任务(2):根据观测样本集合O,预测给定观测序列对应的潜状态序列。
使用Viterbi算法,对测试集中每组观测样本计算可能的潜状态序列,使用accuracy作为评价指标。