一种基于马尔可夫转移矩阵对矩阵的异常值进行修正的方法,用于修正异常的识别概率,属于数据挖掘技术领域、模式识别领域。
背景技术:
模式识别中对模式的识别准确度是核心问题,提高模式识别的准确性可以从两方面着手,一方面是模型内部算法的精准度,一方面是从模型外部对准确度进行修正。
现有技术中,专利为:一种室内行人行走模式识别和轨迹追踪的方法cn201310440455.0公开了首先根据室内环境下地形的特点,以方向和速度为分类依据,定义了室内人员行走的模式;然后用采集的加速度传感器和地磁传感器数据,运用隐含马尔科夫模型理论(hmm)对室内行走模式建立数学模型;由于金属物的干扰和行走过程中身体抖动的影响,室内定位系统最初通过航迹推算获取的轨迹可能存在较大的误差,本发明最后根据隐含马尔科夫模型的维特比算法计算每个行走模式的概率,找出可能性最大的一组行走模式;最后再根据行走模式的识别结果,将原来的位置匹配到相应的行走模式,从而修正原来的轨迹,获得室内该行人的行走修正轨迹。本发明能显著提高室内定位和轨迹追踪的精度。但存在如下不足之处:1:使用隐马尔科夫转移矩阵对行人的行动轨迹逐点预测及修正,沿着数据采集的自然时间方向(单向)预测,没有充分利用隐马尔科夫转移矩阵的先验信息,即先验概率,造成信息利用率低,其中先验概率(即先验信息)的作用是进一步减小不确定性,如果有先验信息更正概率,那么就要充分利用先验信息。如:成都机场平均可以出港的概率是95%;但天气预报提供了明天早晨有浓雾的先验信息,其出港概率则调整为0%,正因为先验信息的加入,减小了不确定性,更正了概率;
2:把隐马尔科夫转移概率矩阵同时用在模式识别与模式序列修正环节上,在该文的场景中有较好表现,但缺乏场景迁移性,放在其他场景效果未知;
3:使用隐马尔科夫转移矩阵,因其考虑两个并行的随机过程状态转移,且两个随机过程相互关联,计算量较大。
技术实现要素:
针对上述研究的问题,本发明的目的在于提供一种基于马尔可夫转移矩阵对矩阵的异常值进行修正的方法,解决现有技术中对识别概率进行修正中,利用隐马尔科夫转移矩阵,没有充分利用隐马尔科夫转移矩阵的先验信息,造成信息利用率低;缺乏场景迁移性;考虑两个并行的随机过程状态转移,且两个随机过程相互关联,计算量较大的问题。
为了达到上述目的,本发明采用如下技术方案:
一种基于马尔可夫转移矩阵对矩阵的异常值进行修正的方法,其特征在于,包括如下步骤:
s1、基于三连箱异常值识别法,对获得的识别概率矩阵进行异常值判别,得到异常的识别概率,即异常值;
s2、自定义识别概率区间的马尔可夫状态转移矩阵;
s3、根据异常值和马尔可夫转移矩阵,利用先验概率和朴素贝叶斯对异常值进行修正,得到修正后的识别概率。
进一步,所述步骤s1的具体步骤为:
s1.1、获得各状态在各时间箱的识别概率,构成识别概率矩阵;
s1.2各状态基于编码后的连续的三个时间箱的识别概率变化趋势,判断中间时间箱得到的识别概率是否异常,若异常,则得到异常值,否则不异常,编码后的连续的三个时间箱的识别概率变化趋势即为三连箱异常值识别法。
进一步,所述步骤s1.2的具体步骤为:
s1.21、获得连续的三个时间箱的识别概率变化趋势和变化趋势编码,对连续的三个时间箱的识别概率变化趋势进行编码,得到编码后的连续的三个时间箱的识别概率变化趋势;
s1.22、基于编码后的连续的三个时间箱的识别概率变化趋势,判断中间时间箱得到的识别概率是否异常,若异常,则得到异常值,否则不异常。
进一步,所述步骤s1.21中连续的三个时间箱依次为第一时间箱、第二时间箱和第三时间箱,第二时间箱即为中间时间箱,其中,连续的三个时间箱的识别概率变化趋势包括:
不变-不变-不变,即第二时间箱得到的识别概率变化平稳,正常,第二时间箱得到的识别概率无须修正;
不变-不变-变高,即第二时间箱得到的识别概率与第一时间箱变化一致,正常,第二时间箱得到的识别概率无需修正;
不变-不变-变低,即第二时间箱得到的识别概率与第一时间箱变化一致,正常,第二时间箱得到的识别概率无需修正;
不变-变高-双高,即连续的三个时间箱的识别概率变化趋势一致变大,正常,第二时间箱得到的识别概率无需修正;
不变-变高-变高,即第二时间箱得到的识别概率与第三时间箱变化一致,正常,第二时间箱得到的识别概率无需修正;
不变-变低-双低,即连续的三个时间箱的识别概率变化趋势一致变小,正常,第二时间箱得到的识别概率无需修正;
不变-变低-变低,即第二时间箱得到的识别概率与第三时间箱变化一致,正常,第二时间箱得到的识别概率无需修正;
不变-变高-不变,即第二时间箱得到的识别概率与前后两箱变化不一致,异常,第二时间箱得到的识别概率需要修正;
不变-变低-不变,即第二时间箱得到的识别概率与前后两箱变化不一致,异常,第二时间箱得到的识别概率需要修正;
不变-双高-变高,即第二时间箱得到的识别概率与前后两箱变化不一致,异常,第二时间箱得到的识别概率需要修正;
不变-变高-变低,即第二时间箱得到的识别概率与前后两箱变化不一致,异常,第二时间箱得到的识别概率需要修正;
不变-变低-变高,即第二时间箱得到的识别概率与前后两箱变化不一致,异常,第二时间箱得到的识别概率需要修正;
不变-双低-变低,即第二时间箱识别概率与前后两箱变化不一致,异常,第二时间箱得到的识别概率需要修正;
其中,“不变”表示该时间箱的识别概率与第一时间箱的识别概率差值绝对值小于判别阈值,“变高”表示该时间箱的识别概率与第一时间箱的识别概率差值绝对值大于判别阈值,“变低”表示该时间箱的识别概率与第一时间箱的识别概率差值绝对值小于判别阈值,“双高”表示该时间箱的识别概率与其他两个时间箱的识别概率差值绝对值大于判别阈值,“双低”表示其他两个时间箱的识别概率差值绝对值小于判别阈值;
变化趋势编码为“0”,“+”“++”,“-”和“--”;其中,“不变”编码为“0”,“变高”编码为“+”,“双高”编码为“++”,“变低”编码为“-”,“双低”编码为“--”。
进一步,所述步骤s2的具体步骤为:
s2.1、根据识别概率的精确度需求,定义识别概率区间;
s2.2、设相邻时间箱之间的识别概率相似,利用专家法确定识别概率区间的转移概率;
s2.3、根据识别概率区间和识别概率区间的转移概率得到马尔可夫状态转移矩阵。
进一步,所述步骤s2.1中的识别概率区间根据保守的识别概率修正策略或积极的识别概率修正策略确定结构;
所述保守的识别概率修正策略是指修正的识别概率取识别概率区间的下确界,识别概率区间结构为左闭右开;
所述积极的识别概率修正策略是指修正的识别概率取识别概率区间的上确界,识别概率区间结构为左开右闭。
进一步,所述步骤s3的具体步骤为:
s3.1、将识别概率区间映射成随机变量,得到随机变量表;
s3.2、获取各状态的异常值和其相邻的识别概率,再通过马尔科夫状态转移矩阵计算最大条件概率,即确定用于修正异常值的识别概率区间;
s3.3、根据随机变量表和用于修正异常值的识别概率区间,将异常值和其相邻的识别概率映射成随机变量,即把连续的识别概率变成离散的识别概率;
s3.4、基于映射成的随机变量,利用异常值前后时间箱的识别概率、马尔科夫状态转移矩阵和朴素贝叶斯,求解朴素贝叶斯概率的最大值修正异常值,其中异常值前后时间箱的识别概率为先验概率一,马尔科夫状态转移矩阵为先验概率二。
进一步,所述步骤s3.4的具体步骤为:
s3.41、基于马尔科夫状态转移矩阵和随机变量表将异常值映射为各随机变量后,再基于朴素贝叶斯分别与异常值相邻的识别概率映射成的随机变量形成状态转移路径,计算得到各状态转移路径下的转移概率;
s3.42、对各转移概率进行归一化处理,得到各归一化处理后的转移概率;
s3.43、选择所有归一化处理后的转移概率中最大的概率,若最大的概率只有一个,根据保守的识别概率修正策略或积极的识别概率修正策略得到修正异常值后的识别概率,否则,选择小的识别概率区间,再根据保守的识别概率修正策略或积极的识别概率修正策略得到修正异常值后的识别概率。
本发明同现有技术相比,其有益效果表现在:
一、本发明构造了三连箱,把需要修正的时间箱放在中间,向前向后两个方向利用马尔科夫转移矩阵(即马尔可夫状态转移矩阵)的先验信息,从转移概率的利用率上,本发明相对于现有技术提高100%;本发明主要是利用了异常值前后两个时间箱中已经确定的识别概率,马尔可夫状态转移矩阵最经典的用法是单向使用,本发明加入了方向利用马尔可夫状态转移矩阵,让后一个时间箱的信息参与消除前一个时间箱的不确定性(即异常值修正),除了用常规的前一个时间箱的信息外,我们充分利用了后一个时间箱的信息;
二、本发明着重于模式序列修正环节,与模式识别环节解耦,模式识别环节使用的模型不再局限于隐马尔科夫,可以使用最新的模式识别算法和模型;而模式识别的结果当作本案发明的输入,本案发明不依赖于具体场景,具有较好的迁移性;
三、本发明使用的马尔科夫转移矩阵只涉及到一个随机过程的状态转移,计算量相对较小。
附图说明
图1为本发明中的识别概率矩阵示意图;
图2为本发明实施例中标注了对开始和结束两个时间箱的识别概率是否异常,不做判别和修正的示意图;
图3为本发明实施例中标注了连续的三个时间箱,对中间时间箱的识别概率进行异常判断的示意图;
图4为本发明实施例中根据变化趋势对三连箱中的每个时间箱做变化趋势编码的示意图;
图5为本发明实施例中三连箱所有的识别概率变化趋势示意图;
图6为本发明实施例中得到识别概率矩阵中的异常值的示意图;
图7为本发明实施例中的识别概率区间的马尔可夫状态转移矩阵;
图8为本发明实施例中识别概率区间映射成随机变量,得到随机变量表的示意图;
图9为本发明实施例中状态10在0.5s-1s的识别概率作为中间时间箱得到的识别概率,所在的三连箱识别概率映射成随机变量的示意图;
图10为本发明实施例中得到修正后的识别概率的示意图;
图11为本发明的流程示意图。
具体实施方式
下面将结合附图及具体实施方式对本发明作进一步的描述。
一种基于马尔可夫转移矩阵对矩阵的异常值进行修正的方法,包括如下步骤:
s1、基于三连箱异常值识别法,对获得的识别概率矩阵进行异常值判别,得到异常的识别概率,即异常值;具体步骤为:
s1.1、获得各状态在各时间箱的识别概率,构成识别概率矩阵;
s1.2各状态基于编码后的连续的三个时间箱的识别概率变化趋势,判断中间时间箱得到的识别概率是否异常,若异常,则得到异常值,否则不异常,编码后的连续的三个时间箱的识别概率变化趋势即为三连箱异常值识别法。具体步骤为:
s1.21、获得连续的三个时间箱的识别概率变化趋势和变化趋势编码,对连续的三个时间箱的识别概率变化趋势进行编码,得到编码后的连续的三个时间箱的识别概率变化趋势;连续的三个时间箱依次为第一时间箱、第二时间箱和第三时间箱,第二时间箱即为中间时间箱,其中,连续的三个时间箱的识别概率变化趋势包括:
不变-不变-不变,即第二时间箱得到的识别概率变化平稳,正常,第二时间箱得到的识别概率无须修正;
不变-不变-变高,即第二时间箱得到的识别概率与第一时间箱变化一致,正常,第二时间箱得到的识别概率无需修正;
不变-不变-变低,即第二时间箱得到的识别概率与第一时间箱变化一致,正常,第二时间箱得到的识别概率无需修正;
不变-变高-双高,即连续的三个时间箱的识别概率变化趋势一致变大,正常,第二时间箱得到的识别概率无需修正;
不变-变高-变高,即第二时间箱得到的识别概率与第三时间箱变化一致,正常,第二时间箱得到的识别概率无需修正;
不变-变低-双低,即连续的三个时间箱的识别概率变化趋势一致变小,正常,第二时间箱得到的识别概率无需修正;
不变-变低-变低,即第二时间箱得到的识别概率与第三时间箱变化一致,正常,第二时间箱得到的识别概率无需修正;
不变-变高-不变,即第二时间箱得到的识别概率与前后两箱变化不一致,异常,第二时间箱得到的识别概率需要修正;
不变-变低-不变,即第二时间箱得到的识别概率与前后两箱变化不一致,异常,第二时间箱得到的识别概率需要修正;
不变-双高-变高,即第二时间箱得到的识别概率与前后两箱变化不一致,异常,第二时间箱得到的识别概率需要修正;
不变-变高-变低,即第二时间箱得到的识别概率与前后两箱变化不一致,异常,第二时间箱得到的识别概率需要修正;
不变-变低-变高,即第二时间箱得到的识别概率与前后两箱变化不一致,异常,第二时间箱得到的识别概率需要修正;
不变-双低-变低,即第二时间箱识别概率与前后两箱变化不一致,异常,第二时间箱得到的识别概率需要修正;
其中,“不变”表示该时间箱的识别概率与第一时间箱的识别概率差值绝对值小于判别阈值,“变高”表示该时间箱的识别概率与第一时间箱的识别概率差值绝对值大于判别阈值,“变低”表示该时间箱的识别概率与第一时间箱的识别概率差值绝对值小于判别阈值,“双高”表示该时间箱的识别概率与其他两个时间箱的识别概率差值绝对值大于判别阈值,“双低”表示其他两个时间箱的识别概率差值绝对值小于判别阈值;
变化趋势编码为“0”,“+”“++”,“-”和“--”;其中,“不变”编码为“0”,“变高”编码为“+”,“双高”编码为“++”,“变低”编码为“-”,“双低”编码为“--”。
s1.22、基于编码后的连续的三个时间箱的识别概率变化趋势,判断中间时间箱得到的识别概率是否异常,若异常,则得到异常值,否则不异常。
s2、自定义识别概率区间的马尔可夫状态转移矩阵;具体步骤为:
s2.1、根据识别概率的精确度需求,定义识别概率区间;其中,识别概率区间根据保守的识别概率修正策略或积极的识别概率修正策略确定结构;
所述保守的识别概率修正策略是指修正的识别概率取识别概率区间的下确界,识别概率区间结构为左闭右开;
所述积极的识别概率修正策略是指修正的识别概率取识别概率区间的上确界,识别概率区间结构为左开右闭。
s2.2、设相邻时间箱之间的识别概率相似,利用专家法确定识别概率区间的转移概率;
s2.3、根据识别概率区间和识别概率区间的转移概率得到马尔可夫状态转移矩阵。
s3、根据异常值和马尔可夫转移矩阵,利用先验概率和朴素贝叶斯对异常值进行修正,得到修正后的识别概率。具体步骤为:
s3.1、将识别概率区间映射成随机变量,得到随机变量表;
s3.2、获取各状态的异常值和其相邻的识别概率,再通过马尔科夫状态转移矩阵计算最大条件概率,即确定用于修正异常值的识别概率区间;其中计算方式为马尔可夫一阶转移矩阵连续使用两次即可得到。
s3.3、根据随机变量表和用于修正异常值的识别概率区间,将异常值和其相邻的识别概率映射成随机变量,即把连续的识别概率变成离散的识别概率;
s3.4、基于映射成的随机变量,利用异常值前后时间箱的识别概率、马尔科夫状态转移矩阵和朴素贝叶斯,求解朴素贝叶斯概率的最大值修正异常值,其中异常值前后时间箱的识别概率为先验概率一,马尔科夫状态转移矩阵为先验概率二。具体步骤为:
s3.41、基于马尔科夫状态转移矩阵和随机变量表将异常值映射为各随机变量后,再基于朴素贝叶斯分别与异常值相邻的识别概率映射成的随机变量形成状态转移路径,计算得到各状态转移路径下的转移概率;
s3.42、对各转移概率进行归一化处理,得到各归一化处理后的转移概率;
s3.43、选择所有归一化处理后的转移概率中最大的概率,若最大的概率只有一个,根据保守的识别概率修正策略或积极的识别概率修正策略得到修正异常值后的识别概率,否则,选择小的识别概率区间,再根据保守的识别概率修正策略或积极的识别概率修正策略得到修正异常值后的识别概率。
实施例
计算多状态序列的识别概率矩阵,本发明以手机传感器获取到的坐标,速度,加速度,角速度等数据,对手机使用者20种状态进行识别,按0.5s为长度组成连续观测的时间箱,每个时间箱通过模式识别模型(例如bp神经网络,贝叶斯决策等)得到该时间箱中的模式识别概率,单个时间箱的识别概率准确性依靠具体的模式识别模型,但连续时间箱的识别概率组成序列的时候,需要对序列的识别概率进行整体的异常值识别,以及异常值识别之后的异常值修正。具体地如图1所示,每种状态在每个时间箱得到的识别概率组成带时间戳的识别概率矩阵。
首先自定义识别概率异常值判别标准:
如图1所示的识别概率矩阵中,状态10的识别概率在0.5s到1s,1.5s到2s两个时间箱内,识别概率有明显的变化;状态14的识别概率在0s到2s的4个时间箱,识别概率亦有明显的变化,所以,如何定义识别概率的异常值标准,是我们进行修正的前提。
本实例中自定义的识别概率异常值判别标准为:
规则一:异常值判别的长度是连续的三个时间箱(下文简称三连箱,不再赘述),并利用连续的三个时间箱中的头尾两个时间箱的识别概率信息对中间时间箱的异常与否做判断;在图3中,底色为最浅灰的识别概率是我们需要做异常值判别的目标值,而其两侧底色为最深灰的识别概率值是异常值的判别依据及修正依据;
规则二:不对开始和结束两个时间箱(即头尾两个时间箱)的识别概率的异常做判别和修正,因采用三边箱进行异常值判断,头尾两个时间箱的识别概率是否异常就判断不了,当然可以用于判断相邻的识别概率是否异常,如图2所示,开始的0-0.5及结束的2.5s-3s不做异常值判别和修正,用灰色标记;
规则三:按照图4的变化趋势对三连箱中的每个时间箱做变化趋势编码,特别地,由于第一个时间箱与自己做差值,差值永远等于0,其变化趋势码恒等于0;
图5是枚举了三连箱所有的识别概率变化趋势,当然,异常变化的定义同样需要根据实际的应用场景进行定义。
根据规则一至规则三,按照图5的判别,状态10在0.5s-1s的识别概率作为第二时间箱的识别概率,即中间箱的识别概率,“0、-、0”为所在的三连箱变化趋势编码,与前后两个识别概率有明显的一个下降,要进行修正;
而状态14在0.5s-1s的识别概率作为第二时间箱的识别概率,“0、-、--”所在的三连箱变化趋势编码,三个识别概率处于连续变低的状态,极有可能是状态正在从一个状态迁移到另一个状态,属于正常现象。通过上述判别方式可得到识别概率矩阵中的异常值,如图6所示。
识别概率区间的马尔可夫转状态转移矩阵,具体如下:
关于识别概率区间的转移概率的自定义,需要说明的几点注意事项是:
1:识别概率区间的划分需要根据应用场景具体情况具体分析,考虑到数据资源对模式识别模型效果的分类效果精确性的支持,过于细分的识别概率区间效果并无实际意义,本实施例中,识别概率区间为[0-0.2),[0.2-0.4),[0.4-0.6),[0.6-0.8),[0.8-1)区间,采用左闭右开的的结构;本实例中采用保守的识别概率修正策略,即修正的识别概率取识别概率区间的下确界,所以识别概率区间结构为左闭右开;当然也可采取积极的识别概率修正策略,即修正的识别概率取识别概率去就按的上确界,识别概率区间结构可以设计为左开右闭。
2:识别概率区间的转移概率在本例中不是重点关心的对象,可以通过统计或者模型训练得出转移概率,本发明中为简化问题,假设“相邻时间箱之间的识别概率相似”,利用专家法确定转移概率,其中:
每个区间自己转移到自己的概率为0.5,例如:p([0-0.2)|[0-0.2))=0.5;
距离越远的区间,转移概率越小,例如:
p([0.2-0.4)|[0-0.2))=0.2>p([0.4-0.6)|[0-0.2))=0.15;
等距的区间转移概率相等,例如:
p([0.2-0.4)|[0.4-0.6))=0.15=p([0.6-0.8)|[0.4-0.6))=0.15。
专家法确定的转移概率,距离越远的识别概率区间,转移概率越小,等距的识别概率区间转移概率相等,具体如图7所示。
综上两点,根据识别概率区间和识别概率区间的转移概率得到马尔可夫状态转移矩阵,得到自定义识别概率区间的马尔可夫状态转移矩阵。
根据异常值和马尔可夫转移矩阵,利用朴素贝叶斯先验概率对异常值进行修正,得到修正后的识别概率;具体如下:
将图7中的识别概率区间映射成随机变量x,得到随机变量表,如图8所示;然后获取各状态的异常值和其相邻的识别概率,再通过马尔科夫状态转移矩阵计算最大条件概率,即确定用于修正异常值的识别概率区间;根据随机变量表和用于修正异常值的识别概率区间,将异常值和其相邻的识别概率映射成随机变量,即把连续的识别概率变成离散的识别概率,如,状态10在0.5s-1s的识别概率作为中间时间箱得到的识别概率,所在的三连箱识别概率按图8的映射规则进行映射,得到映射结果如图9所示。
充分利用需要修正的时间箱前后时间箱中确定的识别概率,是为了基于马尔科夫状态转移矩阵和随机变量表将异常值映射为各随机变量,将中间时间箱的识别概率(异常值)映射为各随机变量后,再基于朴素贝叶斯分别与异常值相邻的识别概率映射成的随机变量形成状态转移路径,计算得到各状态转移路径下的转移概率,计算得到各状态转移路径下的转移概率,对各转移概率进行归一化处理,得到各归一化处理后的转移概率,如图10所示,图中xi表示第i个时间箱识别概率的随机变量,xi表示第i个识别概率区间。
显然,x2=x1与x2=x2归一化处理后的转移概率一样,同样的,出于保守的识别概率修正策略,修正为低的识别概率,故修正的识别概率区间取x2=x1,取修正区间的下确界作为修正的识别概率值,故“0.1、0.785、、0.2”的修正值为x1的下确界0,所以修正后的识别概率为“0.1、0、0.2”,修正完毕。
以上仅是本发明众多具体应用范围中的代表性实施例,对本发明的保护范围不构成任何限制。凡采用变换或是等效替换而形成的技术方案,均落在本发明权利保护范围之内。