假设待测样本数据为犛={狊1…狊犔}共包含犔 个样本其中犔=106每个样本狊犻∈犃={狓1… 狓犽}。其中犃 为样本空间犽为样本空间的大小如对于二元序列犽为2犃={01};对于三元序列犽为8犃={01…7}。对于犇 阶马尔可夫模型基于马尔可夫预测器的熵估计计算过程如下。 a 初始化参数犇=16犖=犔-2狑犻狀狀犲狉=1。分别创建包含犇 个值的列表subpredictscore boardentr
是否与实际值相同。
b) 对于每个样本狊犻,从犃 中选取长度为犇 的子序列作为模板,计算该模板在样本数据中出现的次数,并记录模板出现的位置。如果模板出现的次数小于狑犻狀狀犲狉,将该模板加入到列表subpredict中,并将狑犻狀狀犲狉加1。如果列表subpredict的长度大于犇,将列表中的第一个元素移除。
c) 对于每个样本狊犻,使用列表subpredict中保存的犇 个子预测器进行预测,记录预测结果,并将预测正确的子预测器的score board加1。
d) 对于每个样本狊犻,将预测结果与实际值进行比较,如果相同,将correct相应位置的值加1。
e) 计算每个子预测器的熵值,将熵值乘以对应的score board得到该子预测器的总熵值,将总熵值加入到数组entries中。如果数组entries的长度超过最大值maxEntries,将数组中的最小值移除。
f) 重复步骤b)到e)直到处理完所有的样本数据。
g) 对于每个子预测器,统计其预测正确的次数和总熵值,计算平均熵值作为该子预测器的熵值估计。
h) 对于每个子预测器的熵值估计,将其乘以预测正确的次数除以总样本数得到该子预测器的加权熵值估计。
i) 对于所有子预测器的加权熵值估计,计算其平均值作为整个马尔可夫预测器的熵值估计
原文地址: https://www.cveoy.top/t/topic/cp9W 著作权归作者所有。请勿转载和采集!