机器学习——概率与统计

news2024/11/19 14:53:02

参考资料:

  • 《机器学习》周志华
  • 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)

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JMeter在高分辨率电脑上,页面显示字体特别小

最近使用JMeter的过程中,发现一个问题,在高分辨率的电脑上,JMeter启动后,页面显示的字体特别小,上图 我电脑的分辨率是2880*1800,缩放200% 上图里显示的字体真心看不清楚 我以为是JMeter的bug&#xff0c…

[React]面向组件编程

1. 定义组件 - 函数式定义&#xff08;简单组件&#xff09;&#xff0c;使用function定义 import React from react; import ReactDOM from react-dom/client;function App() {return (<button onClick{handleClick}>click</button> // 直接把方法handleClick赋…

Pycharm+Gitlab+Jenkins持续集成自动化测试总结

一、Gitlab如何删除远程仓库的代码 1、如果本地仓库不小心删除&#xff0c;没关系&#xff0c;再新建一个空文件夹&#xff1b; 2、在空文件夹中右键&#xff0c;进入Git Bash命令行模式&#xff1b; 3、然后克隆远程仓库&#xff1b; git clone http://175.30.32.65:9000/r…

由半数年轻人存款不足10万而引发的思考!

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…

windows安装youcompleteme

通过vim-plug&#xff0c;安装youcompleteme安装clangd-completer。python .\install.py --clangd-completer --msvc16c系补全需提供编译参数给clangd。两种种方式 安装c开发编译环境&#xff0c;即visual c 相关环境。 参考 ycm-core/YouCompleteMe: A code-completion en…

PMBOK第七版有什么新变化?影响8月PMP考试吗?

PMBOK是项目管理学习过程中必不可少的重要教材&#xff0c;从1996年PMI发布第一版PMBOK到现在&#xff0c;PMBOK已经更新到第七版&#xff0c;那么第七版PMBOK有哪些新变化呢&#xff1f;会影响8月考试吗&#xff1f;下面老师来为您详细解答。 1 PMBOK主要变化演进情况 私免费…

Istio 什么是服务网格

什么是服务网格 服务网格(Service Mesh)这个术语通常用于描述构成这些应用程序的微服务网络以及应用之间的交互。随着规模和复杂性的增长&#xff0c;服务网格越来越难以理解和管理。 它的需求包括服务发现、负载均衡、故障恢复、指标收集和监控以及通常更加复杂的运维需求&am…

高压功率放大器在超声波探测器中的应用

超声波探测技术是一种非常重要的无损检测技术&#xff0c;广泛应用于医学、工业等领域。超声波探测器中的高压功率放大器是其中一个关键部件&#xff0c;它主要用于将微弱的超声信号放大到能够进行后续处理和分析的程度。 在超声波探测器中&#xff0c;超声波发射器会向被测物体…

Qt编码方式

中文乱码算是一个常见的问题&#xff0c;本文提供两种解决方案 1 对字符串单独进行处理(不推荐) QString strQString::fromLocal8Bit("阿萨德");//使用此函数进行转码以显示正常(本地语言方式) QString strQString::fromUtf8("阿萨德");//qt还提供了从其他…

Bug小能手系列(python)_8: 使用mne库读取gdf文件报错 Cannot cast ufunc ‘clip‘ output

Cannot cast ufunc clip output from dtype float64 to dtype uint32 with casting rule same_kind 0. 错误介绍1. 环境介绍2. 问题分析3. 解决方法4. 总结 0. 错误介绍 在加载BCI Competition IV 2a数据集时&#xff0c;当使用mne库的io的read_raw_gdf()函数时出错。注&#…

Haproxy开源负载均衡部署

第一步环境准备&#xff1a; systemctl stop firewalld setenforce 0 systemctl disable firewalld.service #设置开机不启动防火墙sed -i s/SELINUX.*/SELINUXdisabled/ /etc/sysconfig/selinux #设置开机不启动防火墙iptables -F centos7服务器 haproxy 192.168…

自动化测试验证码tesseract安装以及python联调

前提 经常会遇到登录系统时候需要输入动态验证码的情况&#xff0c;但是自动化如何识别图片然后登陆系统&#xff1f; 需要用到pytesseract识别验证码图片以及PIL图像处理方法 import pytesseract from PIL import Image, ImageEnhance1、tesseract安装 OCR&#xff0c;即O…

ESP32报错-Invalid chip id. Expected 9 read 0. Bootloader for wrong chip?

异常现象&#xff1a; 如下图所示&#xff0c;ESP32的 bootloader 运行时候一直报错&#xff0c;导致设备频繁重启&#xff0c;无法跳转至APP 原因及解决方式&#xff1a; 这个报错的原因就是程序编译时候选择的芯片型号和当前实际运行的芯片型号不一致&#xff0c;导致无法…

两个链表的第一个公共节点

题目描述 输入两个链表&#xff0c;找出它们的第一个公共节点。 如下面的两个链表&#xff1a; 在节点 c1 开始相交。 示例 1&#xff1a; 输入&#xff1a;intersectVal 8, listA [4,1,8,4,5], listB [5,0,1,8,4,5], skipA 2, skipB 3 输出&#xff1a;Reference of…

「一键智能去除文件名中的特殊符号,让文件批量改名更加简单!」

文件批量改名一直是个繁琐的任务&#xff0c;其中最麻烦的问题之一就是文件名中的特殊符号。手动去除这些符号是一项耗时而繁琐的工作&#xff0c;但现在有一个更加智能的解决方案&#xff0c;可以让你快速的去除文件名中的特殊符号。方法如下&#xff1a; 首先&#xff0c;我…

漏洞预警|Apache StreamPipes 权限升级漏洞

棱镜七彩安全预警 近日&#xff0c;棱镜七彩威胁情报团队探测到开源项目Apache StreamPipes 存在权限升级漏洞&#xff0c;经分析研判&#xff0c;向全社会发起开源漏洞预警公告&#xff0c;提醒相关安全团队及时响应。 项目介绍 Apache StreamPipes&#xff08;incubating&…

【正点原子STM32连载】 第四十三章 DHT11数字温湿度传感器 摘自【正点原子】STM32F103 战舰开发指南V1.2

1&#xff09;实验平台&#xff1a;正点原子stm32f103战舰开发板V4 2&#xff09;平台购买地址&#xff1a;https://detail.tmall.com/item.htm?id609294757420 3&#xff09;全套实验源码手册视频下载地址&#xff1a; http://www.openedv.com/thread-340252-1-1.html# 第四…

如何在 ZBrush 和 UE5 中创建精灵吟游诗人(P1)

小伙伴们大家好&#xff0c;今天 云渲染小编给大家带来的是CG艺术家Hugo Sena关于“精灵吟游诗人”项目背后的工作流程&#xff0c;讨论了角色身体、服装和竖琴的工作流程&#xff0c;并解释了如何在虚幻引擎 5 中设置灯光。篇幅较长&#xff0c;分为上下两篇&#xff0c;大家接…

导出csv列错乱

今天在导出CSV文件的时候文件的列错乱了。 场景是将数据库信息导出&#xff0c;采用的是CSV&#xff0c;比excel快点。然后数据需要经过处理后再导入到其他库&#xff0c;导入的时候部分文件解析出错了&#xff0c;原因就是CSV文件内容的列和导入映射的实体字段数量对不上。见…

把你的 Python 技能从 “Hello World“ 升级到 “万能钥匙“:掌握 Python 的输出、输入、数据类型转换和运算符!

前言 这篇文章我将为大家分享 python 的输出、输入、数据类型的转换和运算符 相关的知识。如果大家也想跟着博主一起学习 python &#xff0c;欢迎订阅专栏哦python学习&#x1f60a; 输出 我们都知道&#xff0c;要想知道程序的运行结果&#xff0c;就需要将结果给打印到屏…