机器学习:HMM:基础
1. HMM的概念
- 时序概率模型,生产不可观测的状态序列和观测序列
定义
λ=(A,B,π)\lambda = (A, B ,\pi)
- Q= 状态集合={q1,q2,...,qN}\{ q_1, q_2, ... ,q_N\}……….N:状态数
- V= 可能的观测集合= {v1,v2,...,vM}\{v_1,v_2, ... , v_M\}………. M:观测数
- I=长度为T的状态序列=(i1,i2,i3,......,iT)(i_1,i_2,i_3,......,i_T)
O=对应的观测序列=(o1,o2,......,oT)(o_1,o_2, ...... ,o_T)
A = 状态转移矩阵
A=[aij]N∗NA=[a_{ij}]_{N*N}
其中 aij=P(it+1=qj|it=qi)a_{ij}=P(i_{t+1}=q_j | i_t=q_i) ,,,,,,,,, i=1,…,N; j=1,….,N
t时刻处于状态qiq_i的条件转移到t+1时刻状态q_j的概率B= 观测概率矩阵
B=[bj(k)]N∗MB=[b_j(k)]_{N*M}
其中bj(k)=P(ot=vk|it=qj)...........k=1,2,3,...M;j=1,2......,Nb_j(k) = P(o_t=v_k | i_t=q_j) ........... k=1,2,3,...M; j=1,2......,N
t时刻处于状态qjq_j的条件下的观测vkv_k的概率
- π\pi 是初始状态概率向量:
π=π(πi)\pi = \pi(\pi_i)
t=1t=1时刻处于状态qiq_i的概率
2. HMM的建模假设
- 齐次马尔科夫性假设
P(it|it−1,ot−1,......,i1,o1)=P(it|it−1)P(i_t | i_{t-1},o_{t-1},......,i_1,o_1) = P(i_t|i_{t-1}) ……….. t=1,2,3,...,Tt=1,2,3,...,T
- 观测独立假设
P(ot|iT,oT,....,i1,oi)=P(ot|it)P(o_t| i_T,o_T,....,i_1,o_i) = P(o_t|i_t)
例子
P173
3. HMM模型的三个基本问题
概率计算问题:
给定模型 λ=(A,B,π)\lambda = (A,B,\pi)和观测序列 O=(o1,...,oT)O=(o_1,...,o_T),计算模型 λ\lambda 下的观测序列OO 出现的概率 P(O|λ)P(O|\lambda)学习问题:
已知观测序列O=(o1,...,oT)O=(o_1,...,o_T), 估计模型λ=(A,B,π)\lambda = (A,B,\pi) 的参数,使得在该模型下观测序列概率 P(O|λ)P(O|\lambda); 极大似然估计的方法预测问题
已知模型λ=(A,B,π)\lambda = (A,B,\pi)和观测序列O=(o1,...,oT)O=(o_1,...,o_T) ;求给定观测序列条件概率 P(I|O)P(I|O) 最大的状态序列 I=(ii,i2,...,iT)I=(i_i,i_2, ... , i_T); 给定观测序列,求最可能的状态序列
4. 概率计算问题
已知: λ=(A,B,π)\lambda = (A,B,\pi)和观测序列 O=(o1,...,oT)O=(o_1,...,o_T),
求解: λ\lambda 下的观测序列OO 出现的概率 P(O|λ)P(O|\lambda)
直接计算
状态序列 I={i1,i2,...,iT}I=\{i_1,i_2,...,i_T\}的概率是
P(I|λ)=πi1ai1i2ai2i3....aiT−1iTP(I|\lambda) = \pi_{i_1}a_{i_1 i_2} a_{i_2 i_3} .... a_{i_{T-1} i_T}
对于固定的状态序列 I={i1,i2,...,iT}I=\{i_1,i_2,...,i_T\}下, 观测序列 O=(o1,...,oT)O=(o_1, ... ,o_T)的概率是 P(O|I,λ)P(O|I,\lambda)
P(O|I,λ)=bi1(o1)bi2(o2)...biT(oT)P(O|I, \lambda) = b_{i_1}(o_1)b_{i_2}(o_2) ... b_{i_T}(o_T)
O 和 I 的联合概率
P(O|I,λ)=P(O|I,λ)P(I|λ)P(O|I,\lambda) = P(O|I,\lambda) P(I|\lambda)
=πi1bi1(o1)ai1i2bi2(o2)...aiT−1biT(oT)=\pi_{i_1} b_{i_1}(o_1)a_{i_1 i_2} b_{i_2}(o_2)... a_{i_{T-1}}b_{i_T}(o_T)对所有的可能的状态序列II求和, 得到观测序列 O的概率 P(O|λ)P(O|\lambda)
P(O|λ)=∑IP(O|I,λ)P(I|λ)P(O|\lambda) = \sum \limits_I P(O|I,\lambda)P(I|\lambda)
=∑i1,i2,...,iTπi1bi1(o1)ai1i2bi2(o2)...aiT−1biT(oT)=\sum \limits_{i_1,i_2,...,i_T} \pi_{i_1} b_{i_1}(o_1)a_{i_1 i_2} b_{i_2}(o_2)... a_{i_{T-1}}b_{i_T}(o_T)计算复杂度: O(TNT)O(TN^T)
5. 前向算法
前向概率
- 已知:λ\lambda
- 定义:时刻 tt 部分观测序列为 o1,o2,...,oto_1,o_2,...,o_t 且状态为 qiq_i 的概率 为前向概率
αt(i)=P(o1,o2,...,ot,it=qi|λ)\alpha_t(i) = P(o_1,o_2,...,o_t, i_t=q_i|\lambda)
前向算法
- 输入: 隐马尔科夫模型 λ\lambda;观测序列 OO;
输出:观测序列的概率 P(O|λ)P(O|\lambda)
初值:
α1(i)=πibi(oi)\alpha_1(i) = \pi_ib_i(o_i)……… i=1,2,…,N
递推: t=1,2,…,T-1
αt+1(i)=[∑j=1Nαt(j)αji]bj(ot+1)\alpha_{t+1}(i) = [\sum \limits_{j=1}^N \alpha_t(j) \alpha_{ji}]b_j(o_{t+1})
终止
p(O|λ)=∑Ni=1αT(i)p(O|\lambda) = \sum_{i=1}^N \alpha_T(i)
结论
- 每次应用前一个时刻的计算结果
复杂度
O(N2T)O(N^2T)
6 .后向算法
前向概率
- 已知:λ\lambda
定义:时刻 tt 部分观测序列为 o1,o2,...,oto_1,o_2,...,o_t 且状态为 qiq_i 的概率 为前向概率
αt(i)=P(o1,o2,...,ot,it=qi|λ)\alpha_t(i) = P(o_1,o_2,...,o_t, i_t=q_i|\lambda)
后向概率
- 已知:λ\lambda
定义:定义时刻tt下状态为qiq_i条件下,从 t+1t+1到TT部分观测序列为ot+1,ot+2,...,oTo_{t+1},o_{t+2},...,o_T的概率是后向概率
βt(i)=P(ot+1,ot+2,...,oT|it=qt,λ)\beta_t(i) = P(o_{t+1},o_{t+2}, ... ,o_T| i_t = q_t ,\lambda)
后向算法
- 输入: 隐马尔科夫模型 λ\lambda;观测序列 OO;
- 输出:观测序列的概率 P(O|λ)P(O|\lambda)
步骤1:
βT(i)=1\beta_T(i)=1 ……. i=1,2,…,N
步骤2:对于 t=T−1,T−2,...,1t= T-1,T-2,...,1
βt(i)=∑j=1Naijbj(ot+1)βt+1(j)\beta_t(i) = \sum \limits_{j=1}^N a_{ij} b_j(o_{t+1})\beta_{t+1}(j)……….. i=1, 2, 3, …, N
步骤3:
P(O|λ)=∑Ni=1πibi(oi)βi(i)P(O|\lambda) = \sum_{i=1}^N \pi_i b_i(o_i)\beta_i(i)
7. HMM的概率与期望
* 给定 λ\lambda 和观测 O,在 tt 时刻处于qiq_i 的概率
γt(i)=P(it=qi|O,λ)\gamma_t(i) = P(i_t = q_i | O,\lambda)
γt(i)=P(it=qi|O,λ)=P(it=qi,O|λ)P(O|λ)\gamma_t(i) = P(i_t = q_i | O, \lambda) = \frac{P(i_t=q_i, O| \lambda)}{P(O| \lambda)}
因为:
αt(i)βt(i)=P(it=qi,O|λ)\alpha_t(i) \beta_t(i) = P(i_t = q_i ,O| \lambda)
=>
γi(t)=αt(i)βt(i)P(O|λ)=αt(i)βt(i)∑j=1Nαt(i)βt(j)\gamma_i(t) = \frac{\alpha_t(i)\beta_t(i)}{P(O|\lambda)} = \frac{\alpha_t(i)\beta_t(i)}{\sum \limits_{j=1}^N {\alpha_t(i)\beta_t(j)}}
* 给定模型 λ\lambda 和观测 OO, 在时刻 tt 处于状态 qiq_i 且在时刻 t+1t+1 处于qjq_j 的概率
ξt(i,j)=P(it=qi,it+1=qj|O,λ)\xi_t(i ,j) = P(i_t=q_i,i_{t+1}=q_j | O,\lambda)
前向后向概率计算 =>
ξt(i,j)=P(it=qi,it+1=qj,O|λ)P(O|λ)=P(it=qi,it+1=qj,O|λ)∑i=1N∑j=1NP(it=qi,it+1=qj,O|λ)\xi_t(i ,j) =\frac{P(i_t=q_i, i_{t+1} = q_j, O | \lambda)}{P(O| \lambda)} =\frac{P(i_t=q_i, i_{t+1} = q_j, O | \lambda)}{\sum\limits _{i=1}^N \sum\limits_{j=1}^NP(i_t=q_i,i_{t+1}=q_j ,O |\lambda)}
=αt(i)aijbj(Ot+1)βt+1(j)∑i=1N∑j=1Nαt(i)aijbj(ot+1)βt+1(j)= \frac{\alpha_t(i) a_{ij} b_j(O_{t+1})\beta_{t+1}(j)}{\sum\limits_{i=1}^N \sum\limits_{j=1}^N \alpha_t(i)a_{ij} b_j(o_{t+1}) \beta_{t+1}(j)}
* 期望
在观测O下状态 ii 出现的期望
∑Tt=1γt(i)\sum_{t=1}^T \gamma_t(i)
在观测O下由状态 ii 转移的期望值
∑t=1T−1γt(i)\sum\limits_{t=1}^{T-1}\gamma_t(i)
在观测O下,由状态ii 转移到 状态 jj的期望值
∑t=1T−1ξt(i,j)\sum\limits_{t=1}^{T-1}\xi_t(i ,j)
机器学习:HMM:基础相关推荐
- 大福利!Google机器学习零基础在线课程发布,免费!有中文版!
作者 | Leo 新的学习资源来了!刚刚,谷歌上线了人工智能学习网站 Learn with Google AI,并推出了机器学习在线课程,免费!而且还有中文版! 传送门: "机器学习速成课程 ...
- 为什么用Go编写机器学习的基础架构,而不是Python?
2020-02-14 12:35:39 全文共2626字,预计学习时长8分钟 来源:blog.sina Python是机器学习项目中最流行的语言,这点是毋庸置疑的. 虽然像R语言.C++和Julia这 ...
- 干货|机器学习零基础?不要怕,吴恩达课程笔记第三周!逻辑回归与正则
吴恩达Coursera机器学习课系列笔记 课程笔记|吴恩达Coursera机器学习 Week1 笔记-机器学习基础 干货|机器学习零基础?不要怕,吴恩达机器学习课程笔记2-多元线性回归 1 Logis ...
- WAIC | 九章云极方磊:Hypernets——自动化机器学习的基础框架
在 WAIC 2021 AI 开发者论坛上,九章云极 DataCanvas 董事长方磊发表主题演讲<Hypernets:自动化机器学习的基础框架>,在演讲中,他主要介绍了 Hypernet ...
- 为什么用Go编写机器学习的基础架构,而不是Python?
全文共2626字,预计学习时长8分钟 来源:blog.sina Python是机器学习项目中最流行的语言,这点是毋庸置疑的. 虽然像R语言.C++和Julia这样的程序语言有其特有的使用群体与用例,使 ...
- 微软剑桥研究院院长Christopher Bishop:机器学习的基础是什么?
大数据文摘授权转载自微软研究院Al头条 我们正处在人工智能革命的过程中,越来越多的人开始认识到人工智能的强大力量.在这篇访谈中,微软剑桥研究院院长Christopher Bishop博士将为大家介绍现 ...
- AI 应用研究 “淹没” 基础研究现象明显,应加强人工智能机器学习的基础研究
文章目录 一.前言 二.主要内容 三.总结 一.前言 从下棋的 AlphaGo 到预测蛋白质结构的 AlphaFold,从画画的 DALL·E 2 到聊天的 ChatGPT,这些或曾红极一时,或正风头 ...
- 机器学习线性代数基础
机器学习线性代数基础 线性代数作为数学的一个分支,广泛用于科学和工程中.然而,因为线性代数主要是面向连续数学,而非离散数学,所以很多计算机科学家很少接触它.握好线性代数对于理解和从事机器学习算法相关工 ...
- 机器学习的基础图表!
↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:Alan Morrison,编译:机器之心 四大会计师事务所之一的 ...
- 收藏 | 机器学习的基础图表
来源:机器之心本文约3400字,建议阅读10+分钟本文为你介绍机器学习的基本概念原理和常见算法. 四大会计师事务所之一的普华永道(PwC)发布了多份解读机器学习基础的图表,其中介绍了机器学习的基本概念 ...
最新文章
- boost::math::skew_normal用法的测试程序
- 数列分段II(信息学奥赛一本通-T1436)
- 【linux】kali 创建应用程序桌面图标(以burpsuite为例)
- POJ 2031 Building a Space Station
- 单片机魔法编程百度云_[2020][欧美][喜剧][魔法教母]高清资源百度云,高清1080P资源在线!...
- Thinkpad p15 gen1安装双系统遇到的问题
- ConceptDraw使用Rapid Draw简化流程图教程指南
- [转载]CAST-CONVERT两个函数进行类型转换时的异同点
- HTML5期末大作业:我的家乡网站设计——我的家乡-绿城之都-南宁(9页) HTML+CSS+JavaScript 大学生简单个人静态HTML网页设计作品
- Android -结束当前activity并返回上一个activity
- keil设置c语言字体大小,Keil uVision4怎么放大字体?放大字体和关键字标注颜色方法介绍...
- if else python格式_python 基本的if_else使用
- 计算机数据恢复试题,数据恢复半期考试试题答案.doc
- 请求示例curl获取电商商品详情数据API接口,批量采集
- SpringCloud Netflix的核心组件
- 服务器内存 知乎_内存的差距——服务器内存和普通PC内存的区别
- Nginx+Keepalived+LVS集群实战
- android校园通软件论文,基于Android平台的校园通掌上系统的设计与实现
- 大众点评成立推广事业部,帮助本地商户建立高效创新的营销体系
- 电脑蓝屏该如何给电脑重装系统