【模式识别|马尔科夫原理及应用场景】
原创作品,出自 “晓风残月xj” 博客,欢迎转载,转载时请务必注明出处(http://blog.csdn.net/xiaofengcanyuexj)。
由于各种原因,可能存在诸多不足,欢迎斧正!
一、马尔科夫模型
马尔可夫模型,是指数学中具有马尔可夫性质的离散事件随机过程。该过程中,在给定当前知识或信息的情况下,过去(即当前以前的历史状态)对于预测将来(即当前以后的未来状态)是无关的。《百度百科》
马尔可夫模型是随机变量X1,…Xn-1,Xn的序列,这些变量的范围所有可能取值集合,被称为状态空间,而Xn的值x则是在时间n的状态。用数学表达式的近似形式就是:P(Xn=x|Xn-1,Xn-2,.....X1)=P(Xn|Xn-1),其中x是Xn的某种取值。
马尔科夫模型的特点就是第n个序列的取值至于前一个n-1相关,与之前所有的都不相关。文本分析的1-gram模型就是典型的应用。
二、应用场景
2.1、n-gram模型
若某个句子含有n个词语,S=(W1,W2...Wn),其概率为:P(S)=P(W1)*P(W2|W1)*P(W3|W1,W2)...P(Wn|Wn-1...W2,W1),即连续n个词语同时有序出现的概率等于边缘概率与连成条件概率,可以将前面n-1个词称看做第n个词语的语境历史。如果语境历史的长度为n,词语集合大小为m,则可能的情况有m^n,会带来组合爆炸问题。为解决此类问题,引用等价类减少参数,即如果两个历史最近的n-1(1≤n≤k)个词相同,那么把这两个历史映射到同一个等价类当中。这种方法就称为n元语法(n-gram),n是指的等价类的个数。
a)、当n等于1时,即n-1=0,出现在第i位上的词语独立历史,记为unigram;
b)、当n等于2时,即n-1=1,出现在第i位上的词只与前一个词有关,一阶马尔科夫链,记为bigram;
c)、当n等于3时,即n-1=2,出现在第i位上的词与前两个词有关,二阶马尔科夫链,记为trigram。
以bigram为例,为了估计p(wi|wi-1),可以用最大似然估计计算:P(Wi|Wi-1)=count(Wi-1,Wi)/count(Wi-1),count(Wi-1,Wi)表示Wi-1和Wi同时出现的概率,count(Wi-1)表示所有Wi-1出现的概率。
路漫漫其修远兮,很多时候感觉想法比较幼稚。首先东西比较简单,其次工作也比较忙,还好周末可以抽时间处理这个。由于相关知识积累有限,欢迎大家提意见斧正,在此表示感谢!后续版本会持续更新…
推荐阅读
- MATLAB图形界面|基于Matlab的汽车出入库计时计费系统
- 召回率 Recall、精确度Precision、准确率Accuracy
- 模板匹配(Match Template) 修改版
- 模式识别相似性测度距离计算---几种距离对比
- (3) windows下可运行的mat转xml,VOC-release4.01 DPM训练的model(mat)转为OpenCV latentsvm可以加载的model(xml)
- Python 实现步态能量图