机器学习(三十三) 概率图模型与隐马尔可夫模型

33.1 概率图模型

机器学习最重要的任务,是根据已观察到的数据(例如训练样本)对感兴趣的未知变量(例如类别标记)进行估计或推测。

概率模型(probabilistic model) 基于可观测变量推测未知变量的条件概率分布,称为"推断"(inference) -- 可将学习任务归为计算未知变量的条件概率分布:

假定可观测变量集合为O,未知变量(集合)为Y,其他变量的集合为R,由联合分布P(Y,R,O)或条件分布P(Y,R|O)或P(Y|O,R)得到条件概率分布P(Y|O)。

另一方面,属性变量之间往往存在复杂的联系,因此概率模型的学习,即基于训练样本估计未知变量概率分布的参数往往相当困难。为了研究高效的推断和学习的算法,需要一套表达变量之间关系的工具。
++概率图模型(probabilistic graphical model)是用图表达变量之间相关关系的概率模型 (用一个结点表示一个或一组随机变量,结点之间的边表示变量之间的概率相关性)++ 。

概率图模型大致分为两类:第一类是使用有向无环图表示变量之间的因果关系,例如贝叶斯网(Bayesian network);第二类是使用无向图表示变量之间的相关关系,例如马尔可夫网(Markov network)。

33.2 隐马尔可夫模型

33.2.1 状态变量、观测变量、联合概率分布

隐马尔可夫模型 (Hidden Markov Model,简称HMM)是结构最简单的动态贝叶斯网(dynamic Bayesian network),是一种著名的有向图模型,++主要用于时序数据建模++ ,在语音识别、自然语言处理等领域有广泛应用。

隐马尔可夫模型中的变量可分为两组:第一组是++状态变量 {y1, y2, ..., yn},其中 yi∈Y 表示第i时刻的系统状态。通常假定状态变量是隐藏的、不可被观测的,因此状态变量亦称隐变量(hidden variable)++ 。第二组是++观测变量 {x1, x2, ..., xn},其中 xi∈X 表示第i时刻的观测值++ 。

状态变量yi的取值范围Y(称为状态空间)通常是N个可能取值的离散空间 -- 隐马尔可夫模型通常在多个状态{s1, s2, ..., sN}之间转换。观测变量xi可以是离散型也可以是连续型,假定为离散型观测变量,其取值范围X为{o1, o2, ..., oM}。

++在任一时刻,观测变量的取值 xt 仅由状态变量 yt 确定 (yt→xt),同时,t时刻的状态 yt 仅由(t-1)时刻的状态 y(t-1)确定 (yt-1 → yt),这就是"马尔可夫链"(Markov chain)++。

基于这种依赖关系,所有变量的联合概率分布为
++P(x1, y1, ..., xn, yn) = P(y1)P(x1 | y1)∏(i=2,n)P(yi | yi-1)P(xi | yi)++ <其中,y1为系统的初始状态>

33.2.2 三组参数与三个基本问题

隐马尔可夫模型还有以下三组参数:

  1. ++状态转移概率++:某时刻状态si,下一时刻状态为sj的概率,通常记为概率矩阵A=[aij]N×N,

aij = P(yt+1=sj | yt=si),1≤i, j≤N

  1. ++输出观测概率++:某时刻状态si,获得观测值oj的概率,通常记为概率矩阵B=[bij]N×M,

bij = P(xt=oj | yt=si), 1≤i≤N, 1≤j≤M <注意:N是状态取值的个数,M是观测取值的个数>

  1. ++初始状态概率++:模型在初始时刻状态为si的概率,通常记为概率向量π=(π1, π2, ..., πN),

πi = P(y1=si),1≤i≤N

++通过指定上述三组参数,可确定一个隐马尔可夫模型,通常用其参数 λ=[A,B,π] 指代++。给定隐马尔可夫模型参数λ,按如下过程产生观测序列{x1, x2, ..., xn}:

(1)设置t=1,根据初始状态概率 π 获得初始状态y1;

(2)根据状态 yt 和输出观测概率 B 获得观测变量取值xt;

(3)根据状态 yt 和状态转移概率 A 获得模型下一时刻状态yt+1;

(4)若t<n,设置t=t+1,再从第(2)步开始执行,否则停止。

其中yt∈{s1,s2,...,sN}和xt∈{o1,o2,...,oM}分别为第t时刻的状态和观测值。

在实际应用中,隐马尔可夫模型最常关注的三个基本问题:

(1)给定模型λ=[A,B,π]​,如何有效计算其能产生出观测序列x={x1, x2, ..., xn}的概率P(x|λ)?即,++如何评估模型λ与观测序列x之间相匹配的程度?<评估模型的性能,模型要能尽量接近于产生出观测序列x的λ>++

(2)给定模型λ=[A,B,π]和观测序列x={x1, x2, ..., xn},如何找出与此观测序列最匹配的状态序列y={y1, y2, ..., yn}?即,++如何根据模型参数λ与观测序列x推断出隐藏的模型状态y?++

(3)给定观测序列x={x1, x2, ..., xn},如何调整模型参数λ=[A,B,π],使得出现此观测序列的概率P(x|λ)最大?即,++如何训练模型使其能最好地描述出期望的观测数据?++

上述问题在现实应用中非常重要。例如许多任务需要根据以前的观测序列 {x1, x2, ..., xn-1} 推测当前时刻最有可能的观测值xn,即上述第一个问题;

<根据模型参数λ=[A,B,π],与观测序列x={x1, x2, ..., xn-1},求解P(xn|λ)概率分布,xn=argmax(x) P(xn|λ)>

在语音识别等任务中,观测值为语音信号,隐藏状态为文字,模型根据观测信号推断最有可能的状态序列(即对应的文字)​,即上述第二个问题;

根据训练样本学得最优的模型参数λ,是上述第三个问题。

基于 P(x1, y1, ..., xn, yn)=P(y1)P(x1|y1)∏(i=2,n)P(yi|yi-1)P(xi|yi) 的条件独立性,隐马尔可夫模型这三个问题均能被高效求解。

相关推荐
HyperAI超神经1 天前
教程汇总丨开源小模型综合智能水平追平GPT-5,一站测评Qwen 3.5/Gemma 4等热门模型
人工智能
观远数据1 天前
跨部门指标统一治理:如何消除数据口径歧义提升决策效率
大数据·人工智能·数据挖掘·数据分析
常宇杏起1 天前
AI安全进阶:AI模型鲁棒性测试的核心方法
大数据·人工智能·安全
搜佛说1 天前
sfsEdgeStore,工业物联网边缘计算的“瘦身”革命
人工智能·物联网·边缘计算
chipsense1 天前
霍尔电流传感器选型方法论再升级:从800V平台到TMR竞争的全场景决策树
算法·决策树·机器学习·闭环霍尔·tmr传感
算力百科小智1 天前
2026 年深度学习 GPU 算力租用平台全面对比
人工智能·智星云·gpu算力租用
木泽八1 天前
2026年网络安全威胁全景:AI攻防新纪元完全指南
人工智能·安全·web安全
MediaTea1 天前
知识图谱 04:知识表示模型
人工智能·知识图谱
词元Max1 天前
Java 转 AI Agent 开发学习路线(2026年3月最新版)
java·人工智能·学习
实在智能RPA1 天前
Agent如何帮助企业减少人为操作失误?——2026年企业级智能体闭环执行与风险治理深度拆解
人工智能·ai