传说中的Markov"不过如此”
因为看一篇题为 Passive Measurement of Interference in WiFi Network with Application in Misbehavior Detection的文章,学习了马尔科夫模型。之前一直主观觉得马尔科夫模型太难,看过之后其实不过如此,恰恰相反,这个模型本身还简化了原本复杂的概率网络。《模式识别》对马尔科夫和隐马尔可夫介绍得非常详尽易懂。马尔科夫模型是一个非常useful的工具。
几个重要概念:
马尔可夫假设:在一个随着时间观测到的对象序列中,T时刻观测到某对象的概率只和T-1时观测到的对象有关系。
马尔科夫模型的表示:
S:状态转换图中的状态集合
A:状态转移概率矩阵,aij表示从状态i迁移到状态j的概率
B:bij表示在状态i上观测到对象vj的概率
p:初始状态上观测到各值的概率,是一个向量
马尔科夫的三个核心问题:
估值问题(evaluation): 已知markov模型,和序列V,求观测到该序列的概率
解码问题(decoding):已知模型和t时刻观测到的Vt,求最可能观测到的序列
学习问题(Learning):已知状态集合S和观测序列V,求模型的各参数A,B,p
下面是evaluation代码(解码过程类似),前向算法
%% HMM model: A, B, initialstate, finalstate,
%state transition propability
A=[1 0 0 0;
0.2 0.3 0.1 0.4;
0.2 0.5 0.2 0.1;
0.8 0.1 0.0 0.1
];
%b_jkv(t): v(t)'s occupation probability when the current state is w_j in time t
B=[1 0 0 0 0;
0 0.3 0.4 0.1 0.2;
0 0.1 0.1 0.7 0.1;
0 0.5 0.2 0.1 0.2
]; final_state=1; %the final state
init_state=2; %the initial state %% observed sequence
V=[2,4,3,1]; %visable sequence, v1 is the empty visable symbol.
% # of states
c=size(A);
% # of time slots
T=length(V); %% HMM forward algorithm : for evaluation problem of HMM: give a HMM model, calculate P(V)
a=zeros(c, T);
for t=1:T
for j=1:c
if t==1
a(j, t)=1*A(init_state, j)*B(j, V(t));
else
sum=0;
for i=1:c
sum=sum+a(i, t-1)*A(i, j);
end
a(j, t) = B(j, V(t))*sum;
end
end
end
a(1, T)
学习问题:在MATLAB中集成了hmmestimate等函数,可以完成各种问题的解决。
summary: markov其实大致分为两部分,一部分是理解状态图中的概率迁移,以及markov假设;一部分是具体实现,由于markov问题的高复杂度,才出现了前向、后向算法,而那些算法的目的只是在多项式复杂度内进行求解。
传说中的Markov"不过如此”的更多相关文章
- Block Markov Coding & Decoding
Block Markov coding在一系列block上进行.在除了第一个和最后一个block上,都发送一个新消息.但是,每个block上发送的码字不仅取决于新的信息,也跟之前的一个或多个block ...
- [综]隐马尔可夫模型Hidden Markov Model (HMM)
http://www.zhihu.com/question/20962240 Yang Eninala杜克大学 生物化学博士 线性代数 收录于 编辑推荐 •2216 人赞同 ×××××11月22日已更 ...
- Atitit 马尔可夫过程(Markov process) hmm隐马尔科夫。 马尔可夫链,的原理attilax总结
Atitit 马尔可夫过程(Markov process) hmm隐马尔科夫. 马尔可夫链,的原理attilax总结 1. 马尔可夫过程1 1.1. 马尔科夫的应用 生成一篇"看起来像文章的 ...
- Superpixel Based RGB-D Image Segmentation Using Markov Random Field——阅读笔记
1.基本信息 题目:使用马尔科夫场实现基于超像素的RGB-D图像分割: 作者所属:Ferdowsi University of Mashhad(Iron) 发表:2015 International ...
- PRML读书会第十三章 Sequential Data(Hidden Markov Models,HMM)
主讲人 张巍 (新浪微博: @张巍_ISCAS) 软件所-张巍<zh3f@qq.com> 19:01:27 我们开始吧,十三章是关于序列数据,现实中很多数据是有前后关系的,例如语音或者DN ...
- PRML读书会第十一章 Sampling Methods(MCMC, Markov Chain Monte Carlo,细致平稳条件,Metropolis-Hastings,Gibbs Sampling,Slice Sampling,Hamiltonian MCMC)
主讲人 网络上的尼采 (新浪微博: @Nietzsche_复杂网络机器学习) 网络上的尼采(813394698) 9:05:00 今天的主要内容:Markov Chain Monte Carlo,M ...
- 隐马尔可夫模型(Hidden Markov Model,HMM)
介绍 崔晓源 翻译 我们通常都习惯寻找一个事物在一段时间里的变化规律.在很多领域我们都希望找到这个规律,比如计算机中的指令顺序,句子中的词顺序和语音中的词顺序等等.一个最适用的例子就是天气的预测. 首 ...
- Markov Random Fields
We have seen that directed graphical models specify a factorization of the joint distribution over a ...
- (转)Markov Chain Monte Carlo
Nice R Code Punning code better since 2013 RSS Blog Archives Guides Modules About Markov Chain Monte ...
随机推荐
- C# 中 static 的用法
说明1: 表示静态的关键字说明此对象在应用中只存在一份 说明2:C# 是面向对象的程序设计语言,每一个函数都属于一个类. 当 一个方法被声明为Static时,这个方法是一个静态方法,编译器会在编译时保 ...
- JS运动学习笔记 -- 任意值的运动框架(高/宽度,背景颜色,文本内容,透明度等)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- linux下别名alias的设置
我有一个常用目录/volumes/mac/www’,每次都要输入这么长的路径,麻烦,所以有了以下配置 1.vi ~/.bash_profile 2.按住shift + i进入编辑状态 3.插入 ali ...
- VS2015编译错误:调用的目标发生了异常--->此实现不是Windows平台FLPS验证的加密算法的一部分。
在Win10下安装好几次VS2015(企业版)了,这次发生了一个奇怪的问题,错误截图如下: 控制台.WPF等项目均有此错误!但是ASP.NET项目却可以编译运行!一开始还以为VS2015安装错误,修复 ...
- WPF 类型“System.ComponentModel.ISupportInitialize”在未被引用的程序集中定义。
问题:类型“System.ComponentModel.ISupportInitialize”在未被引用的程序集中定义.必须添加对程序集“System, Version=4.0.0.0, Cultur ...
- RHEL安装docker-compose
Note that Compose 1.5.2 requires Docker 1.7.1 or later. pip install docker-compose==1.5.2 Note that ...
- Sorl之java操作
参考教程: http://www.cnblogs.com/xia520pi/p/3625232.html http://www.cnblogs.com/hujunzheng/p/5647896.htm ...
- Linux系统下sendmail发送邮件失败的问题
问题是:安装完sendmail,启动服务后,发送邮件第一次发送成功,后面再次无论怎么发送都不行,换邮箱也不行.在确认我的邮件发送格式正确无误后,想到查看邮件发送日志: [root@backu ...
- .NET书籍推荐
任何语言的学习,要快速掌握,不在看书,而在实践.——题记 .NET技术从1.1发展到2.0,内核基本完善,从.NET 2.0开始学习是个明智的选择.而NET 3.5以及即将推出的.NET 4.0所新加 ...
- C#二维数组及其本质(转)
C#中二维数组包含两类:二维数组和数据矩阵.(这是我个人分类法,我认为比较能反映本质). 如上图,是二维数组,横向为第一维度,纵向为第二维度,不同维度可以有不同长度. 如果去掉元素7,那么上图也可能是 ...