一种基于HMM的用户输入行为异常识别方法技术

技术编号:26478901 阅读:33 留言:0更新日期:2020-11-25 19:23
本发明专利技术公开了一种基于HMM的用户输入行为异常识别方法,包括以下步骤:步骤A1)收集用户的击键数据;步骤A2)设置隐藏状态序列Y,对初始状态概率矩阵Π、隐含状态转移概率矩阵A和输出矩阵B进行随机初始化赋值,将步骤A1)收集的击键数据作为观测序列的数据训练模型参数,得到HMM模型;步骤A3)将观测序列的数据输入HMM模型,通过HMM模型计算得出观测序列的概率值;步骤A4)通过设定方法对观测序列的概率值计算得到概率阈值,然后判断概率值是否大于概率阈值,若大于,则为异常行为,反之,则为正常行为。本发明专利技术解决了击键异常识别模型计算量大、所需数据量多的技术问题,达到使用较少的训练数据就能得到正常的用户击键行为模型的目的。

【技术实现步骤摘要】
一种基于HMM的用户输入行为异常识别方法
本专利技术涉及行为识别领域,具体的说,是一种基于HMM的用户输入行为异常识别方法。
技术介绍
生物认证技术通过每个人特有的生理特征如指纹、掌纹、人脸、虹膜等或行为特征如笔迹、语音等进行身份认证。由于这些特征在很大程度上具有唯一性和不可模仿性,极大地减少了用户被冒名顶替的风险。随着生物认证技术的发展成熟,在很多领域已经得到了成功的应用,但由于需要成本较高的额外的生物特征提取设备,因此其使用的普及性受到制约。击键特征和其它生物方法相比有明显的优势,它以键盘作为特征提取设备,只要在计算机系统内嵌入识别软件即可,成本低廉。其次,它将用户登录过程和认证过程完美地结合在一起,不对用户使用造成任何影响。在已往的研究中,击键模式识别主要使用支持向量机、BP神经网络等方法。支持向量机通过对正常用户击键行为数据与异常数据建立二分类模型,由于除了用户本身的击键数据外,其它的击键数据都属于异常数据,这就导致了异常行为数据种类繁多,无法全面收集,影响模型效果,而且支持向量机本身模型计算复杂度较高。而击键异常检测是针对每一个用户建立一个模型,当用户量较大时,支持向量机模型存在空间占用过大的问题。BP神经网络算法模型也存在结构复杂的问题,而且训练过程需要大量数据,当用户的数据量不足时会影响模型的准确度。因此,针对击键异常识别模型计算量大、所需数据量多的问题,本专利技术提供一种基于HMM的用户输入行为异常识别方法,针对正常用户击键数据建立模型,检测异常行为,使用比较少的训练数据就能得到正常用户的击键行为模型。
技术实现思路
本专利技术的目的在于提供一种基于HMM的用户输入行为异常识别方法,用于解决击键异常识别模型计算量大、所需数据量多的技术问题,达到使用较少的训练数据就能得到正常的用户击键行为模型的目的。本专利技术通过下述技术方案解决上述问题:一种基于HMM的用户输入行为异常识别方法,包括以下步骤:步骤A1)收集用户的击键数据;步骤A2)设置隐藏状态序列Y,对初始状态概率矩阵Π、隐含状态转移概率矩阵A和输出矩阵B进行随机初始化赋值,将步骤A1)收集的击键数据作为观测序列的数据训练模型参数,得到HMM模型;步骤A3)将观测序列的数据输入HMM模型,通过HMM模型计算得出观测序列的概率值;步骤A4)通过设定方法对观测序列的概率值计算得到概率阈值,然后判断概率值是否大于概率阈值,若大于,则为异常行为,反之,则为正常行为。优选地,步骤A1)所述的击键数据包括击键持续时间和击键间隔时间。优选地,所述击键持续时间为:其中表示第i个键按下时刻,表示第i个键抬起时刻。优选地,所述击键间隔时间为:击键间隔时间为后一个键按下与前一个键按下之间的时间间隔。优选地,步骤A4)所述的设定方法为:根据用户的正常击键行为概率值的集合p=[p0,p1,...,pn],计算p的均值与标准差σ,设置概率阈值为概率值的均值加3倍标准差:本专利技术与现有技术相比,具有以下优点及有益效果:本专利技术针对现有模型结构复杂,训练过程需要大量正常与异常数据的问题,对正常用户击键数据建立模型,检测异常行为,使用较少的训练数据就能得到正常用户的击键行为模型,大大提高了异常识别率,提高了检测效率。附图说明图1为本专利技术的击键数据提取示意图。具体实施方式下面结合实施例对本专利技术作进一步地详细说明,但本专利技术的实施方式不限于此。实施例1:结合图1所示,一种基于HMM的用户输入行为异常识别方法,包括以下步骤:步骤A1)收集用户的击键数据;所述的击键数据包括击键持续时间和击键间隔时间;所述击键持续时间为:其中表示第i个键按下时刻,表示第i个键抬起时刻;所述击键间隔时间为:击键间隔时间为后一个键按下与前一个键按下之间的时间间隔。步骤A2)设置隐藏状态序列Y,对初始状态概率矩阵Π、隐含状态转移概率矩阵A和输出矩阵B进行随机初始化赋值,将步骤A1)收集的击键数据作为观测序列数据训练模型参数,得到HMM模型;其中HMM模型训练过程可以用两个状态集和三个概率矩阵组成的五元组λ=(X,Y,A,B,Π)来描述,也可以用简单的三元组λ=(A,B,Π)来描述:X=(x1,x2,…,xm)Y=(y1,y2,…,ym)A=(aij);aij=P(qi+1=yj|qi=yi)B=(bj(ot);bj(Ot)=P(ot=xt|tt=yi)Π=(πi);πi=P(q1=yi)其中,X是观察状态集合,即为观测序列,对应的观察序列O=(o1,o2,…,oT)是一个一般随机过程,ot=xi表示t时刻的观察值为xi;Y是隐含状态集合,对应的隐含状态序列H=(h1,h2,…,hT)是一个马尔科夫过程,ht=yi表示t时刻的隐含状态为yi;A是隐含状态转移概率矩阵,aij表示从状态yi转移到状态yi的概率;B是输出矩阵,bj(ot)表示在隐含状态yi下出现观察值ot的概率;Π是初始状态概率矩阵,表示隐含状态在初始时刻t=1的概率矩阵。步骤A3)将观测序列的数据输入HMM模型,通过HMM模型计算得出观测序列的概率值;步骤A4)根据步骤A3)用户的正常击键行为概率值集合p=[p0,p1,...,pn],计算p的均值与标准差σ,概率阈值设置为概率值的均值加3倍标准差:判断概率值集合中的概率值是否大于概率阈值,若大于,则为异常行为,反之,则为正常行为。将基于HMM的用户输入行为异常识别方法应用到实际场景中,收集用户的击键数据,将数据按顺序排列为[T1,E1,T2,E2,……,Tn,En],作为观测序列O={O1,O2,…,OT},然后设置隐藏状态序列的数据为7~10,根据收集到的观测序列数据和三个初始化矩阵,用Baum-Welch算法对其进行多次迭代计算,得到三个新的矩阵,即模型参数A,B,Π,建立HMM模型λ=(A,B,Π)。具体算法为:训练数据为{(O1,I1),(O2,I2),…(OD,ID)},其中(O1包括T1和E1,O2、O3…OD依次类推)其中任意一个观测序列其对应的未知的隐藏状态序列表示为:计算联合分布:联合分布P(0,I|λ)基于条件概率期望表达式为:其中为当前的模型参数,λ为更新的模型参数。上式极大化:带入P(0,I|λ)得到:分别对A,B,Π求导得到迭代公式:不断的迭代计算,直到模型参数的值收敛,得到了与击键数据相关的HMM模型。再将击键数据组成观测序列输入HMM模型迭代计算得到观测序列概率值的集合P(0|λ),将观测序列的概率值P0、P1、P2....Pn分别与概率阈值threshold进行比较判断,概率值P大于概率阈值threshold,则为异常行为,概率值P本文档来自技高网
...

【技术保护点】
1.一种基于HMM的用户输入行为异常识别方法,其特征在于:包括以下步骤:/n步骤A1)收集用户的击键数据;/n步骤A2)设置隐藏状态序列Y,对初始状态概率矩阵Π、隐含状态转移概率矩阵A和输出矩阵B进行随机初始化赋值,将步骤A1)收集的击键数据作为观测序列的数据训练模型参数,得到HMM模型;/n步骤A3)将观测序列的数据输入HMM模型,通过HMM模型计算得出观测序列的概率值;/n步骤A4)通过设定方法对观测序列的概率值计算得到概率阈值,然后判断概率值是否大于概率阈值,若大于,则为异常行为,反之,则为正常行为。/n

【技术特征摘要】
1.一种基于HMM的用户输入行为异常识别方法,其特征在于:包括以下步骤:
步骤A1)收集用户的击键数据;
步骤A2)设置隐藏状态序列Y,对初始状态概率矩阵Π、隐含状态转移概率矩阵A和输出矩阵B进行随机初始化赋值,将步骤A1)收集的击键数据作为观测序列的数据训练模型参数,得到HMM模型;
步骤A3)将观测序列的数据输入HMM模型,通过HMM模型计算得出观测序列的概率值;
步骤A4)通过设定方法对观测序列的概率值计算得到概率阈值,然后判断概率值是否大于概率阈值,若大于,则为异常行为,反之,则为正常行为。


2.根据权利要求1所述的一种基于HMM的用户输入行为异常识别方法,其特征在于:
步骤A1)所述的击键数据包括击键持续时间和击...

【专利技术属性】
技术研发人员:刘录
申请(专利权)人:四川长虹电器股份有限公司
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1