机器学习——概率与统计

参考资料:

  • 《机器学习》周志华
  • https://zhuanlan.zhihu.com/p/27056207

1 马尔可夫链

1.1 定义

在这里插入图片描述
直观含义:在已知现在的条件下,过去与未来相互独立。

1.2 马尔可夫模型

在这里插入图片描述

根据定义,A 必为方阵
在这里插入图片描述
其中, p i j ( n ) = P { X n + 1 = j ∣ X n = i } p_{ij}(n)=P\lbrace X_{n+1}=j|X_n=i\rbrace pij(n)=P{Xn+1=jXn=i}称为一步转移概率

在这里插入图片描述
n n n 步转移的性质: P ( n ) = P n P^{(n)}=P^n P(n)=Pn

在这里插入图片描述
p j ( n ) = ∑ i ∈ I p i p i j n = P T ( 0 ) P ( n ) p_j(n)=\sum\limits_{i\in I}p_ip_{ij}^n=P^T(0)P^{(n)} pj(n)=iIpipijn=PT(0)P(n)

1.3 例

在这里插入图片描述
在这里插入图片描述

2 隐马模型(HMM)

2.1 模型定义

在这里插入图片描述
在这里插入图片描述

2.2 基本问题

在这里插入图片描述

2.3 相关算法

2.3.1 前向算法(问题一)

给定隐马模型 λ \lambda λ ,定义时刻 t t t 为止的观测序列为 x 1 , x 2 , ⋯ , x t x_1, x_2,\cdots,x_t x1,x2,,xt ,且状态为 i i i 的概率为前向概率,即:
α t ( i ) = P ( x 1 , x 2 , ⋯ , x t , y t = i ∣ λ ) \alpha_t(i)=P(x_1,x_2,\cdots,x_t,y_t=i|\lambda) αt(i)=P(x1,x2,,xt,yt=iλ)

算法流程:

  1. 初值: α 1 ( i ) = π i b i ( x 1 ) \alpha_1(i)=\pi_ib_i(x_1) α1(i)=πibi(x1)
  2. 递推式: α t + 1 ( i ) = [ ∑ j = 1 N α t ( j ) a i j ] b i ( x t + 1 ) \alpha_{t+1}(i)=\big[\sum\limits_{j=1}^{N}\alpha_t(j)a_{ij}\big]b_i(x_{t+1}) αt+1(i)=[j=1Nαt(j)aij]bi(xt+1)
  3. 终止: P ( O ∣ λ ) = ∑ i = 1 N α n ( i ) P(O|\lambda)=\sum\limits_{i=1}^{N}\alpha_n(i) P(Oλ)=i=1Nαn(i)

2.3.2 后向算法(问题一)

给定隐马模型 λ \lambda λ ,定义时刻 t t t 状态为 i i i 的条件下, t + 1 t+1 t+1 n n n 的部分观测序列为 x t + 1 , x t + 2 , ⋯ , x n x_{t+1},x_{t+2},\cdots,x_{n} xt+1,xt+2,,xn的概率为后向概率,即:
β t ( i ) = P ( x t + 1 , x t + 2 , ⋯ , x n ∣ y t = i , λ ) \beta_t(i)=P(x_{t+1},x_{t+2},\cdots,x_{n}|y_t=i,\lambda) βt(i)=P(xt+1,xt+2,,xnyt=i,λ)

算法流程:

  1. 初值: β n ( i ) = 1 \beta_n(i)=1 βn(i)=1
  2. 递推式: β t ( i ) = ∑ j = 1 N a i j b j ( x t + 1 ) β t + 1 ( j ) \beta_t(i)=\sum\limits_{j=1}^{N}a_{ij}b_j(x_{t+1})\beta_{t+1}(j) βt(i)=j=1Naijbj(xt+1)βt+1(j)
  3. 终止: P ( O ∣ λ ) = ∑ i = 1 N π i ∗ b 1 ( x 1 ) ∗ β 1 ( i ) P(O|\lambda)=\sum\limits_{i=1}^{N}\pi_i*b_1(x_1)*\beta_1(i) P(Oλ)=i=1Nπib1(x1)β1(i)

本质上都是全概率公式!

2.3.3 Viterbi算法(问题二)

在这里插入图片描述
算法流程:

  1. 初值: δ 1 ( i ) = π i b i ( x 1 ) , ψ 1 ( i ) = 0 \delta_1(i)=\pi_ib_i(x_1),\ \psi_1(i)=0 δ1(i)=πibi(x1), ψ1(i)=0
  2. 递推式: δ t + 1 ( i ) = max ⁡ 1 ≤ j ≤ N δ t ( j ) a j i b i ( x t + 1 ) , δ t + 1 ( i ) = arg max ⁡ 1 ≤ j ≤ N δ t ( j ) a j i b i ( x t + 1 ) \delta_{t+1}(i)=\max\limits_{1\le j\le N}\delta_t(j)a_{ji}b_{i}(x_{t+1}),\ \delta_{t+1}(i)=\argmax\limits_{1\le j\le N}\delta_t(j)a_{ji}b_{i}(x_{t+1}) δt+1(i)=1jNmaxδt(j)ajibi(xt+1), δt+1(i)=1jNargmaxδt(j)ajibi(xt+1)
  3. 最优路径: y t ∗ = ψ t + 1 ( y t + 1 ∗ ) y_t^*=\psi_{t+1}(y^*_{t+1}) yt=ψt+1(yt+1)(倒推得到最优路径)

算法解释:https://www.zhihu.com/question/20136144

该算法似乎适用于在全连通图上找最短路?

2.3.4 Baum-Welch算法(问题三)

给定 HMM 和观察序列,定义 ξ t ( i , j ) \xi_t(i,j) ξt(i,j) 为在时间 t t t 位于状态 i i i ,时间 t + 1 t+1 t+1 位于状态 j j j 的概率:
ξ t ( i , j ) = P ( y t = i , y t + 1 = j ∣ X , λ ) = P ( y t = i , y t + 1 = j , X ∣ λ ) P ( X ∣ λ ) = α t ( i ) a i j b j ( x t + 1 ) β t + 1 ( j ) P ( X ∣ λ ) = α t ( i ) a i j b j ( x t + 1 ) β t + 1 ( j ) ∑ i = 1 N ∑ j = 1 N α t ( i ) a i j b j ( x t + 1 ) β t + 1 ( j ) \begin{align} \xi_t(i,j)&=P(y_t=i,y_{t+1}=j|X,\lambda)\\ &=\frac{P(y_t=i,y_{t+1}=j,X|\lambda)}{P(X|\lambda)}\\ &=\frac{\alpha_t(i)a_{ij}b_j(x_{t+1})\beta_{t+1}(j)}{P(X|\lambda)}\\ &=\frac{\alpha_t(i)a_{ij}b_j(x_{t+1})\beta_{t+1}(j)}{\sum\limits_{i=1}^{N}\sum\limits_{j=1}^{N}\alpha_t(i)a_{ij}b_j(x_{t+1})\beta_{t+1}(j)} \end{align} ξt(i,j)=P(yt=i,yt+1=jX,λ)=P(Xλ)P(yt=i,yt+1=j,Xλ)=P(Xλ)αt(i)aijbj(xt+1)βt+1(j)=i=1Nj=1Nαt(i)aijbj(xt+1)βt+1(j)αt(i)aijbj(xt+1)βt+1(j)
(2)→(3)利用了乘法原理,即先到达状态 i i i ,再由状态 i i i 转移到 状态 j j j ,然后在状态 j j j 下取到观测值 x t + 1 x_{t+1} xt+1 ,再从状态 j j j 得到剩下的观测值。

(3)→(4)利用了全概率公式

疑问:既然已经得到了 α , β \alpha,\beta α,β ,为啥不直接通过 α n \alpha_n αn β 1 \beta_1 β1 求呢?

给定 HMM 和观察序列,在时间 t t t 位于状态 i i i 的概率为:
γ t ( i ) = ∑ j = 1 N ξ t ( i , j ) \gamma_t(i)=\sum\limits_{j=1}^{N}\xi_t(i,j) γt(i)=j=1Nξt(i,j)

在这里插入图片描述

参数的更新可由 EM 算法推导出来,不过直观上也是比较容易理解的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/3310.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MaskFormer:将语义分割和实例分割作为同一任务进行训练

目标检测和实例分割是计算机视觉的基本任务,在从自动驾驶到医学成像的无数应用中发挥着关键作用。目标检测的传统方法中通常利用边界框技术进行对象定位,然后利用逐像素分类为这些本地化实例分配类。但是当处理同一类的重叠对象时,或者在每个…

信号链噪声分析11

文章目录 概要整体架构流程技术名词解释技术细节小结 概要 提示:这里可以添加技术概要 如今的射频(RF)系统变得越来越复杂。高度的复杂性要求所有系统指标(例如严格的 链接和噪声预算)达到最佳性能。确保整个信号链的正确设计至关重要。而信…

sql内外连接图示

student表数据: idname34name22golitter66kerwin123yh12golemon score表数据: idscore34802298663345100 内连接 1、内连接:俗称左右拼接连接; 2、内连接特点:满足连接条件的才会出现在结果里面; SELECT 查询字段…

Spring 事务和事务传播机制

✏️作者:银河罐头 📋系列专栏:JavaEE 🌲“种一棵树最好的时间是十年前,其次是现在” 目录 Spring 中事务的实现Spring 编程式事务Spring 声明式事务Transactional 作⽤范围Transactional 参数说明Spring 事务隔离级别…

x264 deblock filter 代码解读

在x264源码里,void x264_frame_deblock_row( x264_t *h, int mb_y )函数中定义了如下的宏片段,这段代码旨在完成对MB的deblocking 操作,其中针对edge 取不同的值的时候,有的做deblocking, 有的不做,看这部分…

Web概述

1.1 程序开发架构 1.1.1C/S体系结构介绍 C/S是Client/Server的缩写,即客户端/服务器结构。在这种结构中,服务器 通常采用高性能的机或工作站,并采用大型数据库系统(如Oracle或SQLServer)客户端 则需要安装专用的客户…

【SQL应知应会】分析函数的点点滴滴(一)

欢迎来到爱书不爱输的程序猿的博客, 本博客致力于知识分享,与更多的人进行学习交流 本文收录于SQL应知应会专栏,本专栏主要用于记录对于数据库的一些学习,有基础也有进阶,有MySQL也有Oracle 分析函数的点点滴滴 1.什么是分析函数:…

【系统开发】尚硅谷 - 谷粒商城项目笔记(七):消息队列

文章目录 消息队列概述两大种类RabbitMQ安装及基操Docker中安装添加用户创建Virtual Hosts设置权限添加交换机创建队列交换机绑定队列 五种消息模型SpringBoot整合MQ引入依赖properties配置开启RabbitMQ API使用创建交换机创建队列交换机绑定队列发送消息接收消息 消息确认机制…

【Spring Cloud Alibaba Seata 处理分布式事务】——每天一点小知识

💧 S p r i n g C l o u d A l i b a b a S e a t a 处理分布式事务 \color{#FF1493}{Spring Cloud Alibaba Seata 处理分布式事务} SpringCloudAlibabaSeata处理分布式事务💧 🌷 仰望天空,妳我亦是行人.✨ &#x1f98…

基于Elasticsearch + Fluentd + Kibana(EFK)搭建日志收集管理系统

目录 1、EFK简介 2、EFK框架 2.1、Fluentd系统架构 2.2、Elasticsearch系统架构 2.3、Kibana系统架构 3、Elasticsearch接口 4、EFK在虚拟机中安装步骤 4.1、安装elasticsearch 4.2、安装kibana 4.3、安装fluentd 4.4、进入kibana创建索引 5、Fluentd配置介绍 Elas…

WWDC 23 之后的 SwiftUI 有哪些新功能

文章目录 前言数据流动画ScrollView搜索新手势新增的小功能总结 前言 WWDC 23 已经到来,SwiftUI 框架中有很多改变和新增的功能。在本文中将主要介绍 SwiftUI 中数据流、动画、ScrollView、搜索、新手势等功能的新变化。 数据流 Swift 5.9 引入了宏功能&#xff…

【FPGA】Verilog:时序电路 | 触发器电路 | 上升沿触发 | 同步置位 | 异步置位

前言:本章内容主要是演示Vivado下利用Verilog语言进行电路设计、仿真、综合和下载 示例:触发器电路 ​ 功能特性: 采用 Xilinx Artix-7 XC7A35T芯片 配置方式:USB-JTAG/SPI Flash 高达100MHz 的内部时钟速度 存储器:…