马尔可夫及隐马尔可夫模型在数据挖掘中的应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
马尔可夫及隐马尔可夫模型在数据挖掘中的应用
侯传宇1,2
(1.合肥工业大学计算机与信息学院,安徽合肥230009;2.宿州学院数学系,安徽宿州234000)
摘要:随着用户对于数据挖掘的精确度与准确度要求的日益提高,马尔可夫模型与隐马尔可夫模型被广泛用于数据挖掘领域。本文阐述了马尔可夫模型和隐马尔可夫模型数据挖掘领域的应用,以及隐马尔可夫模型可解决的问题,以供其他研究者借鉴。
关键词:马尔可夫模型;隐马尔可夫模型;数据挖掘
中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)07-11186-03
TheApplicationofMarkovModelsandHiddenMarkovModelsinDataMining
HOUChuan-yu1,2
(1.SchoolofComputerandInformation,HefeiUniversityofTechnology,Hefei230009,China;2.DepartmentofMathematics,SuzhouCol-lege,Suzhou234000,China)
Abstract:Withthecustomer'srequirementraisingdaybydayinaccuracyandaccurate,MarkovModelsandHiddenMarkovModelswereextensivelyusedinDataMining.ThispaperintroducedtheapplicationofMarkovModelsandHiddenMarkovModelsinDataMining,andsomeproblemsthatcouldbesolvedbyHiddenMarkovModels,whichcouldprovidehelptoresearchersinthisdomain.
Keywords:MarkovModels;HiddenMarkovModels;DataMining
1引言
当前Internet与数据库的高速发展,信息以海量增长,对于越来越多的数据,如何寻找有用的信息是人们所关心的问题,也是数据挖掘的任务。数据挖掘(DataMining,DM),又称数据库中的知识发现(KnowledgeDiscoveryinDatabase,KDD),是从90年代初兴起的一门数据库技术。数据挖掘就是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。数据挖掘是多学科交叉的产物,结合了数据库、人工智能、统计学、机器学习、可视化等技术,通过发现有用的新规律和新概念,提高了数据拥有者对大量原始数据的深层次理解、认识和应用,解决了“数据丰富,知识贫乏”的问题,具有广泛的应用前景。
数据挖掘能从大量数据中抽取出隐藏在数据之中的有用信息,从而为决策者进行决策提供重要的依据,大大提高决策的科学性和减小决策的盲目性也可以帮助商业管理者更好地理解用户的行为,制订相应的用户服务政策,从而增加商业机会。例如电信公司通过发现用户通话的规律,制定更合理的优惠政策。随着用户对于挖掘数据的精度与准确度要求的提高,大量数据挖掘算法涌现。其中,数学模型—马尔可夫模型与隐马尔可夫模型应用在许多挖掘领域,如:语音识别、自动文本抽取、数据流分类等,取得了较好的挖掘效果。
2马尔可夫模型及隐马尔可夫模型简介
马尔可夫模型(MarkovModels,MM)可来描述为:如果一个系统有N个状态,S1,S2,……,Sn,随着时间的推移,该系统从某一状态转移到另一状态,系统在时间t的状态记为qt。系统在时间t处于状态sj(1≤j≤N)的概率取决于其在时间1,2,……,t-1的状态,该概率为:p(qt=sj|qt-1=si,qt-2=sk,……)。
若系统在时间t的状态只与其在时间t-1的状态相关,则该系统构成一个离散的一阶马尔柯夫链(时间与状态都是离散的)又称为齐次马氏链,即:
p(qt=sj|qt-1=si,qt-2=sk,……)=p(qt=sj|qt-1=si)(1)若(1)式是独立于时间t的随机过程,即状态于时间无关,则称为马尔可夫过程。
用Pij(t)表示,在任一时刻s,qs从状态i经过时间t转移到状态j的概率。Pij(t)表示其转移概率。则可通过其转移矩阵来求其n步转移矩阵,令p=p(1)=Pij(t),则其n步转移矩阵为p(n)=pn。若初始状态的概率分布P"(0),则可以求得其n步的概率分布:P"(n)=P"(0)p(n)。
收稿日期:2008-01-15
作者简介:侯传宇(1980-),男,安徽利辛人,助教,合肥工业大学在职研究生,研究方向:人工智能与数据挖掘。
隐马尔可夫模型(HiddenMarkovModels,HMM)是一个双重随机过程,具体的状态序列不可知,只知其状态转移的概率,即模型的状态转换过程是不可观察的(隐蔽的),而可观察的事件的随机过程是隐蔽的状态转换过程的随机函数。也就是说:(1)HMM的状态是不确定或不可见的,只有通过观测序列的随机过程才能表现出来。(2)观察到的事件与状态并不是一一对应,而是通过一组概率分布相联系。(3)HMM是一个双重随机过程,两个组成部分:①马尔可夫链:描述状态的转移,用转移概率描述。②一般随机过程:描述状态与观察序列间的关系,用观察值概率描述。隐马尔可夫模型可以用图1表示,其参数的含义见图2。
图1HMM组成示意图
图2参数的含义
假设λ=(π,A,B),则可以根据前向算法(Theforwardprocedure)或后向算法(Thebackwardprocedure)来求P(O|λ)。根据Viterbi搜索算法可以解决如何选择一个对应的状态序列s=q1,q2,...qt,使得s能够最为合理的解释观察序列O的问题。
3马尔可夫模型与隐马尔可夫模型在数据挖掘中的应用
马尔可夫模型是一种预测模型,广泛的应用于商业预测以及隐含概念漂移的数据流分类中。其在商业预测中为决策者进行决策提供重要的依据,提高了决策的科学性,减少了决策的盲目性;其用于隐含概念漂移的数据流分类中,在保证分类准确度的基础上提高了分类的时间性能。
隐马尔可夫模型是一种应用非常广泛的统计模型,最早是从语音识别问题中发展起来的。七十年代,FredJelinek(贾里尼克)和卡内基・梅隆大学的JimandJanetBaker(贝克夫妇)分别独立地提出用隐含马尔可夫模型来识别语音,语音识别的错误率相比人工智能和模式匹配等方法降低了三倍(从30%下降到10%)。八十年代李开复博士坚持采用隐含马尔可夫模型的框架,成功地开发了世界上第一个大词汇量连续语音识别系统Sphinx。目前HMM已广泛用于文本信息抽取以及用户兴趣漂移研究中。
3.1马尔可夫模型在商业预测中的应用
马尔可夫模型多被用于产品的市场占有率预测中[1],如马尔可夫模型可解决商业群体分析的问题[2],商业群体中客户可分成VIP客户、主要客户、普通客户和小客户,由于不同的客户群体中的客户因为某种原因向其他的客户群体转移,普通客户可以转移到小客户,小客户也可转移成为普通客户,因而客户群体的分布会发生变化。根据帕累托80/20法则,客户群体的变化会直接影响公司的效益。通过建立相应的马尔可夫模型对客户群体组分类进行预测,可为企业制定相应的市场策略提供依据。对数据库中数据的分析
可得到各种客户类型初始状态的分布P!(0),对于一客户群体中的客户向另外一客户群体转移的概率p(n),可以通过对公司历史交易
数据库进行挖掘得到。这样就可以得到下一个状态的分布P!(1)=P!(0)p(n)。这样公司就可以根据下一阶段客户群体的可能的分布状态来调整市场策略。
3.2马尔可夫模型在隐含概念漂移的数据流分类中的应用
RePro算法[8]的目标是:(1)利用原始数据组织的历史概念来判别新的概念是否是历史概念的重现。(2)从概念的历史记录中学习概念转移的规律。(3)实现预测每一个即将来临的概念并用来预测将到来的待分类的样本所属的类。为实现其目标,RePro算法用马尔可夫链表示概念的历史进程,每一个不同的概念就是马尔可夫链的一种状态,不同概念间的变化可以用概念转移矩阵表示,每当出现一个新的概念,就增加矩阵的行列。假设随着时间的推移,利用概念等价度量得到一系列历史概念集C_DIS,利用Proactive算法得到互异概念集C_SEQ,和概念转移矩阵C_TRA。RePro算法设定一个可能的阈值thresholdprob,一个分类精确度阈值thresholdaccu当一个目标样本窗口I_WIN到来时,RePro算法将预测出将用来分类的概念Cnext。Clast表示C_SEQ中最近的稳定概念,依照概念转移矩阵找出转移概率比thresholdprob高的并用Cnext(s)表示。如果不止一个Cnext(s)存在,则对于每一个Cnext(s)计算它在I_WIN中的分类精度,找出分类精度最高的一个。如果不存在Cnext(s),则计算C_DIS上的每一个概念在I_WIN上的分类精度,Cnext用来表示分类精度最高的一个。如果Cnext在I_WIN上的分类精度比thresholdaccu低,则从I_WIN窗口中学习新的概念并用Cnext表示。
RePro算法利用马尔可夫链构造历史概念序列,并充分利用概念转移矩阵对可能出现的概念进行预测,提高了分类的时间性能和分类准确度。