模式识别与机器学习(一):隐马尔可夫模型(HMM)与贝叶斯网络

1.引言

在很多问题之中,我们关心的特征和事件具有一定的概率依赖关系,这种依赖关系是具有因果性的,我们可以用条件概率去刻画,并使用贝叶斯网络去描述模型,马尔可夫模型和隐马尔科夫模型都可看作贝叶斯网络的特殊形式。

2.贝叶斯网络

2.1基本概念

贝叶斯网络是一种用有向无环图来表示随机变量间的相互依赖关系,它提供了一种表示联合概率分布的方法,在机器学习和概率推断有着重要应用。

2.2基本原理

概率推断问题可以抽象为在一个联合概率分布模型中,已知部分随机变量的取值x_{v},去求未知变量x_{h}

\begin{aligned} P(x_{n}|x_{v},\theta)=\frac{P(x_{n},x_{v}|\theta)}{P(x_{v}|\theta)} \end{aligned}

这里我们引入两个定理。

2.2.1随机变量的条件独立性

对于随机变量X,Y,Z,如果其满足

p(x,y|z)=p(x|z)p(y|z)

我们称之为X和Y关于Z条件独立。

根据条件独立,我们可计算p(x|y,z)

p(x|y,z)=\frac{p(x,y,z)}{p(y,z)}=\frac{p(x,y|z)p(z)}{p(y|z)p(z)}=p(x|z)

2.2.2链式法则

对于高维的随机分布,我们可以写成如下形式:

p(x_{1},x_{2},...,x_{n})=p(x_{1})p(x_{2}|x_{1})...p(x_{n}|x_{1},x_{2},...,x_{n-1})

2.2.3马尔可夫链

对于一个随时间变化的随机变量X,x_{t}表示t时刻X的状态,如果随机变量X下一刻的状态与过去无关,即x_{t+1}x_{1},x_{2},...,x_{t-1}关于x_{t}条件独立,这样的随机变量满足一阶马尔可夫假设,联合概率有如下形式:

p(x_{1},x_{2},...,x_{n})=p(x_{1})\prod_{t=2}^{n}p(x_{t}|x_{t-1})

这种随机过程我们称之为马尔可夫链。

2.2.4图表示

在一个贝叶斯网络中,节点表示随机变量,有向边表示随机变量之间的相互依赖关系,我们用箭头连接节点,箭头出发的点称为父节点,箭头指向的点称为子节点,边上权值用p(子节点|父节点)描述,联合分布有:

p(x)=\prod_{i=1}^{n}p(x_{i}|A_{i})

其中A_{i}x_{i}父节点的集合。

3.隐马尔科夫模型(HMM)

3.1基本概念

在一个系统中,它的状态取值服从马尔科夫链,但是它状态的变化我们无法直接观察到,能够观察到数据是一定概率由不可观测的系统内部状态(隐变量)决定的。任何HMM模型我们都可以用起始概率,发射概率和跳转概率来描述,跳转概率是隐节点之间的边,发射概率是隐节点与可观测节点之间的边。如下面的例子:

在给定观测序列O和隐状态序列X的情况下,联合概率为:

P(x,o)=S_{x_{1}}e_{x_{1}}(o_{1})\prod_{i=2}^{n}e_{x_{i}}(o_{i})a_{x_{i-1}x_{i}} 

其中S是起始概率,e是发射概率,a是转移概率。

3.2HMM评估问题

给定观测序列O和模型M(模型结构和参数给定),计算p(O|M),即计算该序列来自该模型的似然度。如何计算p(O|M)呢,一种想法是穷尽模型M下各种可能的观测序列产生O的概率,但是这样时间复杂度为O(n^{L}),当序列过长,时间复杂度太大,不利于计算。这里介绍两种基于动态规划的算法。

3.2.1向前算法

step1:定义初值

\alpha _{1}(j)=e_{j}(o_{1})S_{j},j=1,2,...,n

step2:对t迭代求解

\alpha _{t}(j)=e_{j}(o_{t})\sum_{i=2}^{n}\alpha _{t-1}(i)a_{ij},t=1,2,...,L

step3:终止结果

p(O)=\sum_{i=1}^{n}\alpha _{L}(i)

如下图所示:

3.2.2向后算法

我们 引入后向概率:

\beta _{t}(j)=p(o_{t+1}o_{t+2}...o_{L}|x_{t}=q_{j})

它表示在t时刻当隐状态x_{t}=q_{j}时,观察到后续观察值为o_{t+1}o_{t+2}...o_{L}的概率。

step1:定义初值

\beta _{L}(j)=1,j=1,2,...,n

step2:对t迭代求解

\beta _{t}(j)=\sum_{i=2}^{n}a_{ij}e_{i}(o_{t+1})\beta _{t+1}(i),t=1,2,...,L

step3:终止结果

p(O)=\sum_{i=1}^{n}S_{i}e_{i}(o_{1})\beta _{1}(i)

如下图所示:

 

 

 

3.3HMM隐状态推断问题(解码问题)

在一些情况下,我们希望能够根据模型参数与观测序列推断最有可能的隐状态序列。

3.3.1维特比算法

最优路径的特性:如果A到B中最优路径包含C,那么A到C的最优路径就是A到B中最优路径的A到C的部分。

step1:定义初值

v_{1}=e_{j}(o_{1})S_{j},pa_{1}(j)=0,j=1,2,...,n

step2:对迭代求解

                                        for j=1:n

                                              for t=1:L

       v_{t}(j)=\max{v_{t-1}(i)a_{ij}e_{j}(o_{t})}

       pa_{t}(j)=\arg{\max{v_{t-1}(i)a_{ij}e_{j}(o_{t})}}

step3:终止结果

p^{\ast }=\max{v_{L}(i)}\\ x_{L}^{\ast }=\arg{\max{v_{L}(i)}}

step4:路径回溯

x_{t}^{\ast }=pa_{t+1}(x_{t+1}^{\ast })

如下图所示:

3.4HMM学习问题

在实际情况中,我们希望根据大量观测数据得出模型的参数,在已知模型结构,观测值范围V和隐状态集Q,根据样本O,求得模型参数A,E,S。

3.4.1Baum-Welch算法

它是一种结合动态规划和期望最大化的方法,简称EM算法。

E步骤:

利用模型现有参数求隐变量取值的期望。

M步骤:

利用当前对隐变量估计值对模型参数进行最大似然估计,更新模型。

如下图所示:

 

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
机器学习是一种人工智能的分支,主要研究如何让计算机在不需要明确编程的情况下自主学习和改进。模式识别机器学习的一个重要应用领域,主要研究如何让计算机自动识别和分类各种类型的模式。 机器学习模式识别中的应用可以追溯到上世纪50年代。当时,研究人员开始使用机器学习技术来解决模式识别问题。随着计算机技术的不断发展,机器学习算法也越来越成熟,现在已经成为模式识别领域中不可或缺的一部分。 机器学习模式识别中的应用主要包括以下几个方面: 1. 图像识别 图像识别是机器学习模式识别中应用的一个重要领域。图像识别技术可以让计算机自动识别和分类各种类型的图像,包括人脸识别、物体识别、场景识别等。目前,图像识别技术已经广泛应用于安防、医疗、交通等领域。 在图像识别中,机器学习算法主要包括卷积神经网络(CNN)、支持向量机(SVM)等。CNN是一种特殊的神经网络,可以有效地处理图像数据。SVM是一种分类算法,可以用来分类各种类型的图像。 2. 语音识别 语音识别是机器学习模式识别中的又一个重要领域。语音识别技术可以让计算机自动识别和转换人类的语音命令,包括语音识别、语音合成等。目前,语音识别技术已经广泛应用于智能家居、车载系统、语音助手等领域。 在语音识别中,机器学习算法主要包括隐马尔可夫模型HMM)、循环神经网络(RNN)等。HMM是一种统计模型,可以用来对语音信号进行建模。RNN是一种特殊的神经网络,可以用来处理序列数据,如语音信号。 3. 自然语言处理 自然语言处理是机器学习模式识别中的又一个重要领域。自然语言处理技术可以让计算机自动处理和理解人类的自然语言,包括文本分类、情感分析、机器翻译等。目前,自然语言处理技术已经广泛应用于搜索引擎、智能客服、机器翻译等领域。 在自然语言处理中,机器学习算法主要包括朴素贝叶斯(Naive Bayes)、支持向量机(SVM)、循环神经网络(RNN)等。朴素贝叶斯是一种简单但有效的分类算法,可以用来对文本进行分类。SVM和RNN也可以用来对文本进行分类和处理。 4. 数据挖掘 数据挖掘是机器学习模式识别中的又一个重要领域。数据挖掘技术可以让计算机自动发现和分析大量的数据,包括数据聚类、关联规则挖掘、异常检测等。目前,数据挖掘技术已经广泛应用于金融、电商、医疗等领域。 在数据挖掘中,机器学习算法主要包括聚类算法、关联规则挖掘算法、异常检测算法等。聚类算法可以将数据集划分为不同的类别,用来发现数据之间的关系。关联规则挖掘算法可以发现数据集中的关联规则,用来发现数据之间的关联性。异常检测算法可以检测数据集中的异常值,用来发现数据中的异常行为。 总结: 机器学习模式识别中的应用越来越广泛,已经成为模式识别领域中不可或缺的一部分。通过机器学习算法的不断改进和优化,我们可以让计算机更好地理解和处理各种类型的模式,从而为人类带来更多的便利和创新。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

从零开始的奋豆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值