当前位置:文档之家› 健康管理和隐马尔科夫模型HMM

健康管理和隐马尔科夫模型HMM

健康管理和隐马尔科夫模型HMM
健康管理和隐马尔科夫模型HMM

健康管理和隐马尔科夫模型HMM

1健康管理技术及模型工具HMM

1.1健康管理技术

1.1.1视情维修的思想

视情维修这一概念来源于美国,是最近几年才开始被广泛研究的一种新的维修方法。视情维修着眼于故障机理的分析,通过对不拆解系统进行测试分析,当目标系统出现潜在故障时就进行调整或维修,从而避免功能故障的发生[15,16]。

关于视情维修策略的定义,目前并没有统一的说法。概括讲,主要有两层意思:

(1)视情维修是类似于“事后维修”和“定期维修”,且只有当有确切依据显示故障正在迫近时,才对设备进行维修的一种维修思想。

(2)视情维修是用状态监测、评估来检查系统的潜在故障,据此来采取必要措施预防系统功能性故障,或者是避免功能性故障的后果[17]。

视情维修策略的理论依据就是P-F曲线[27],如图2-1所示,P-F曲线描述了设备状态劣化的过程。

图2-1 设备健康状况退化曲线图

Figure 2-1 Graph of equipment health degeneration

在设备工作的初始一段时间内,由于系统不存在故障,其健康指数为1,设备处于完好状态。随着设备工作时间的增加,设备会运行到A点“设备故障发生点”,设备中的某些部件或子单元出现故障,整个设备的健康状况开始发生劣化,健康指数不断下降。但是由于A点在P点“设备故障检测点”这一临界点之前,此时的设备故障程度不足以导致设备工作状态发生异常行为,或者目前的检测设备无法

检测到此时的状态劣化,因此设备仍然表现为正常工作状态。当设备工作到P点之后时,设备的健康指数会由于其潜在故障程度逐渐增强而继续下降,同时使用者也可以通过一定的技术手段检测到设备的异常工作行为。直到设备最终运行至临界点F点“设备功能失效点”,设备将无法正常工作。所以为了预防设备发生功能性故障,维修的时机应该在临界点F以前,而为了能够尽可能地利用设备的有效寿命,提高设备的工作周期,维修时机应该在临界点P之后。也就是说应该在P点和F 点之间寻找一个合适的点进行维修,这就是视情维修的基本思想。

设备元器件的磨损、疲劳、老化、腐蚀、失调等故障模式大都存在由潜在故障发展到功能故障的过程。设备的大部分故障是其状态劣化的结果,而状态的劣化是一个由量变到质变的过程。在这个过程中,总有些征兆可查,即表现为潜在故障。如果在设备状态的劣化未发生质变之前采取相应的预防措施,就能避免故障后果的出现。

1.1.2健康管理的基本概念

健康是指与期望的正常性能状态相比较的性能指标的下降或偏差程度。健康管理是指根据对目标系统的监测或诊断信息、可用维修资源和使用要求,对维修活动做出适当决策的能力[15,28]。

健康管理技术是故障预测与健康管理(Prognostic and Health Management ,PHM)策略的基础,是对复杂系统传统使用的机内测试(built- in test ,BIT)和状态监控能力的进一步扩展[18,29]。借助健康管理技术,可以识别和管理故障的发生、规划维修和供应保障,从而以较少的维修投入,实现视情维修和自助式保障[30]。

1.1.3健康管理的活动模型

健康管理作用的对象是诸如飞行器健康管理系统等复杂的大系统。健康管理设计是指从目标系统发生故障到恢复正常的一系列活动。围绕设备的生命周期,健康管理大致分为四个阶段[31,32],如图2-2所示

图2-2 健康管理活动模型

Figure 2-2 Model of health management

第一阶段是状态监测阶段[33]。为了保证目标系统的可用性,在线情况下,利用传感器、数据处理以及其它状态监测模块,采用一定的失效判据进行比较来在线监测目标系统当前的状态,并且可以根据预定的参数指标极限值或阈值来提供故障报警功能。

第二阶段是健康状况判定阶段。接收第一阶段的不同状态监测模块以及其它健康评估模块的数据,主要是评估被监测目标系统的健康状态,对于健康状态不好的系统采取适当措施,防止产生功能性故障。

第三阶段是故障诊断阶段。故障诊断是基于各种健康状态历史数据、工作状态以及维修历史数据等,在离线状态下分析健康状态不好的系统的具体故障原因。

第四阶段是维修阶段。通过修复或更换故障部件,使目标系统恢复到正常工作状态。

健康管理的四个阶段并没有明显的界限,存在着数据信息的交叉定义。

1.2HMM基本理论、算法

1.2.1HMM的基本概念

HMM是由马尔科夫(Markov)链发展而来的[34]。Markov链是一个离散随机过程,其特性是在已知目前状态(现在)的条件下,它未来的演变(将来)不依赖于它以往的演变( 过去)。在每个时刻,系统都只处于一个状态,每个状态对应一个观测值。

HMM 跟一阶Markov 过程有相似之处,不同的是HMM 由两个随机过程组成,一个是具有有限状态Markov 链的状态序列,描述状态的转移;另一个是受状态决定的观测值序列。HMM 模型中,不仅状态转移是随机过程,而且每个状态对应的观测值也是一个随机过程。其中观测值序列可以直接看到,而状态转移序列只能通过观测值序列去判定,即其状态是不确定或不可见的,因此称为隐马尔科夫模型。

1.2.2HMM 的基本参数

HMM 包括具有状态转移概率矩阵的Markov 链和输出观测值的随机过程。HMM 的参数描述如下所示[22,34,35,36]:

(1)N :HMM 中Markov 链的状态个数。假设有N 个状态,为N S S S S ,,,,321 ,在t 时刻时,Markov 链所处的状态为t q ,则),,,,(321N t S S S S q ∈;

(2) M :与每个Markov 链状态对应的观测值个数。假设有M 个观测值,为

M o o o o ,,,,321 ,在t 时刻的观测值为t o ,其中),,,,(321M t o o o o o ∈;

(3)π:初始概率分布矢量。),,,,(321N πππππ ∈,其中

N i S q P i i ≤≤==1),(1π (2-1)

1q 表示初始时刻1的状态;

(4)A :状态转移概率矩阵。N N ij a A ?=}{,其中

N j i S q S q P a i t j t ij ≤≤===+,1),|(1 (2-2)

(5)B :观测值概率矩阵,M N jk b B ?=}{,其中

M k N j S q V o P b j t k t jk ≤≤≤≤===1,1),|( (2-3)

这样,记HMM 为),,,,(B A M N πλ=,简写为),,(B A πλ=。

更形象地说,HMM 的两个随机过程,一个由A ,π描述,产生状态序列;另一个随机过程由B 描述,产生可以被观察者看到的观测值序列。HMM 的组成示意图如图2-3所示,其中T 为观测值序列的时间长度。

1 2

T 观测集

状态集

随机过程(B )

链 ,A )

图2-3 HMM

的组成框图 Figure 2-3 Diagram of HMM

1.2.3HMM 的结构类型

(1)按照HMM 的状态转移概率矩阵A 分类

HMM 的基本结构由HMM 中的Markov 链形状决定,常见的结构主要分为两种:各态遍历型HMM 和从左到右型HMM [22,34,35,36]。

各态遍历型HMM 就是经过有限步转移后,系统都能达到任何一个状态,即系统从一个状态允许转移到任何一个状态。如图2-4所示,这样的HMM 的状态转移矩阵中的每一个元素均大于零。显然各态遍历型HMM 不符合时间顺序的要求,因为其可以回到以前到过的状态,所以只适用于不要求时间顺序的领域,例如语音信号处理。

图2-4 各态遍历型HMM Figure 2-4 Ergodic type HMM

从左到右型HMM 是指随着时间的增加,状态只能从左到右进行转移或状态不发生转移,停留在原位置,而不能从右到左转移,如图2-5所示,即具有约束条件

j i a ij >=,0 (2-4)

因此,状态转移矩阵A 应该是一个上三角矩阵,主对角线下方的元素全为0。即

?????

?

?

??

???=443433242322

141312110

00000a a a a a a

a a a a A 对于从左到右型HMM ,状态的转移必须从1开始,所以其初始状态概率应该

具有如下特性:

1

,01

,1{≠==i i i π

(2-5)

由从左到右型HMM 的特性可知,对随时间变化的矢量信号,利用从左到右模型来建模比较合适,可以反映出信号的时序结构。虽然从左到右型HMM 中,对系统的转移概率特性加了很多限制,但对于HMM 的应用并没有产生影响。

图2-5 从左到右型HMM Figure 2-5 From left to right type HMM

(2)按照HMM 的输出概率分布矩阵B 分类:

按照HMM 的输出概率分布(B 参数)分类,可以将HMM 分为离散型HMM (DHMM )和连续型HMM(CHMM)[22,34,35,36]。B 参数是HMM 最重要的模型参数之一,它描述在某状态时观测序列符号的输出概率分布。

在连续型HMM 中,由于输出的观测序列是连续的,不是有限的,所以不能用矩阵表示其输出概率,而要改用概率密度函数来表示,一般是假设由高斯概率密度函数模拟产生。但在实际应用中,只是假设一个高斯概率密度函数往往不能满足要求,于是通常用几个高斯概率密度函数的线性组合模拟观测序列的产生。

在离散型HMM 中,每一个状态的输出概率是按观测值离散分布的。在实际应用中,采用离散型HMM 会影响系统的识别率,但离散型HMM 的应用广泛且计算量小,容易实现。

1.2.4HMM 的基本算法

利用HMM 之前,需要解决三个基本问题,围绕三个基本问题,人们提出了三类解决算法[22,34,35,36]。三个问题:

(1)评估问题:已知模型),,(B A πλ=,已知观测序列),,,,(321T o o o o O =,如何计算出现该观测序列的概率)|(λO P ,即解决由一个HMM 产生一个确定观测序列的概率大小,通常采用前向-后向算法;

(2)解码问题:已知模型),,(B A πλ=,已知观测序列),,,,(321T o o o o O =,如何求得一个状态转移序列),,,,(321T q q q q q =,使得该状态转移序列最有可能产生给定的观测序列,通常是由Viterbi 算法实现;

(3)训练问题:在不知模型参数或参数不准确的情况下,根据观测序列

),,,,(321T o o o o O =,如何求得模型参数,即解决如何通过一组观测序列在最大似

然意义上训练得到一个HMM 的参数,通常由Baum-Welch 算法训练。

针对HMM 的三个基本问题,介绍与之对应的三类算法: (1)前向-后向算法

给定模型λ,以及状态转换序列),,,,(321T q q q q q =,产生观测序列

),,,,(321T o o o o O =的概率为:

)()()()(),|(332211T qT q q q o b o b o b o b q O P =λ (2-6)

给定λ, 产生状态转换序列),,,,(321T q q q q q =的概率可以通过下面的公式计算:

T T q q q q q q q a a a q P 132211)|(-= πλ (2-7)

则产生O 和q 的联合概率为:

)|(),|()|,(λλλq P q O P q O P = (2-8) 考虑所有的状态转换序列,则

∑∑-=

=qT

q q T qT q q q q q q q q

o b a o b a o b q O P O P T T 21222111

1)()()()|,()|(1π

λλ (2-9)

理论上可以通过上面的公式,采用穷举所有可能的状态转换序列的办法计算观测序列O 的概率,但是计算量呈几何级数增加,大约为T TN 2数量级,这在实际中是无法承受的。为了降低计算复杂度,Baum 提出了前向-后向算法。

①前向算法:

首先定义前向变量:

)|,,,,,()(321λαi q o o o o P i t t t == (2-10)

)(i t α的含义是,给定模型λ,时刻t ,处在状态i ,并且部分观测序列是

t o o o o ,,,,321 的概率。

分三个步骤完成前向算法:

Step1 初始化:N i o b i i i ≤≤=1),()(11πα (2-11) Step2 迭代计算:

N j T t o b a i j t j N i ij t t ≤≤-≤≤??

?

???=+=+∑1,11),()()(111αα (2-12)

Step3终止: ∑==N

i t i O P 1

)()|(αλ (2-13)

图2-6 描述了式2-12的迭代关系。

1

s 3

s N

s 2

s 1

t o +)

1(1α)

2(2α3(3α)

(N N α)

(i t α)

(1j t +α

图2-6 前向变量的归纳关系

Figure 2-6 Inductive relationship of Prior variable

②后向算法 定义后向变量:

),|,,,o ()(21λβi q o o P i t T t t T ==++ (2-14)

)(i t β的含义是,在给定模型λ,时刻t ,处在状态i ,并且部分观测序列为

T t t o o 21o ++的概率。

分三个步骤完成后向算法:

Step1 初始化:N i i t ≤≤=1,1)(β (2-15) Step2 迭代计算:

∑=++≤≤-≤≤=N

i t t j ij t N j T t j o b a i 1

111,11),()()(ββ (2-16)

Step3终止: ∑==N

i i i i o b O P 1

11)()()|(βπλ (2-17)

图2-7描述了式2-16的迭代关系。

1

s 3

s N

s t

o 2

s )

(i t β)

(1j t +βt+1

图2-7 后向变量的归纳关系

Figure 2-7 Inductive relationship of Backward variable

前向概率公式和后向概率公式巧妙将整个观测序列对HMM 模型的输出概率分成两个部分观测序列的输出概率的乘积,这样可以大大简化计算量。

(2)韦特比算法(Viterbi Algorithm )

韦特比算法是一种动态规划算法,被广泛应用于通信领域中。虽然利用全概率公式方法,可以得到系统的输出概率,但是无法找到一条最佳的状态转移路径。为了弥补全概率公式的这点不足,引入Viterbi 算法。其不仅可以得到一条最佳的状态转移路径,而且可以得到该路径所对应的输出概率。

定义维特比变量)(i t δ为,给定模型λ,在时刻t 处于状态i ,观测到

t o o o o ,,,,321 的最佳状态转换序列为t q q q q ,,,,321 的概率,即

)|,,,,,,,,,(max )(32121λδt t t t o o o o i q q q q P i == (2-18)

求取最佳状态序列),,,(**2*1

*T q q q Q =的步骤为: Step1 初始化:N i o b i i i ≤≤=1),()(11πδ (2-19)

N i i ≤≤=1,0)(1? (2-20)

Step2 迭代计算:

N j T t o b a i j t j ij t N i t ≤≤≤≤=-≤≤1,2),(])([max )(11δδ (2-21)

N j T t a i j ij t N i t ≤≤≤≤=-≤≤1,2],)([max arg )(11δ? (2-22)

Step3终止: )]([max 1*i P T N i δ≤≤= )]([max arg 1*

i q T N i T

δ≤≤= (2-23) Step4求取各状态序列为

1,,2,1),(*11* --==++T T t q q t t t ? (2-24)

其中,)(i t δ为t 时刻第i 状态的累积输出概率,)(i t ?为t 时刻第i 状态的前续状态号,*t q 为最优状态序列中t 时刻所处的状态,*P 为最终的输出概率。

由于),|(),|(*λλO Q P O Q P ≥,),|(*λO Q P P ≈,所以可以用Viterbi 算法求似然概率)|(λO P 。

(3)Baum-Welch 算法

Baum-Welch 算法实际上是极大似然(ML )准则的一个应用,它采用了一种多次迭代的优化算法。为解决利用观测序列训练HMM ,使)|(λO P 最大,首先人为估计一个初始模型0λ,利用0λ和观测序列O ,通过前向-后向算法计算出

)|(0λO P ,然后通过使期望值最大化再次进行模型的训练得到新的模型λ,如果

新得到的λ,满足≤-)|()|(0λλO P O P 收敛阈值,训练得到了预期效果,训练结束,否则令λλ=0,进行反复迭代运算,直到达到收敛条件。具体描述如下:

定义变量),(j i t ξ

),|,(),(1λξO j q i q P j i t t t ===+ (2-25)

),(j i t ξ的含义是,给定模型λ和观测序列O ,在时刻t 处在状态i ,时刻t+1处在状态j 的概率。

),(j i t ξ可以进一步写为: ∑∑==+++++++=

====

N i N

j t t j

ij

t

t t j ij t t t j ij t t t t j o

b a i j o b a i O P j o b a i O P O j q i q P j i 11

11

11111)

()()()

()()()

|()

()()()|()|,,(),(βαβαλβαλλξ (2-26)

图2-8给出了式2-26所表达的前向变量)(i t α、后向变量)(1j t +β与概率),(j i t ξ之间的关系。

t t+2

图2-8 ),(j i t ξ与前向变量、后向变量之间的关系

Figure 2-8 Relationship between ),(j i t ξ and Prior-Backward variables

定义变量)(i t γ,令其表示在给定模型以及观测序列的情况下,t 时刻处在状态i 的概率,则有:

∑=======N

j t t t t t t j i O P i i O P O i q P O i q P i 1

),()|()()()|()|,(),|()(ξλβαλλλγ (2-27)

∑-=1

1

)(T t t

i γ

表示观测序列O 中从状态i 出发的转换的期望次数,∑-=1

1

),(T t t j i ξ表示观测

序列O 中从状态i 到状态j 的转换的期望次数。

关于B A ,,π,一种合理的估计方法如下

① )(1i i γπ= (2-28)

即i π表示在1=t 时处在状态i 的期望次数。 ② ∑∑-=-==

11

1

1)

()

,(T t t

T t t ij i j i a γξ (2-29)

即ij a 等于从状态i 到状态j 的转换的期望次数除以从状态i 出发的转换的期望次数。

③ ∑∑==?=

T

t t

T

t k t t

j j v o j k b 1

1

)

()

,()()(γ

δγ

(2-30)

其中,当k t v o =时,1),(=k t v o δ

当k t v o ≠时,0),(=k t v o δ

即)(k b j 等于在状态j 观测到k v 的期望次数除以处在状态j 的期望次数。 训练后,得到模型),,(B A πλ=。Baum 等人已经证明了)|()|(λλO P O P ≥,即估算模型λ比估算前模型λ更好的解释了观测序列O 。

1.2.5多观测序列的训练算法

为了增加HMM 模型的泛化特性,需要利用多个观测样本来训练HMM ,而不能使用单个的观测样本序列来训练模型,即单观测样本序列不利于模型参数的重估。这是因为模型的内部状态具有暂态本质,这限制了用于每一个状态的观测值数量。经典的Baum-Welch 算法中,参数重估公式是在假设只有一个观测序列的条件下推导出来的。而在实际应用中,都是有大量观测序列参与训练的。因此,采用足够的数据集进行训练,可以提高模型参数的精度,利用多观测样本序列也就成为了训练HMM 的必然要求[37]。

利用多观测序列来训练HMM 时,必须修正Baum-Welch 算法的重估公式。假设有K 个观测序列:],,,,[)()3()2()1(K O O O O O =,其中

],,,,[)

()

(3)

(2)

(1)(k T k k k k k

O O O O O =,k T 表示第k 个观测序列的长度,在不影响训练效

果的前提下,一般都取等长度观测序列,即所有T T k =,并要求所有的观测序列相互独立。

进行HMM 的训练,就是为了调整模型λ的参数,能够使下列公式的值为最大:

∏∏====K

k K

k k k P O P O P 11)()|()|(λλ (2-31)

在进行模型估计时,实现不知道观测数据的概率,重估公式是以观测事件出现的频率为输入参数的,所以将每一个观测样本出现的频率相加就可以得到多个

观测样本的重估公式。假设有K 个观测样本参与模型训练,Baum-Welch 重估公式修正为:

① ∑=≤≤=K

k k k k i N i O

P i i 1)

()(1)(11,)|()

()(λβαπ (2-32)

② N j N i O P j i O

P j O b a i a K k T t k k t k t

K k T t k k t k t j ij k t ij K K ≤≤≤≤=

∑∑∑∑=-=+=-=++1,1,)

|(/)()()|(/)()()(11

1

)()(1)

(11

1

)

()(1)(1)(λβα

λβα

(2-33)

即 ∑∑∑∑=-=+=-=++=

K k T t k t k t

K

K

k T t k t k t j ij k t K

ij K K j i P j O b a i P a 111

)(1)

(111

)

(1)(1)

()

()(1

)

()()(1βα

βα

(2-34)

③ M l N j O P j j O P j j l b K k T t k k t k t K k T v o t k k t k t j K K l t ≤≤≤≤=

∑∑∑∑=-==-==1,1,)

|(/)()()

|(/)()()(11

1

)()()(11

,1)()()(λβα

λβα

(2-35)

即 ∑∑∑∑=-==-===

K k T t k t k t

K

K

k T v o t k t k t K j K K l

t j j P j j P l b 11

1

)()(11,1)()()

()(1)

()(1)(βα

βα

(2-36)

利用这些改进的Baum-Welch 多观测样本重估公式,可以方便地解决实际问题。

2 基于HMM 的安全计算机平台状态监测研究

状态监测是健康管理技术的基础,是状态评估和故障诊断的前提。实现对安全计算机平台的状态监测,可以动态地分析系统的特征数据,全面、准确地了解安全计算机平台。为了研究的方便,本章根据CBTC 系统安全计算机平台的功能需求,利用通用计算机搭建安全计算机平台的仿真环境,模拟实际的安全计算机平台,提取有效的状态监测数据,进行平台的状态监测研究。

2.1 安全计算机平台的HMM 设计

电子器件制造出来后,其性能会逐渐退化。然而电子系统的状态情况很难直接观测到(隐藏的),能够观测到的常常是电子系统表现出来的与状态相对应的信号特征,实际上只能依靠这些信号特征去推理系统的状态。安全计算机平台作为大量电子设备的集成,其健康状况的劣化过程与其它电子系统一致,因此用HMM 可以很好的描述安全计算机平台的状况变化情况。

在传统的安全计算机平台故障诊断中把平台的状态划分为两类:正常态和故障态。而安全计算机平台的状态是一个逐渐劣化的过程。如果能将安全计算机平台的生命周期划分为正常态、若干中间态、故障态,就可以更准确地表达系统状态,也能进行更好的安全计算机平台管理。这些中间态是无法直接观测的,只能通过观测到的信号特征推理得到。

安全计算机的故障程度随着使用时间逐渐加深,从正常态到故障态具有不可逆性,因此采用从左到右型HMM 来进行状态监测和故障诊断。图3-1将安全计算机的状态分为四类:正常态(0),弱故障态(1),中间故障态(2),完全故障态(3)。其中)3,2,1,0,(=j i a ij 是状态转移概率,)3,2,1,0(=k O k 表示与各状态对应的观测序列。可见,从左到右型HMM 可以真实反映平台健康状况不断劣化和故障发展的不可逆性并最终发展为完全故障的过程。

22

11

图3-1 安全计算机平台的HMM 结构 Figure 3-1 Module diagram of SCP

安全计算机在工作开始时,一般认为总处于正常工作状态下,从而初始概率分布为]0,0,0,1[=π,状态转移概率矩阵A 能够反映过程状态序列相关信息,在初始时刻一般设为均匀分布或非随机数,状态转移概率为:

?????

????

???=10

000000232212110100

a a a a a a A 2.2 基于HMM 的安全计算机平台状态监测原理

利用HMM 进行安全计算机平台的状态监测过程如图3-2所示[13]。

图3-2 基于HMM 的状态监测流程图 Figure 3-2 Flow chart of state monitor based on HMM

整个监测过程包括三个方面的内容: (1)状态观测数据的提取与预处理

如何有效提取能够反映安全计算机平台健康状况的观测数据,是状态监测研究的重点。一般是从安全计算机平台的输出响应中,提取合适的观测数据。进行准确的状态监测,需要在同一状态下提取多次观测数据。由于提出的观测数据一般会具有冗余和高维的特点,直接进行状态监测,不但会增大计算量,而且会造成监测效率的降低。因此,往往需要对提取的原始观测数据进行预处理,实现更精确的状态监测目的。在状态监测过程中,需要提取正常态的状态观测数据作为参考。通过提取安全计算机平台当前状态的观测数据,推断出当前系统的状态情况。

(2)正常态HMM 的训练

对于离散型HMM ,为了增加训练得到的HMM 稳定性,训练时采用多组观测序列重估算法,需要对多次观测数据进行重新组合,每L 次观测数据构成一个观测序列,这样会得到多组观测序列。从正常态的观测序列中,随机选取若干组,进行正常态HMM 的训练。模型参数],,[B A πλ=由Baum-Welch 算法得到。

(3)健康评估决策

将从安全计算机平台提取的待测状态的观测序列,送入正常态的HMM 中,由此可以根据前向-后向算法或Veterbi 算法计算出正常态下产生待测观测序列的似然概率,根据似然概率的大小,可以判断系统当前状态的优劣。似然概率的绝对数值并没有太大意义,不同情况之间的似然概率相对值才更有说明价值。似然概率越大,健康状况越好,反之越差。假如在状态评估阶段,设置合适的状态阈值点,可以推断出系统当前所处的具体状态。

3 基于HMM 的安全计算机平台故障诊断研究

故障诊断是指对系统运行状态和异常情况作出判断,并为系统故障恢复提供依据的活动,包括故障检测和故障定位两个过程。准确定位故障,是健康管理的另一个重要应用。

CBTC系统安全计算机平台,通过以太网实现各单元间的相互通信,工作过程中,不可避免会受到各种干扰。干扰会影响系统正常的通信,从而造成通信的阻塞等问题,影响系统的正常工作时的周期时间。当影响达到一定程度时,正常工作的微周期消耗时间会超过微周期的定时时间,影响处理单元PU1和PU2的同步,造成双机失步。本章以仿真安全计算机平台模拟实际的CBTC系统安全计算机平台,从信号干扰的角度,模拟故障的发生,进行系统故障诊断的研究。

3.1 HMM在安全计算机平台故障诊断中的优势

将广泛应用于语音识别领域的HMM,引入到安全计算机的故障诊断中,主要是因为以下几个理由[13]:

(1)HMM适用于双重随机过程。HMM本身包含两个随机过程,不仅状态转移是随机的,而且每个状态对应的观测值也是一个随机过程。在不知道状态变化过程的情况下,可以通过观测序列去推导出状态的存在及其特性。通过上一章可知,安全计算机平台等电子系统的故障过程就是一个典型的双重随机过程,设备的潜在故障是不能直接看到的,却可以通过监测相应的预测信号来辨识故障的发生。

(2)HMM具有易于训练的特点。HMM是一个典型的参数模型,其参数可以通过有效的训练算法进行估计。安全计算机平台的故障种类多种多样,同一种类的故障原因也都各不相同。利用Baum-Welch算法可以方便的训练出每一个故障的HMM,建立起安全计算机平台的故障诊断库,为以后的故障定位提供了方便。

(3)独立的多个模型。用多个独立的HMM去描述系统的不同故障类型是非常容易的。即每类故障均对应一个HMM,这保证了模型诊断的精确性。此外,当出现一个新的故障类型时,只需简单增加一个HMM而不影响其它已训练好的HMM。

3.2 基于HMM的安全计算机平台故障诊断原理

基于HMM的故障诊断与基于HMM的状态监测原理相似,故障诊断过程如图4-1所示[13,50,51,52]。

图4-1 基于HMM 的故障诊断流程图

Figure 4-1 Flow chart of fault diagnosis based on HMM

故障诊断过程包括三个方面的内容: (1)状态观测数据的提取与预处理

同状态监测过程一样,提取合适的原始样本数据是故障诊断过程的重要环节。由于原始数据常常具有冗余性和高维性的特点,直接进行HMM 训练会降低准确率。此外,故障诊断需要提取不同故障的观测数据,观测数据的类型结构可能各不相同,因此在故障诊断中,更有必要对原始观测数据进行预处理,使其满足后继处理的需要,同时方便数据的传输和存储[33]。

系统的故障种类多种多样,为了提高诊断的准确性,需要研究系统所有的故障模式,并提取每一种故障对应的观测数据。此外,需要提取系统正常态的观测数据,作为参考。

(2)故障模式HMM 的训练

利用获得的观测序列,通过Baum-Welch 算法进行似然估计模型参数

),,(B A πλ=,为了提高HMM 的稳定性,需要采用多个观测序列的重估算法。

需要训练系统所有故障模式的HMM ,构成系统的故障诊断库。故障诊断的基本思路是当系统发生故障时,用观测数据去寻找故障诊断库中对应故障模式的HMM 。

(3)故障诊断决策

将发生故障时,系统的观测数据送入故障诊断库,利用前向-后向算法或Viterbi算法计算观测数据在每一种故障模式下的似然概率)

O

P,似然概率最大

(

|

的HMM决定系统当前的故障类型。

隐马尔科夫模型

隐马尔科夫模型 一、引入 二、定义 三、隐马尔科夫模型的计算 (1)估值问题 (2)解码问题 (3)训练问题 四、隐马尔科夫各种结构 H M M的由来 ?1870年,俄国有机化学家V l a d i m i r V.M a r k o v n i k o v第一次提出马尔科夫模型 ?马尔可夫模型和马尔可夫链

? 隐式马尔可夫模型(H M M ) 马尔可夫性 ? 如果一个过程的“将来”仅依赖“现在”而不依赖“过去”,则此过程具有马尔可夫性,或称此过程为马尔可夫过程 ? X (t+1) = f(X(t)) 马尔可夫链 ? 时间和状态都离散的马尔科夫过程称为马尔科夫链。 设在时刻t 的随机变量用t S 表示,其观察值用t s 表示,则如果当11s S ,

22s S =,……,t t s S =的前提下,11++=t t s S 的概率是如下式所示,则称为n 阶Markov 过程。 )|()|(1 1 111111t n t t n t t t t t t t s S s S P s S s S P +-+-++++===== (1) 这里t S 1 表示1S ,2S ,……,t S ,t s 1 表示1s ,2s ,……,t s ,t t s S 11=表示11s S =, 22s S =,……,t t s S =。特别的当如下式成立时,则称其为1阶Markov 过程, 又叫单纯马尔可夫过程。 )|()|(111 111t t t t t t t t s S s S P s S s S P =====++++ (2) 即:系统在任一时刻所处的状态只与此时刻的前一时刻所处的状态有关。而且,为了处理问题方便,考虑式(2)右边的概率与时间无关的情况,即: )|[)1,(1i t j t ij s S s S P t t P ===++ (3)

基于离散隐马尔科夫模型的语音识别技术

第24卷 第2期 2007年6月 河 北 省 科 学 院 学 报Journal of the Hebei Academy of Sciences Vol .24No .2June 2007 文章编号:1001-9383(2007)02-0008-04 基于离散隐马尔科夫模型的语音识别技术 高清伦,谭月辉,王嘉祯 (军械工程学院计算机工程系,河北石家庄 050003) 摘要:概述语音识别技术的基本原理,对当前三种主要识别技术———动态时间规整技术、隐含马尔科夫模型 技术及人工神经网络技术进行比较,重点介绍基于离散隐马尔科夫模型(DH MM )的语音识别系统的实现。关键词:语音识别;隐马尔科夫模型;动态时间规整;人工神经网络中图分类号:T N912.34 文献标识码:A Speech recogn iti on technology ba sed on d iscrete H MM GAO Q ing 2l un,TAN Yue 2hu i,WAN G J i a 2zhen (D epart m ent of Co m puter Engineering,O rdnance Engineering College,Shijiazhuang Hebei 050003,China ) Abstract:The conditi on and the basic p rinci p le of s peech recogniti on technol ogy are intr oduced,three differ 2ent kinds of s peech recogniti on syste m s such as DT W ,H MM ,ASR are compared,and p lace e mphasis on how t o realize DH MM in s peech recogniti on syste m is p resented e mphatically . Keywords:Speech recogniti on;H idden Markov Model (H MM );Dyna m ic Ti m e W ar p ing (DT W );A rtificial Neural Net w ork (ANN ) 语音识别技术是语音信号处理技术一个重要的研究方向,是让机器通过识别和理解过程把人 类的语音信号转变为相应的文本或命令的技术,它属于多维模式识别和智能计算机接口的范畴,涉及到声学、语音学、语言学、计算机科学、信号与信息处理和人工智能等诸多学科,是21世纪衡量一个国家信息科学技术发展水平的重要标准之一。 1语音识别技术概述 语音识别系统本质上是一种模式识别系统, 目前有很多语音识别算法,但其基本原理和基本 技术相似。一个完整的语音识别系统一般都包括有特征提取、模式匹配和参考模式库3个基本单元,它的基本结构如图1所示。 (1)特征提取 所谓特征提取就是从语音信号中提取用于语 音识别的有用信息,其基本思想是将预处理过的信号通过一次变换,去掉冗余部分,而把代表语音本质特征的参数抽取出来,如平均能量、平均跨零率、共振峰、LPC 系数、MFCC 系数等。 图1语音识别系统基本结构 (2)模式匹配 这是整个语音识别系统的核心,它是根据一定规则(如H MM )以及专家知识(如构词规则、语法规则、语义规则等),计算输入特征与参考模式 3收稿日期:2007-01-26 作者简介:高清伦(1976-),男,河北沧州人,硕士,主要从事信息工程理论应用方面的研究.

基于隐马尔科夫模型的股指预测

基于隐马尔科夫模型的股指预测和股指期货模拟交易研究 张莎莎河南大学在读研究生商学院 引言 计算标的股票价格的加权值得到的结果,即是股票指数。股指期货也可称为股价指数期货、期指,是指以股价指数为标的物的标准化期货合约,双方约定在未来的某个特定日期,可以按照事先确定的股价指数的大小,进行标的指数的买卖,到期后通过现金结算差价来进行交割。2010年2月20日,中国金融期货交易所沪深300股指期货合约,以及详细的业务规程,由中国证监会正式批准施行。自2010年4月16日以来,在上海和深圳将近有300个股票指数期货合约正式开始交易。与股指期货相对应的是套期保值、组合风险管理和风险套利。对股票指数的预测,如果投资者判断的方向正确,那么就可以获得高回报,否则他们将遭受巨大损失。无论是在哪个或者领域,人们都希望找到一种能够预测股票走势的定量方法,以达到获得超额收益的目的。所谓的市场时机,就是要选择购买(做多)和卖出(做空)的时间,创造一套模拟程序来预测指数走势。根据时间和方法的选择,可划分为基本的定时和定时技术。基于时机的宏观经济,能够影响资产价格或行业预测的资产价格,一般适用于长期市场,决定未来发展趋势;而定时技术的选择,即使是在重复类似的交易价格的前提下,来确定资产价格的趋势,只要有足够的自由裁量权的赢家还是可以获得超额收益,主要适用于短期市场甚至高频市场。早在上世纪八十年代末,就有国外学者把隐马尔可夫模型定义为一个双重嵌套的随机过程。而国内金融工程领域对该模型的研究尚处于不成熟阶段。罗军2009年做出的广发证券研究报告表明,在国内,该模型在周择时的应用上还是卓有成效的。 一、相关理论 (一)马尔科夫过程 马尔科夫过程,指的是一类具有马尔科夫性的随机过程,因安德烈·马尔可夫(A.A.Markov,1856-1922)而得名。对于这个过程,如果该过程当前的状态是确定的,那么与之相应的过去的历史状态和以后的未来状态是不相关的。可将其定义如下:

基于隐马尔可夫模型(hmm)的模式识别理论

基于隐马尔可夫模型(hmm)的模式 识别理论 报告人: 时间:2020年4月21日 地点:实验室

概述 基于隐马尔可夫模型(hmm)的模式识别方法在模式识别中有着广泛的应用。如语音识别、手写字识别、图想纹理建模与分类。hmm还被引入移动通信核心技术“多用户的检测”。近年来,另外在生物信息可学、故障诊断等领域也开始得到应用。 近几年已经已被学者用于人脸识别的研究之中,是今年来涌现出来的优秀人脸识别方法之一。 经过不断改进,尤其是最近的嵌入式隐马尔可夫模型(ehmm)已经在人脸识别方面取得很大的进展,经过实验,识别率较高,有很好的鲁棒性等优点。 隐马尔可夫模型基本理论依据来源于随机过程中马尔可夫过程理论。

马尔可夫及其马尔可夫过程 马尔可夫(A. Markov ,1856—1922)俄国数学家. 他开创了一种无后效性随机过程的研究,即在已知当前状态的情况下,过程的未来状态与其过去状态无关,这就是现在大家熟悉的马尔可夫过程.马尔可夫的工作极 大的丰富了概率论的内容,促使它成为自然科学和技术直接有关的最重要的数学领域之一. 在工程技术方面目前已被广泛用于通信,模式识别方面。

x(t) 与马尔可夫过程相关的概念. 随机变量与随机过程把随机现象的每个结果对应一个数,这种对应关系 称为随机变量.例如某一时间内公共汽车站等车乘客的人数,电话交换台 在一定时间内收到的呼叫次数等等,都是随机变量的实例. 随机过程随机过程是一连串随机事件动态关系的定量描述.即和“时间” 相关的随机变量。一般记为x(t)。比如在一天24小时,在每个整点时刻徐 州火车站的旅客数量。 马尔可夫过程与马尔可夫链设x(t)是一随机过程,过程在时刻t0+1所处 的状态与时刻t0所处的状态相关,而与过程在时刻t0之前的状态无关,这 个特性成为无后效性.无后效的随机过程称为马尔可夫过程(Markov Process). 举例:比如在万恶的旧社会流离失所的百姓在每天的饥饿程度是一个随机 过程。假如他们在t0时刻(今天)的饥饿状态是五分饱,他们在t0+1所 (明天)的饥饿状态的概率取决于t0时刻(今天),而和t0时刻(今天) 之前(昨天、前天。。。)无关。这样的一个随机过程就是一个马尔可 夫过程。

基于隐马尔科夫模型的移动应用端行为模式识别

摘要:随着移动应用的普及,作为恶意行为识别的基础,移动应用端的行为模式分析也成为当前研究热点。本文创新地从系统环境数据入手,通过对系统多方面数据的监控,建立隐马尔可夫模型,使用该模型对后续行为产生的系统环境数据进行隐马尔科夫估值计算,从而实现对后续行为模式的识别,同时在后续识别过程中不断优化模型。本文通过实验证明该方式具有一定有效性,为移动应用端行为模式识别提供了更多可能。 关键词:移动应用端;隐马尔可夫模型;行为模式 中图分类号:tp311.5 文献标识码:a 文章编号:1006-4311(2016)19-0173-03 0 引言 在移动设备迅速普及的今天,开展移动安全性研究势在必行。目前针对移动应用端恶意行为检测的方式主要是对移动应用端的应用程序进行反编译,分析其源码是否存在于恶意行为代码特征库,以此作为评判标准。但随着恶意行为代码特征库的不断增加会导致系统开销增大,检测速度变慢。另外,随着黑客们使用的代码混淆技术的发展,也使之能够逃避这种静态分析手段[1]。 因为程序的运行会造成系统环境数据变化,所以系统环境数据可以反映系统运行情况。本文提出一种基于隐马尔可夫模型的行为模式识别方式,通过对移动应用端系统运行环境的cpu使用率、内存使用率、进程数、服务数、流量数监测获得时间序列数据,对特定行为进行隐马尔科夫建模,以待测行为的时间序列与特定的模型之间相似度为评判标准,并在每次评判之后优化模型[2]。该方法目的在于有效识别行为模式,对移动端恶意行为分析的后续研究提供前提,丰富了行为检测的手段,具有一定的实用价值。 1 马尔可夫模型介绍 2 隐马尔可夫模型介绍 2.1 隐马尔可夫模型 在马尔可夫模型中,每一个状态代表一个可观察的事件。而在隐马尔科夫模型中观察到的事件是状态的随机函数,因此隐马尔科夫模型是一双重随机过程,其中状态转移过程是不可观察的,而可观察的事件的随机过程是隐蔽的状态转换过程的随机函数(一般随机过程)[3]。对于一个随机事件,有一观察值序列:o=o1,o2,…ot,该事件隐含着一个状态序列:q=q1,q2,…qt。 2.2 隐马尔科夫模型使用前提 假设1:马尔可夫性假设(状态构成一阶马尔可夫链)p(qi|qi-1…q1)=p(qi|qi-1)假设2:不动性假设(状态与具体时间无关)p(qi+1|qi)=p(qj+1|qj),对任意i,j 成立。 假设3:输出独立性假设(输出仅与当前状态有关)p(o1,…ot|q1,…,qt)=∏p(ot|qt)隐马尔科夫模型在解决实际问题的过程中,需要事先知道从前一个状态st-1,进入当前状态st的概率p(st|st-1),也称为转移概率,和每个状态st产生相应输出符号ot的概率p(ot|st),也称为发射概率。描述它的数学表达式为:λ={n,m,a,b,∏},下面对各个参数逐一描述: n表示隐状态s的个数,其取值为{s1,s2,…,sn}, m表示显状态o的个数,其取值为{o1,o2,…,on}, 2.3 隐马尔科夫可以解决的三个问题 ①评估问题:已知一个显状态序列o={o1,o2,…,on},并且有确定的λ={n,m,a,b,∏}组成的hmm参数,求发生此显状态的概率p(o|hmm)有效的解决算法是前向算法。 3 基于隐马尔科夫的移动应用端行为模式识别 3.1 获取时间序列

基于隐马尔可夫模型的入侵检测方法

基于隐马尔可夫模型的入侵检测方法 赵婧,魏彬,罗鹏 摘要:针对当前网络安全事件频发以及异常检测方法大多集中在对系统调用数据的建模研究上等问题,提出一种基于隐马尔可夫模型的入侵检测方法。该算法基于系统调用和函数返回地址链的联合信息来建立主机进程的隐马尔可夫模型。此外,针对常用训练方法存在的不足,设计了一种快速算法用以训练模型的各个参数。实验结果表明:基于系统调用和函数返回地址链的联合信息的引入能够有效区分进程的正常行为和异常行为,大幅度降低训练时间,取得了良好的运算效果。 关键词:入侵检测;隐马尔可夫模型;系统调用序列 入侵检测作为一种网络安全防卫技术,可以有效地发现来自外部或内部的非法入侵,因此针对入侵检测算法的研究具有重要的理论和很强的实际应用价值。 基于动态调用序列对系统的入侵行为进行发掘是入侵检测领域主要的检测方法之一。自Forrest在1996年首次提出使用系统调用进行异常检测的思路和方法以来,有很多基于此的改进算法被提出。 文献提出一种基于频率特征向量的系统调用入侵检测方法,将正常系统调用序列抽取出的子序列的频率特征转换为频率特征向量。文献提出基于枚举序列、隐马尔科夫2种方法建立系统行为的层次化模型。然而,这类方法在误报率以及漏报率方面仍与实际需求有着一定的差距。 此外,由于隐马尔可夫模型(hiddenmarkovmodel,HMM)是一种描述离散时间内观察数据非常强大的统计工具,因此在基于主机的入侵检测研究中,HMM方法是目前重要的研究方向之一。 美国新墨西哥大学的Warrender等首次于1999年在IEEESymposiumonSecurityandPrivacy 会议上提出将HMM应用于基于系统调用的入侵检测中。2002年,Qiao等提出使用HMM对系统调用序列进行建模,利用TIDE方法划分状态序列的短序列,建立正常数据的状态短序列库来进行检测。2003年,Cho等提出用HMM对关键的系统调用序列进行建模。文献设计了一种双层HMM模型进行入侵检测,而其中所用到的训练方法存在局部最优以及时间效率较低等问题限制了其在实际中的应用。文献依据在网络数据包中发现的频繁情节,设计了基于HMM的误用检测模型。文献设计了一种基于节点生长马氏距离K均值和HMM的网络入侵检测方法。近些年,针对此方面的研究热度依然不减。然而,从目前的研究情况看,虽然基于隐马尔可夫模型的入侵检测技术能取得较好的检测效果,但是也存在着如下几个问题: 1)基于HMM的入侵检测技术主要集中在对主机的命令序列或者系统调用序列进行建模,单一的数据源提供的信息较少,因此检测效果仍然不够理想。 2)在线学习问题,隐马尔可夫模型的建立需要消耗大量的时间和空间对参数进行调整学习,这导致了HMM难以得到有效的利用。综上所述,为克服现有模型算法所存在的问题,提出一种新的基于系统调用和进程堆栈信息的HMM入侵检测方法,该方法的主要思想是将系统调用和函数返回地址信息作为检测数据源,并利用HMM来构建主机特权进程的正常行为模型。其次,针对经典模型训练法存在局部最优且算法的复杂度较高等问题,设计一个更为简单的训练算法来计算HMM的参数,进而提升算法效率。最后,设计了附加观察值和附加状态等参数,用以消除非完备的数据以及零概率对模型的影响。 1、隐马尔可夫模型 马尔可夫模型中的每个状态都与一个具体的观察事件相互对应,但实际问题可能会比Markov链模型所描述的情况更复杂,人们所能观察到的事件一般情况下并不是与状态完全

隐马尔科夫

隐马尔科夫模型 1.隐马尔科夫模型的定义及相关术语 定义:隐马尔科夫模型是关于时序的模型,其描述一个隐藏的马尔科夫链随机生成不可观测的随机状态序列,再由各个状态生成一个观测,从而生成可观测的随机序列的过程。 状态序列:隐藏的马尔科夫链随机生成状态序列; 观测序列:每一个状态可以生成一个观测,则状态序列可以生成观测序列。 模型参数:隐马尔科夫模型有三个参数:初始概率分布π,状态转移概率分布A,观测概率分布B。 2隐马尔科夫模型建立基于的假设 (1)齐次马尔科夫性假设。 隐藏的马尔科夫链在任意时刻t的状态只依赖于其前一刻的状态,与其他时刻的状态和观测无关,也与t时刻无关。 (2)观测独立性假设。 任意时刻的观测只与本时刻的状态有关,与其他状态及观测无关。 3隐马尔科夫的三个问题 (1)概率计算问题。给定隐马尔科夫模型λ=(π,A,B)和观测序列O,计算在该模型下,该观测序列出现的概率。 (2)学习问题。隐马尔科夫模型参数的学习。给定观测序列,估计模型λ=(π,A,B)的参数,使得在该模型下该观测序列出现的概率最大。 (3)预测问题。给定模型参数和观测序列,求最有可能的状态序列。 4.概率计算 前向计算和后向计算。<统计学习方法>P177有例子。 5.学习算法 (1)监督学习。 根据观测序列和状态序列组合。采用极大似然的思想估计状态转移概率:

^1a =ij ij N j A Aij =∑ 其中,ij A 表示训练集中状态i 转移到状态j 中频数。 同样可以得到,状态为j 观测为k 的概率: ^1jk ij M jk k B b A ==∑ (2)非监督学习方法。 当我们只知道观测序列O 而不知道状态序列I 时,可以将状态序列I 看做隐变量,从而采用EM 算法进行求解,则我们要求解的目标是: (|)(|,)(|)I P O P O I P I λλλ=∑ EM 算法的E 步: Q 函数: 其中(,|)(|,)|P I O P I O P λλλ---= (O ),因为分母为常数,所以省略。即上式仍符合: (,)=(log (,|)|,)I Q E P O I O λλλλ--的形式。 有: i11112221(,|)=()()...()i i i i iT iT iT T P O I b o a b o a b o λπ- 则: i1()(1)()11(,)log (,|)(log())(,|)(log(()))(,|) T T i t i t i t t I I t I t Q P O I a P O I b o P O I λλπλλλ---- +===++∑∑∑∑∑ 上式,右侧的三项分别独自包含了模型参数的一项,下面分别对每一项进行分析。 对第一项运用朗格朗日乘子法计算: 首先写出拉格朗日函数: i 1i 11log (,|)(()1)N N i i P O i i r πλπ-===+-∑∑ s.t. i 1)1)N i π=-∑=0; 对i π求偏导并令结果为0得到: 1i (,|)0P O i i r λπ- =+= (2)

基于隐马尔科夫模型的命名实体识别

基于马尔科夫模型的命名实体识别 NE识别的数学描述 利用HMM解决序列标注问题,即给定一个观察值的序列,要寻找一个最优的标记序列,使得条件概率最大。根据贝叶斯公式可得: 在NE识别问题中,X是给定的句子,观察值为词性或词,则上式中P(X)对所有的类别都是一样的,因此可以忽略不考虑。则上面的公式可以转化为下面的形式: 即HMM实质式求解一个联合概率。上式中的标记序列Y可以看做是一个马尔科夫链,则对上式利用乘法公式有: 基于HMM的NE识别的问题就是如何在给定的模型下,从一定观察值序列的所有可能的状态下,选取最有的标记序列。常用的方法是viterbi算法,它属于动态规划算法,动态规划的思想是把问题分解,先解决最基本的子问题,再逐步外推寻找更大的子问题的最优解,在有限步后达到整个问题的最优解,即得到最有的NE标记序列 隐马尔科夫模型 观察到的事件是状态的随机函数,该模型是一个双重的随机过程,其中模型的状态转换过程是不可观察的。可观察的事件的随机过程是隐藏的状态转换过程的随机函数。形式化的描述为一个五元组。 1. S表示模型中的状态,N是模型的状态数。所有独立的状态定义为,且用来表示t时刻的状态。 2. O表示每个状态的观察值,M表示每个状态上对应的可能的观察值的数目。观察值对应于模型系统的实际输出,观察值记为: 3. 状态转移概率矩阵,其中,1<=i,j<=N,表示从状态i转移到状态j的概率,满足:>=0,;且。 4. 输出观察值概率分布矩阵,其中表示在状态下,t时刻出现的概率,即,1<=j<=N,1<=k<=M. 5. 初始状态分布向量,其中,即在t=1时刻处于状态的概率,满足:。 HMM模型需解决的三个问题: (1)评估问题。给定一个观察序列,以及模型,如何有效的计算,也就是这个观测序列有多大可能是由该模型产生的; (2)解码问题。给定观测序列以及模型,如何选择一个状态序列,使得观测序列O式最具可能的,即求解; (3)学习问题。如何能够通过调整参数以最大化 ICTCLAS分词的词性列表 名词(1个一类,7个二类,5个三类) 名词分为以下子类: n 名词 nr 人名 nr1 汉语姓氏 nr2 汉语名字 nrj 日语人名 nrf 音译人名 ns 地名

基于隐马尔科夫模型的人脸识别

基于隐马尔科夫的人脸识别 1人脸检测及常用算法 人脸检测,指的是从输入的图像(或者视频)中确定人脸的位置、大小和姿态的过程, 是进行人脸识别的基础,也是实现人脸识别功能的一个关键环节。 人脸检测是一种计算机视觉中的模式识别问题,就是将所有的人脸作为一个模式,而非人脸作为另一种模式,人脸检测的核心问题就是将人脸模式和非人脸模式区别开来。人脸检测的算法主要分为两大类,基于先验知识的和基于后验知识的学习和训练的算法。 常见人脸检测的算法有:基于特征子脸人脸检测算法:该算法将所有人脸的集合视作一个人脸子空间,通过检测样本与子空间之间的投影距离检测样本中是否存在人脸;基于模板匹配的人脸检测算法:该算法先设计一个代表标准人脸的模板,将进行检测的样本与标准模板进行比对,通过考察样本与标准模板的匹配程度,设置合理的阈值来检测样本中是否存在人脸;神经网络人脸检测算法:该算法是一种学习算法,用于学习的训练集分为属于人脸图像的训练集和非人脸图像的训练集两类,通过学习从而产生分类器进行人脸检测;基于纹理模型的算法,对于人脸图像的灰度共生矩阵进行计算可以获得倒数分差、惯量相关特征这三个特征矩阵,然后通过迭代计算求得人脸图像矩阵中的参数。使用这种方法取得的模型就被称为人脸纹理模型。若人脸姿态有旋转,通过对眼睛进行定位可以计算出人脸的旋转角度或者使用投影直方图FFT 变换等方法确定人脸旋转的方向,再进行人脸检测。 1.1Haar 特征 Harr 特征是一种矩形特征,在特征提取时由四类特征组成特征模板—边缘特征、圆心环绕特征、线性特征和特定方向的特征。特征模板包括白色矩形和黑色矩形两种。白色矩形内像素和(Sum 白)减去黑色矩形像素和(Sum 黑)就是模板的特征值。Haar 特征反映的是图像中相邻矩形区域的灰度变化。 Haar 特征的每一个特征值feature 可以表示为: ()i N i i r rectsum feature ?=∑=1 ω 其中i ω表示矩形的权重,()i r rectsum 表示矩形所包围图像的灰度值之和。Paul Viola 和Michacl Joncs 提出积分图算法提高图像举行特征的计算速度。 对于对象中的任意一点()y x ,A ,其灰度值为()y x i ,,积分图()()∑' ≤≤'''=y y x x y x i y x ii ,,,, 经过对图片的一次遍历,就可以得到图像中每一个点的积分图的值。 假设需要计算矩形 D 的特征,其顶点为点 1、2、3、4。这样,矩形 D 的

连续隐马尔科夫链模型简介

4.1 连续隐马尔科夫链模型(CHMM) 在交通规划和决策的角度估计特定出行者的确切的出行目的没有必要,推测出行者在一定条件下会有某种目的的概率就能够满足要求。因此本文提出一种基于无监督机器学习的连续隐马尔科夫链模型(CHMM)来识别公共自行车出行链借还车出行目的,根据个人属性、出行时间和站点土地利用属性数据,得到每次借还车活动属于某种出行目的的概率,进一步识别公共自行车出行链最可能的出行目的活动链。 4.1.1连续隐马尔科夫链模型概述 隐马尔可夫链模型(Hidden Markov Model,HMM)是一种统计模型,它被用来描述一个含有隐含未知状态的马尔可夫链。隐马尔可夫链模型是马尔可夫链的一种,其隐藏状态不能被直接观察到,但能通过观测向量序列推断出来,每个观测向量都是通过状态成员的概率密度分布表现,每一个观测向量是由一个具有相应概率密度分布的状态序列产生。 本文将隐马尔科夫链和混合高斯融合在一起,形成一个连续的隐马尔科夫链模型(CHMM),并应用该模型来识别公共自行车出行链借还车活动目的。连续隐马尔科夫链模型采用无监督的机器学习技术,用于训练的数据无需是标记的数据,该模型既不需要标记训练数据,也没有后续的样本测试,如提示-回忆调查。相反,该模型仅利用智能卡和总的土地利用数据。后者为隐藏活动提供额外的解释变量。出行链内各活动的时间和空间信息是从IC卡数据获得,相关土地利用数据是根据南京土地利用规划图和百度地图POI数据获得。 在本文的研究中,一个马尔可夫链可以解释为出行者在两个连续活动状态之间的状态转换,确定一个状态只取决于它之前的状态,一个状态对应一个出行者未知的借还车活动[48-50]。本研究坚持传统的马尔可夫过程的假设,将它包含进无监督的机器学习模型。“隐藏马尔可夫”源于一个事实,即一系列出行链的活动是不可观察的。 对于CHMM,高斯混合模型负责的是马尔可夫链的输入端,每一个活动模式下的隐藏状态都有属于一个特征空间的集群输出概率,每个集群是观察不到的,隐藏状态集群的数量必须事先给出。一些研究者称这些集群为二级隐状态[51]。

隐马尔科夫模型HMM自学

隐马尔科夫模型HMM自学(1) 介绍 崔晓源翻译 我们通常都习惯寻找一个事物在一段时间里的变化规律。在很多领域我们都希望找到这个规律,比如计算机中的指令顺序,句子中的词顺序和语音中的词顺序等等。一个最适用的例子就是天气的预测。 首先,本文会介绍声称概率模式的系统,用来预测天气的变化 然后,我们会分析这样一个系统,我们希望预测的状态是隐藏在表象之后的,并不是我们观察到的现象。比如,我们会根据观察到的植物海藻的表象来预测天气的状态变化。 最后,我们会利用已经建立的模型解决一些实际的问题,比如根据一些列海藻的观察记录,分析出这几天的天气状态。 Generating Patterns 有两种生成模式:确定性的和非确定性的。 确定性的生成模式:就好比日常生活中的红绿灯,我们知道每个灯的变化规律是固定的。我们可以轻松的根据当前的灯的状态,判断出下一状态。 非确定性的生成模式:比如说天气晴、多云、和雨。与红绿灯不同,我们不能确定下一时刻的天气状态,但是我们希望能够生成一个模式来得出天气的变化规律。我们可以简单的假设当前的天气只与以前的天气情况有关,这被称为马尔科夫假设。虽然这是一个大概的估计,会丢失一些信息。但是这个方法非常适于分析。 马尔科夫过程就是当前的状态只与前n个状态有关。这被称作n阶马尔科夫模型。最简单的模型就当n=1时的一阶模型。就当前的状态只与前一状态有关。(这里要注意它和确定性生成模式的区别,这里我们得到的是一个概率模型)。下图是所有可能的天气转变情况:

对于有M个状态的一阶马尔科夫模型,共有M*M个状态转移。每一个状态转移都有其一定的概率,我们叫做转移概率,所有的转移概率可以用一个矩阵表示。在整个建模的过程中,我们假设这个转移矩阵是不变的。 该矩阵的意义是:如果昨天是晴,那么今天是晴的概率为0.5,多云的概率是0.25,雨的概率是0.25。注意每一行和每一列的概率之和为1。 另外,在一个系统开始的时候,我们需要知道一个初始概率,称为向量。 到现在,我们定义了一个一阶马尔科夫模型,包括如下概念: 状态:晴、多云、雨 状态转移概率 初始概率 (待续) 隐马尔科夫模型HMM自学(2) 马尔科夫模型也需要改进!

隐马尔科夫模型学习总结.pdf

隐马尔科夫模型学习总结 by terry__feng 隐马尔科夫模型,这个久违的老朋友。大三上学期在实验室的时候,由于实验室项目需用到语音识别,所以就使用了微软的Microsoft Speech SDK,也关注了一下语音识别的原理,其中有以HMM作为模型进行识别的。后来实验室的机器人项目中上位机的软件使用到了人脸识别的功能。实验室有关于识别的工程源代码,但是工程庞大,结构复杂,并且里面有很多没有用到的功能,并且程序经常莫名其妙的跑飞,还存在严重的内存泄露问题。所以就自己另起炉灶,重新编写上位机软件。其中的人脸识别用到的核心算法的代码就来源于这个工程。它使用到的技术不是PCA和LDA,而是HMM和DCT。那时候为了看明白HMM实现的原理,在图书馆看了关于模式识别的书,但有基本都是工程相关的,所以说原理性的知识牵扯的不多,自己也就是学习了大概,只是摸熟了里面使用到的各种牛逼的算法,比如Forward-backward,Viterbi,Baum-Welch。但是各种算法原理的理解上就差得远了。没有什么理论的基础,也不知如何学起,最终未能继续。后来又通过吴军老师的《数学之美》了解到隐马尔科夫模型在语音识别中的重要作用。 时隔快两年了,从李航博士的《统计学习方法》中又看到了HMM模型的魅影,里面对其原理进行了深刻的剖析,能够学习之内心自是欣慰至极。于是便花了几天的时间读了关于HMM的几章,现在算是有点收获,总结一下(大部分内容来自对吴军老师的《数学之美》和李航博士的《统计学习方法》的总结)。 文章主要包括信息传递模型、HMM模型简介,和对所使用的三个主要算法:前向后向算法、Baum-Welch算法和维特比算法进行了总结。由于公式比较的多……所以生成pdf版的了。 1、信息传递的模型 任何信息都是通过一定的媒介从一端传递到另一端。对于信息源的传输者 来说,其所需传输的序列可假设为S={s 1,s 2 ,s 3 ,…,s n },而处于媒介另一端的观 测者观测到的序列是O={o 1,o 2 ,o 3 ,…,o m }。对于观测者来说,他接收到序列O的 目的是为了明白传输者的意图,这样才能达到信息交流的目的。也就是说,观测者能够做的事情就是使用观测到的数据(即序列O)去揣测传输者要传输的数据(即序列S)。但是仅仅根据序列O能够揣测出来的序列S的可能性太多了,哪一个猜到的序列S是我们想要的呢? 按照概率论的观点,我们可以把上面的问题建立数学模型。 P(S|O)=P(s1,s2,s3,…,s n|o1,o2,o3,…,o m) 上式的意思是:对于一个给定的观测序列o1,o2,o3,…,o m,它的原序列是 s1,s2,s3,…,s n的概率。然而s1,s2,s3,…,s n的可能取值有很多,究竟哪一个才是自己想要的呢?所以便有了下面的式子: s1,s2,s3,…,s n=argmax all s1,s2,s3,…,s n P(S|O)(1.1)也就是说找到概率最大的原序列,或者说是最有可能的原序列。利用贝叶斯定理可以把上式转化得:

隐马尔科夫模型(HMM)详解

马尔科夫过程 马尔科夫过程可以看做是一个自动机,以一定的概率在各个状态之间跳转。 考虑一个系统,在每个时刻都可能处于N个状态中的一个,N个状态集合是{S1,S2,S3,...S N}。我们现在用q1,q2,q3,…q n来表示系统在t=1,2,3,…n时刻下的状态。在t=1时,系统所在的状态q取决于一个初始概率分布PI,PI(S N)表示t=1时系统状态为S N的概率。 马尔科夫模型有两个假设: 1. 系统在时刻t的状态只与时刻t-1处的状态相关;(也称为无后效性) 2. 状态转移概率与时间无关;(也称为齐次性或时齐性) 第一条具体可以用如下公式表示: P(q t=S j|q t-1=S i,q t-2=S k,…)= P(q t=S j|q t-1=S i) 其中,t为大于1的任意数值,S k为任意状态 第二个假设则可以用如下公式表示: P(q t=S j|q t-1=S i)= P(q k=S j|q k-1=S i) 其中,k为任意时刻。 下图是一个马尔科夫过程的样例图: 可以把状态转移概率用矩阵A表示,矩阵的行列长度均为状态数目,a ij表示P(S i|S i-1)。

隐马尔科夫过程 与马尔科夫相比,隐马尔科夫模型则是双重随机过程,不仅状态转移之间是个随机事件,状态和输出之间也是一个随机过程,如下图所示: 此图是从别处找来的,可能符号与我之前描述马尔科夫时不同,相信大家也能理解。 该图分为上下两行,上面那行就是一个马尔科夫转移过程,下面这一行则是输出,即我们可以观察到的值,现在,我们将上面那行的马尔科夫转移过程中的状态称为隐藏状态,下面的观察到的值称为观察状态,观察状态的集合表示为 O={O1,O2,O3,…O M}。 相应的,隐马尔科夫也比马尔科夫多了一个假设,即输出仅与当前状态有关,可以用如下公式表示: P(O1,O2,…,O t|S1,S2,…,S t)=P(O1|S1)*P(O2|S2)*...*P(O t|S t) 其中,O1,O2,…,O t为从时刻1到时刻t的观测状态序列,S1,S2,…,S t则为隐藏状态序列。 另外,该假设又称为输出独立性假设。 举个例子 举个常见的例子来引出下文,同时方便大家理解!比如我在不同天气状态下去做一些事情的概率不同,天气状态集合为{下雨,阴天,晴天},事情集合为{宅着,自习,游玩}。假如我们已经有了转移概率和输出概率,即P(天气A|天气B)和P(事情a|天气A)的概率都已知道,那么则有几个问题要问(注意,假设一天我那几件事情中的一件), 1. 假如一周内的天气变化是下雨->晴天->阴天->下雨->阴天->晴天->阴天,那么我这一周自习->宅着->游玩->自习->游玩->宅着->自习的概率是多大? 2. 假如我这一周做事序列是自习->宅着->游玩->自习->游玩->宅着->自习,

【原创附代码数据】R语言隐马尔科夫模型(HMM)模型股指预测代码

R语言隐马尔科夫模型(HMM)模型股指预测代码 了解不同的股市状况,改变交易策略,对股市收益有很大的影响。有些策略在波澜不惊的股市中表现良好,而有些策略可能适合强劲增长或长期下跌的情况。弄清楚何时开始或合适止损,调整风险和资金管理技巧,都取决于股市的当前状况。 在本文中,我们将通过使用一类强大的机器学习算法“隐马尔可夫模型”(HMM)来探索如何识别不同的股市状况。 ▍隐马尔可夫模型 马尔科夫模型是一个概率过程,查看当前状态来预测下一个状态。一个简单的例子就是看天气。假设我们有三种天气情况:下雨、多云、阳光明媚。如果今天下雨,马尔科夫模型就会寻找每种不同天气的概率。例如,明天可能会持续下雨的可能性较高,变得多云的可能性略低,而会变得晴朗的几率很小。 ▍构建模型 基于以上背景,然后我们可以用来找到不同的股市状况优化我们的交易策略。我们使用2004年至今的上证指数(000001.ss)来构建模型。 首先,我们得到上证指数的收盘价数据,计算得到收益率数据,并建立HMM模型比较模型的预测结果。 library(depmixS4) library(TTR) library(ggplot2) library(reshape2) library(plotly) # create the returns stream from this shdata<-getSymbols( "000001.ss", from="2004-01-01",auto.assign=F ) gspcRets = diff( log( Cl( shdata ) ) ) returns = as.numeric(gspcRets) write.csv(as.data.frame(gspcRets),"gspcRets.csv") shdata=na.omit(shdata) df <- data.frame(Date=index(shdata),coredata(shdata)) p <- df %>% plot_ly(x = ~Date, type="candlestick", open = ~X000001.SS.Open, close = ~X000001.SS.Close, high = ~X000001.SS.High, low = ~X000001.SS.Low, name = "000001.SS",

基于隐马尔科夫模型和卷积神经网络的图像标注方法

Computer Science and Application 计算机科学与应用, 2018, 8(9), 1309-1316 Published Online September 2018 in Hans. https://www.doczj.com/doc/d95258144.html,/journal/csa https://https://www.doczj.com/doc/d95258144.html,/10.12677/csa.2018.89141 Automatic Image Annotation Based on Hidden Markov Model and Convolutional Neural Network Haijiao Xu, Qionghao Huang, Fan Wang, Yao Wen, Meihua Zhao School of Information Technology in Education, South China Normal University, Guangzhou Guangdong Received: Aug. 6th, 2018; accepted: Aug. 21st, 2018; published: Aug. 28th, 2018 Abstract Automatic image annotation is becoming increasingly important in order to develop algorithms that are able to search and browse large-scale image databases. In this paper, we propose a novel annotation approach termed HMM + CNN, which is based on Hidden Markov Model (HMM) and Convolutional Neural Network (CNN). First, a multi-label CNN is trained as a concept classifier. Then, through a first-order HMM, image content and semantics correlation is combined to refine the predicted semantic scores. Finally, to improve the performance of labeling rare concepts, the gradient descent algorithm is applied for compensating the varying frequencies of concepts de-rived from imbalanced image datasets. Experiments have been carried out on IAPR TC-12 image annotation database. The results show that our proposed approach performs favorably compared with several conventional methods. Keywords Automatic Image Annotation, Hidden Markov Model, Convolutional Neural Network, Multi-Label Learning 基于隐马尔科夫模型和卷积神经网络的 图像标注方法 徐海蛟,黄琼浩,汪凡,文瑶,赵美华 华南师范大学教育信息技术学院,广东广州

相关主题
文本预览
相关文档 最新文档