搜档网
当前位置:搜档网 › 连续隐马尔科夫链模型简介

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

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

4.1 连续隐马尔科夫链模型(CHMM)

在交通规划和决策的角度估计特定出行者的确切的出行目的没有必要,推测出行者在一定条件下会有某种目的的概率就能够满足要求。因此本文提出一种基于无监督机器学习的连续隐马尔科夫链模型(CHMM)来识别公共自行车出行链借还车出行目的,根据个人属性、出行时间和站点土地利用属性数据,得到每次借还车活动属于某种出行目的的概率,进一步识别公共自行车出行链最可能的出行目的活动链。

4.1.1连续隐马尔科夫链模型概述

隐马尔可夫链模型(Hidden Markov Model,HMM)是一种统计模型,它被用来描述一个含有隐含未知状态的马尔可夫链。隐马尔可夫链模型是马尔可夫链的一种,其隐藏状态不能被直接观察到,但能通过观测向量序列推断出来,每个观测向量都是通过状态成员的概率密度分布表现,每一个观测向量是由一个具有相应概率密度分布的状态序列产生。

本文将隐马尔科夫链和混合高斯融合在一起,形成一个连续的隐马尔科夫链模型(CHMM),并应用该模型来识别公共自行车出行链借还车活动目的。连续隐马尔科夫链模型采用无监督的机器学习技术,用于训练的数据无需是标记的数据,该模型既不需要标记训练数据,也没有后续的样本测试,如提示-回忆调查。相反,该模型仅利用智能卡和总的土地利用数据。后者为隐藏活动提供额外的解释变量。出行链内各活动的时间和空间信息是从IC卡数据获得,相关土地利用数据是根据南京土地利用规划图和百度地图POI数据获得。

在本文的研究中,一个马尔可夫链可以解释为出行者在两个连续活动状态之间的状态转换,确定一个状态只取决于它之前的状态,一个状态对应一个出行者未知的借还车活动[48-50]。本研究坚持传统的马尔可夫过程的假设,将它包含进无监督的机器学习模型。“隐藏马尔可夫”源于一个事实,即一系列出行链的活动是不可观察的。

对于CHMM,高斯混合模型负责的是马尔可夫链的输入端,每一个活动模式下的隐藏状态都有属于一个特征空间的集群输出概率,每个集群是观察不到的,隐藏状态集群的数量必须事先给出。一些研究者称这些集群为二级隐状态[51]。

有两种选择可以用来处理隐藏的集群:第一种,每个状态可以被假定为有一组独立的集群,尽管这个假定有利于找到每种状态独自的概率,但是有计算时间的负担;另一种模型规定允许所有隐状态共享一组集群。本研究采用后者的理论,既节省计算时间又简化了模型的假设条件。

基于CHMM的公共自行车出行链出行目的识别过程如下。首先,从IC卡数据中提取公共自行车出行链。第二,确定潜在借还车活动的数量。在这个阶段,没有关于隐藏目的与实际活动的映射信息。第三,确定可能的集群数。第四,为样本链的活动链中所有隐藏活动收集特征数据。第五步是对CHMM参数估计算法的实现。第六步是通过模型估计参数来描述集群的特征和映射的每个状态概率分布。最后,应用训练好的CHMM模型,推算出公共自行车出行链最有可能的借还车活动目的序列。

4.1.2连续隐马尔科夫链模型构建

本文设计的CHMM是由状态和观测变量构造的,假设每条观测序列,都是由其隐藏状态按照一定规则顺序而产生的,形成如图4- 1所示的三层层级结构:

图4- 1 CHMM的结构示意图

在公共自行车出行链出行目的识别的研究中,先从数据中提取出行链得到观测序列,观测序列包含时间地点出行者属性等变量。为了整合这些变量,从这些变量中提取公共自行车骑行模式,将观测样本序列转化为出行模型集群序列,然后再识别产生出行模式序列背后隐藏的出行目的序列。在本研究中,一个特征向量是由7个特征变量组成的:公共自行车使用者的年龄、用车出行时段、借/还车类型以及4种公共自行车站点的土地利用特征。首先根据每个集群的特征向量提取出公共自行车出行模式,然后应用CHMM来确定隐藏状态间的转移概率,

以及每个状态连接到每个出行模式群集的成员概率。

在建立模型之前应预先确定一个状态变量可能存在的值的数量。式(4-1)表示一个初始状态属于一种出行活动的概率集合。

ππ(4-1)其中x1表示出行链的活动序列的初始状态变量,N是可以由一个状态变量得到的可能的活动数量,i代表第i个活动,来自于可能的活动集合,i是第一个状态为第i个活动的概率,是一个初始概率向量。

式(4-2)表示两个连续状态之间的转移概率矩阵。在本模型中,出行链被转换为一个状态序列,遵循马尔可夫过程。也就是说,出行链内的活动状态被假定为仅依赖先前活动的状态。

(4-2)其中x t代表活动链出行序列的第t个状态,a ij是当先前的第(t-1)个状态给出为活动i时,第t个状态选择活动j的概率。A是包含转移概率的N*N矩阵。

式(4-3)代表输出概率(o t),o t将在状态i中被观察到,它采取高斯混合模型的形式。

(o t)μ(4-3)其中o t是序列的第t个状态的一个观测特征变量,K是在一个特征空间里的隐藏集群数目,是一个观察来自第k个集群时的当前状态是活动i的成员概率(活动i属于集群k的概率),μ是活动i第k个集群的特征向量的平均值。是第i个活动的第k个集群的方差-协方差矩阵,μ是高斯概率密度公式。

为了简洁起见,式(4-4)表示每个状态都被假定为共享一组公共集群。高斯混合模型的N×K权重矩阵(G)可以解释为式(4-5),被称为成员概率矩阵。

μμ(4-4)

(4-5)其中m t代表序列第t个隐藏状态的特征空间里的隐藏集群。

如前所述,训练CHMM的样本是从多元高斯分布生成的特征向量。根据观测值估计的参数由一个矢量集合表示。必须建立出行链观测序列的似然函数来估

计参数。然而,活动的隐藏状态妨碍了似然函数以一个简单的方式建立。存在隐

变量的似然函数应集成所有可能的变量值。对于存在离散隐变量的模型,数学积分简化为对隐变量所有可能的值一个简单的求和(或平均)。式(4-6)表示最大化的似然函数。该方程的第一行显示了一个边际概率基于贝叶斯定理被分解。第二行是来自观测值的独立性假设和马尔可夫过程的记忆性假设。

λ,,,λ

,,,

所有可能的,,,

Σ

所有可能的,,,

μΣ

(4-6)所有可能的,,,

其中T是出行链活动序列的长度。

似然函数可以被扩展以适应多个出行链,其中每一个出行链能具有不同长度的活动序列。在观测值独立的假设下,式(7)表示的式(6)的扩展版本,其中上标l代表一个特定的出行链。

λμΣ

(4-7)所有可能的,,,

其中λ代表扩展似然函数,M是出行链的数目,T l是第l个出行链的活

动序列的长度,代表第l条出行链的活动序列的第t个状态的观测特征向量。扩展的似然函数更难处理,因为它包含了状态变量的所有可能的分配的个体似然值之和。

4.1.3连续隐马尔科夫链模型算法

对于CHMM,3个典型问题需要被解决。第一个问题是隐藏的状态和模型的参数已知,如何计算一个特定的状态序列被观测到的概率。这个问题可以用前向-后向的算法(Forward-backward algorithm)来解决。第二个问题是已知一系列的观测或一组观测的多个序列(或多个出行链)如何估计最佳参数。这个问题可以用鲍姆-韦尔奇算法(Baum-Welch algorithm)来解决。在实现鲍姆-韦尔奇算法时,给定所有观测都可用,前向后向算法被用来计算某一状态或某一对连续状态的概率。第三个问题是已知给定观测序列和模型参数,推导隐藏状态的最有可能的序列。这个问题应用维特比算法(Viterbi algorithm)来实现。本文采用了前两

种算法来估计CHMM模型的参数,并应用维特比算法基于观测和估计的参数推测公共自行车出行链的借还车活动序列。

(1)前向-后向的算法的实现

当活动序列的长度或可能的隐藏状态的数目变大时,就不可能对每个可能的活动序列的单个概率求和。前向后向算法是解决这个问题的关键。当给出了一个完整的观测序列时,该算法有利于计算隐藏状态或连续的一对隐藏状态的概率。为了计算概率,必须创建前向和后向变量(和β)。更具体地,这些变量提供了一个简单的方法来计算包含在鲍姆–韦尔奇算法中训练CHMM 的

和。前向变量代表

,后向变量β代表。两个变量都是根据式(4-8)的过程进行递归计算的。结果显示和

通过前向和后向变量递归计算得到(见式(4-12)及式(4-13))[52-53]。

①前向递归过程:

初始的

α(4-8)对于t=2,3, … , T

α(4-9)

②后向递归过程:

初始的

β(4-10)对于T=T-1, T-2, …, 1

β(4-11)

③前向-后向计算

(4-12)

(4-13)(2)鲍姆-韦尔奇算法的实现

鲍姆–韦尔奇算法是一个用于训练CHMM的方法,是一种更普遍的期望-最大化(EM)算法的特例。EM算法被开发作为一个强大的工具,用于解决当涉及潜在的变量时的最大化问题。该算法将包含所有可能的潜在变量的集和,将对数似然函数原有最大问题化转化为一个简单的递归过程。鲍姆–韦尔奇算法从估计参数开始一个迭代过程。在每次迭代中,将一个代理函数

λ最大化而不是最大化原对数似然函数。这个代理函数可以被理解为对

数似然的加权和,其中权重表示隐藏状态在上一次迭代中被估计出来的参数被观察到的概率。权重最初设置为,使用贝叶斯定理

,,转变为。鲍姆-韦尔

奇算法可以被简单地描述为重复下列期望和最大化步骤,直到算法收敛。如下列公式所示(4-14)和(4-15)对应于单一的出行链,(4-16)及(4-17)用于多个出行链。权重根据先前获得的参数()计算,再应用传统EM算法的原理重复这些过程直到保证收敛。

①对于一个出行链:

期望值步骤:

(4-14)λ

所有可能的,,,

最大化步骤:

(4-15)

②对于多个出行链(扩展情况):

期望值步骤:

λ

(4-16)所有可能的,,,

最大化步骤:

隐马尔科夫模型

隐马尔科夫模型 一、引入 二、定义 三、隐马尔科夫模型的计算 (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)

Matlab学习系列34. 马尔可夫预测

33. 马尔可夫预测 马尔可夫预测,是一种预测事件发生的概率的方法。它是基于马尔可夫链,根据事件的目前状况预测其将来各个时刻(或时期)变动状况的一种预测方法。 马尔可夫预测法的基本要求是状态转移概率矩阵必须具有一定的稳定性。因此,必须具有足够的统计数据,才能保证预测的精度与准确性。换句话说,马尔可夫预测模型必须建立在大量的统计数据的基础之上。 (一)经典马尔可夫模型 一、几个概念 状态:指某一事件在某个时刻(或时期)出现的某种结果; 状态转移:事件的发展,从一种状态转变为另一种状态; 马尔可夫过程:在事件的发展过程中,若每次状态的转移都仅与前一时刻的状态有关,而与过去的状态无关,或者说状态转移是无后效性的,则这样的状态转移过程就称为马尔可夫过程。 状态转移概率:在事件的发展变化过程中,从某一种状态出发,下一时刻转移到其它状态的可能性,称为状态转移概率。由状态i E 转为状态j E 的状态转移概率 ()(|)i j j i ij P E E P E E p →== 状态转移概率矩阵:假定某一个事件的发展过程有n 个可能的状

态,即1,,n E E ,则矩阵 1111n n nn p p P p p ????=?????? 其中,ij p 为从状态i E 转为状态j E 的状态转移概率,称为状态转移概率矩阵。 状态转移矩阵满足: (i) 01, ,1,,ij p i j n ≤≤= (ii) 1 1n ij j p ==∑ 二、状态转移矩阵的计算 即求出从每个状态转移到其它任何一个状态的状态转移概率ij p ,一般采用频率近似概率的思想进行计算。 例1某地区农业收成变化的三个状态,即E1“丰收”、E2“平收”和E3“欠收”。下表给出了该地区1960~1999年期间农业收成的状态变化情况(部分)。 计算该地区农业收成变化的状态转移概率矩阵。 datas=xlsread('Agriculture.xlsx');

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

第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时刻(今天) 之前(昨天、前天。。。)无关。这样的一个随机过程就是一个马尔可 夫过程。

论文:马尔科夫链模型

市场占有率问题 摘要 本文通过对马尔科夫过程理论中用于分析随机过程方法的研究,提出了将转移概率矩阵法应用于企业产品的市场占有率分析当中,并给出了均匀状态下的市场占有率模型。单个生产厂家的产品在同类商品总额中所占的比率,称为该厂产品的市场占有率,市场占有率随产品的质量、消费者的偏好以及企业的促销作用等因素而发生变化。企业在对产品种类与经营方向做出决策时,需要预测各种商品之间不断转移的市场占有率。 通过转移概率求得八月份的各型号商品的市场占有率为……稳定状态后,通过马尔科夫转移矩阵,计算出各商品的市场占有率为…… 关键词马尔科夫链转移概率矩阵

一、问题重述 1.1背景分析 现代市场信息复杂多变,一个企业在激烈的市场竞争环境下要生存和发展就必须对其产品进行市场预测,从而减少企业参与市场竞争的盲目性,提高科学性。然而,市场对某些产品的需求受多种因素的影响,普遍具有随机性。为此,利用随机过程理论的马尔科夫模型来分析产品在市场上的状态分布,进行市场预测,从而科学地组织生产,减少盲目性,以提高企业的市场竞争力和其产品的市场占有率。 1.2问题重述 已知六月份甲,乙,丙,三种型号的某商品在某地有相同的销售额。七月份甲保持原有顾客的60%,分别获得乙,丙的顾客的10%和30%;乙保持原有顾客的70%,分别获得甲,丙的顾客的10%和20%;丙保持原有顾客的50%,分别获得甲,乙顾客的30%和20%。求八月份各型号商品的市场占有率及稳定状态时的占有率。 二、问题分析 单个生产厂家的产品在同类商品总额中所占的比率,称为该厂产品的市场占有率,市场占有率随产品的质量、消费者的偏好以及企业的促销作用等因素而发生变化。题目给出七月份甲、乙、丙三种型号的某商品的顾客转移率,转移率的变化以当前的状态为基准而不需要知道顾客转移率的过去状态,即只要掌握企业产品目前在市场上的占有份额,就可以预测将来该企业产品的市场占有率。概括起来,若把需要掌握过去和现在资料进行预测的方法称为马尔科夫过程。 马尔科夫预测法的一般步骤: (1)、调查目前本企业场频市场占有率状况,得到市场占有率向量A ; (2)、调查消费者的变动情况,计算转移概率矩阵B ; (3)、利用向量A 和转移概率矩阵B 预测下一期本企业产品市场占有率。 由于市场上生产与本企业产品相同的同类企业有许多家,但我们最关心的是本企业产品的市场占有率。对于众多消费者而言,够不够买本企业的产品纯粹是偶然事件,但是若本企业生产的产品在质量、价格、营销策略相对较为稳定的情况下,众多消费者的偶然的购买变动就会演变成必然的目前该类产品相对稳定的市场变动情况。因为原来购买本企业产品的消费者在奖励可能仍然购买本企业的产品,也可能转移到购买别的企业的同类产品,而原来购买其他企业产品的消费者在将来可能会转移到购买本企业产品,两者互相抵消,就能形成相对稳定的转移概率。 若已知某产品目前市场占有率向量A ,又根据调查结果得到未来转移概率矩阵B ,则未来某产品各企业的市场占有率可以用A 乘以B 求得。即: 111212122212312*()*n n n n n nn a a a a a a A B p p p p a a a ????????????=????????????????????? 三、模型假设 1、购买3种类型产品的顾客总人数基本不变; 2、市场情况相对正常稳定,没有出现新的市场竞争; 3、没有其他促销活动吸引顾客。

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

摘要:随着移动应用的普及,作为恶意行为识别的基础,移动应用端的行为模式分析也成为当前研究热点。本文创新地从系统环境数据入手,通过对系统多方面数据的监控,建立隐马尔可夫模型,使用该模型对后续行为产生的系统环境数据进行隐马尔科夫估值计算,从而实现对后续行为模式的识别,同时在后续识别过程中不断优化模型。本文通过实验证明该方式具有一定有效性,为移动应用端行为模式识别提供了更多可能。 关键词:移动应用端;隐马尔可夫模型;行为模式 中图分类号: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)

实验7 马尔科夫预测

实验7:马尔柯夫预测 7.1实验目的 1、了解状态及状态转移的概念,理解马尔科夫链定义和性质,能根据具体实例和研究目的划分状态; 2、掌握用Excel 软件计算一步转移概率矩阵的全过程; 3、掌握利用Excel 软件进行马尔科夫链、市场占有率、马尔科夫稳态的相关预测。 7.2实验原理 7.2.1 马尔柯夫预测的基本原理 马尔可夫预测法是马尔科夫过程和马尔科夫链在经济预测领域的一种应用,这种方法通过对事物状态划分、研究各状态的初始概率和状态之间转移概率来预测事物未来状态变化趋势,以预测事物的未来。 7.2.1.1马尔可夫链 若时间和状态参数都是离散的马尔科夫过程,且具有无后效性,这一随机过程为马尔可夫链。无后效性可具体表述为如果把随机变量序列{}(),Y t t T ∈的时间参数s t 作为“现在”,那么s t t >表示“将来”,s t t <表示“过去”,那么,系统在当前的情况()s Y t 已知的条件下,()Y t “将来”下一时刻所处的的情况与“过去”的情况无关,随机过程的这一特性称为无后效性。 7.2.1.2状态及状态转移 1、状态是指客观事物可能出现或存在的状况。在实际根据研究的不同事物、不同的预测目的,有不同的预测状态划分。 (1)预测对象本身有明显的界限,依状态界限划分。如机器运行情况可以分为“有故障”和“无故障”两种状态,天气有晴、阴、雨三种状态。(2)研究者根据预测事物的实际情况好预测目的自主划分。如:公司产量按获利多少人为的分为畅销、一般销售、滞销状态。这种划分的数量界限依产品不同而不同。 2、状态转移是指所研究的系统的状态随时间的推移而转移,及系统由某一时期所处的状态转移到另一时期所处的状态。发生这种转移的可能性用概率描述,称为状态转移概率 7.2.2状态转移概率矩阵及计算原理 1、概念:状态转移概率指假如预测对象可能有E 1,E 2,…,E n 共n 种状态,

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

基于马尔科夫模型的命名实体识别 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]。

马尔可夫链预测方法

马尔可夫链预测方法 一、基于绝对分布的马尔可夫链预测方法 对于一列相依的随机变量,用步长为一的马尔可夫链模型和初始分布推算出未来时段的绝对分布来做预测分析方法,称为“基于绝对分布的马尔可夫链预测方法”,不妨记其为“ADMCP 法”。其具体方法步骤如下: 1.计算指标值序列均值x ,均方差s ,建立指标值的分级标准,即确定马尔可夫链的状态空间I ,这可根据资料序列的长短及具体间题的要求进行。例如,可用样本均方差为标准,将指标值分级,确定马尔可夫链的状态空间 I =[1, 2,…,m ]; 2.按步骤1所建立的分级标准,确定资料序列中各时段指标值所对应的状态; 3.对步骤2所得的结果进行统计计算,可得马尔可夫链的一步转移概率矩阵1P ,它决定了指标值状态转移过程的概率法则; 4.进行“马氏性” 检验; 5.若以第1时段作为基期,该时段的指标值属于状态i ,则可认为初始分布为 (0)(0,,0,1,0,0)P = 这里P (0)是一个单位行向量,它的第i 个分量为1,其余分量全为0。于是第2时段的绝对分布为 1(1)(0)P P P =12((1),(1),,(1))m p p p = 则第2时段的预测状态j 满足:(1)max{(1),}j i p p i I =∈; 同样预测第k +1时段的状态,则有 1()(0)k P k P P =12((),(),,())m p k p k p k = 得到所预测的状态j 满足: ()max{(),}j i p k p k i I =∈ 6.进一步对该马尔可夫链的特征(遍历性、平稳分布等)进行分析。 二、叠加马尔可夫链预测方法 对于一列相依的随机变量,利用各种步长的马尔可夫链求得的绝对分布叠加来做预测分析,的方法,称为“叠加马尔可夫链预测方法”,不妨记其为“SPMCP 法’。其具体方法步骤如下: 1) 计算指标值序列均值x ,均方差s ,建立指标值的分级标准(相当于确定马尔可夫链的状态空间),可根据资料序列的长短及具体问题的要求进行; 2) 按1)所建立的分级标准,确定资料序列中各时段指标值所对应的状态; 3) 对2)所得的结果进行统计,可得不同滞时(步长)的马尔可夫链的转移概率矩阵,它决定了指标值状态转移过程的概率法则; 4) 马氏性检验; 5) 分别以前面若干时段的指标值为初始状态,结合其相应的各步转移概率矩阵即可预测出该时段指标值的状态概率 (6)将同一状态的各预测概率求和作为指标值处于该状态的预测概率,即 ,所对应的i 即为该时段指标值的预测状态。待该时段的指标值确定之后,将其加 入到原序列之中,再重复步骤"(1)一(6)",可进行下时段指标值状态的预测。 (7)可进一步对该马尔可夫链的特征(遍历性、平稳分布等)进行分析。

隐马尔科夫模型HMM自学

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

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

5马尔可夫链模型

马尔可夫链模型 在考察随机因素影响的动态系统时,常常碰到这样的情况,系统在每个时期所处的状态是随机的,从这个时期到下个时期的状态按照一定的概率进行转移,并且下个时期的状态只取决于这个时期的状态和转移概率,与以前各时期的状态无关。这种性质称为无后效性或马尔可夫性。通俗的说就是已知现在,将来与历史无关。 具有马氏性的,时间、状态无为离散的随机转移过程通常用马氏链(Markov Chain)模型描述。 马氏链模型在经济、社会、生态、遗传等许多领域中有着广泛的应用。值得提出的是,虽然它是解决随机转移过程的工具,但是一些确定性系统的状态转移问题也能用马氏链模型处理。 马氏链简介: 马氏链及其基本方程:按照系统的发展,时间离散化为 0,1,2,n = ,对每个n ,系统的状态用随机变量n X 表示,设n X 可以 取k 个离散值1,2,,n X k = ,且n X i =的概率记作() i a n ,称为状态概 率,从n X i =到1 n X j +=的概率记作ij p ,称为转移概率。如果1 n X +的 取值只取决于n X 的取值及转移概率,而与1 2,,n n X X -- 的取值无关, 那么这种离散状态按照离散时间的随机转移过程称为马氏链。 由状态转移的无后效性和全概率公式可以写出马氏链的基本方程为 1 (1)()1,2,,k i j ij j a n a n p i k =+= =∑

并且() i a n 和ij p 应满足 1 1 ()10,1,2,;0 ;1 1,2,,k k j ij ij j j a n n p p i k ====≥==∑∑ 引入状态概率向量和转移概率矩阵 12()((),(),,()) {}k ij k a n a n a n a n P p == 则基本方程可以表为1 (1)()(0)n a n a n P a P ++== 例1:某商店每月考察一次经营情况,其结果用经营状况好与孬表示。若本月经营状况好,则下月保持好的概率为0.5,若本月经营状况不好,则下月保持好的概率为0.4,试分析该商店若干时间后的经营状况。 解:商店的经营状况是随机的,每月转变一次。用随机变量n X 表示第n 个月的经营状况,称为经营系统的状态.1,2 n X =分别表示 好与不好,0,1,n = 。用() i a n 表示第n 月处于状态i 的概率(1,2i =) 即()()i n a n P X i ==,ij p 表示本月处于状态i ,下月转为状态j 的概率。 这里1 n X +无后效性,只取决于n X 和ij p 。 112112220.5,0.4,0.5,0.6p p p p ==∴== 根据全概率公式可以得到: 11112212112222 (1)()()0.50.5(1)()(1)()()0.4 0.6a n a n p a n p a n a n P P a n a n p a n p +=+??? ?+==? ?+=+?? ? 假设这个递推公式存在极限w ,有w w P = ,即()0w P E -=。于 是当经营状况好或孬时,经计算可以得到下面的结果

隐马尔科夫模型学习总结.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)也就是说找到概率最大的原序列,或者说是最有可能的原序列。利用贝叶斯定理可以把上式转化得:

相关主题