假设待测样本数据为S={ $ s_ {1} $ , $ \cdots $ , $ s_ {L} $ },共包含L个样本,其中L= $ 10^ {6} $ ,每个样本 $ s_ {1} $ $ \in $ A={ $ x_ {1} $ , $ \cdots $ , $ x_ {k} $ 。其中,A为样本空间,k为样本空间的大小,如对于二元序列,k为2,A={0,1};对于三元序列,k为8, A={0,1, $ \cdots $ ,7}。对于D阶马尔可夫模型,基于马尔可夫预测器的熵估计计算过程如下:

a) 初始化参数D=16,N=L-2,winn er=1。分别创建包含D个值的列表subpredict,score- board, entries 来记录 D 个子预测器的预测值、预测正确的次数以及已经记录的不同模板的个 数,并分别初始化为Null、0、0。其中,entries的最大值为 $ \max $ Entries=100000。创建数组 correct包含N个值,初始化为全0,用来记录马尔可夫预测器N次预测的结果。 b) 将d的值从1取到D分别代表16个不同的子预测器。设置 $ M_ {d} $ 是一组计数器, $ M_ {d} $ [x,y]记 录模板为x,其后一个输出为y的元组(x,y)的出现次数。int s[] = { 1,1,0,0,1,0,0,0,0,0,1,1,1,1,1,1,1,0,1,0,1,0,0,1,0,0,1,0,0,1,1,0 }; // 样本数据,那么M1应该是什么样的内容:根据计数器的定义,M1[x,y]表示模板为x,其后一个输出为y的元组(x,y)的出现次数。对于D=1的情况,模板只包含一个元素,即只考虑当前输出的值。因此,M1[x,y]表示在样本数据中,输出值为x的元素后面紧跟着一个输出值为y的元素出现的次数。根据样本数据,可以得到M1的值:

M1[0,0] = 2 M1[0,1] = 1 M1[1,0] = 3 M1[1,1] = 3

D阶马尔可夫模型的熵估计计算过程详解

原文地址: https://www.cveoy.top/t/topic/n0c7 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录