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

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=aijN×N,

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

  1. ++输出观测概率++:某时刻状态si,获得观测值oj的概率,通常记为概率矩阵B=bijN×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) 的条件独立性,隐马尔可夫模型这三个问题均能被高效求解。

相关推荐
、如果4 分钟前
PDF图片文字提取零依赖方案:pymupdf+AI视觉实战
人工智能·数据分析·pdf·图片提取·文字提取·skills
米小虾8 分钟前
不偷权重,只问问题:蒸馏攻击是怎么把前沿模型"问"走的,以及什么真能挡住
人工智能
2601_9605544716 分钟前
会议录音一键生成纪要:实测告别手工整理
人工智能
米小虾19 分钟前
一周 AI 观察(9.5–9.11):AI 从"产品"变成"基础设施"
人工智能
Behaviour20 分钟前
iPhone Duo 来了,苹果 Siri AI 接入定制 Gemini
人工智能·ios·语言模型·aigc·iphone
不要生病了39 分钟前
扩散语言模型的“灵活性陷阱”:为什么训练时反而应该按自回归顺序探索?
人工智能·语言模型·回归
前端snow1 小时前
ai agent---语音交互
人工智能
IT·陈寒1 小时前
Vue组件props传对象给我整不会了
人工智能·大模型·api·创业·变现·简历优化
2601_965742221 小时前
全媒体运营与短视频代运营,两者有什么区别?
大数据·数据结构·人工智能·算法·ai·媒体
Joker-Zohar1 小时前
GPT-Image-2.5 双版本上线:8 组压力测试的提示词拆解,中文渲染零乱码
人工智能·gpt