机器学习课程学习周报十五

news2024/11/28 0:53:02

机器学习课程学习周报十五

文章目录

  • 机器学习课程学习周报十五
    • 摘要
    • Abstract
    • 一、机器学习部分
      • 1. 统计推断与贝叶斯推断
      • 2. GMM和EM算法补充
      • 3. 马尔可夫链蒙特卡罗法
        • 3.1 蒙特卡罗法
        • 3.2 马尔可夫链
        • 3.3 Diffusion模型中的马尔可夫链
    • 总结

摘要

本周的学习涵盖了统计推断和贝叶斯推断的基本概念,深入探讨了高斯混合模型中的EM算法及其有效性证明。此外,还介绍了马尔可夫链蒙特卡罗方法中的蒙特卡罗法及其应用。最后,通过Diffusion模型中的马尔可夫链,理解了如何实现图像生成的降噪过程。

Abstract

This week’s study covered fundamental concepts of statistical and Bayesian inference, with an in-depth exploration of the EM algorithm in Gaussian Mixture Models and its effectiveness. Additionally, the Monte Carlo method within Markov Chain Monte Carlo techniques was introduced and applied. Finally, the denoising process in image generation was understood through the Markov chain in the Diffusion model.

一、机器学习部分

1. 统计推断与贝叶斯推断

统计推断Statistical Inference)指的是根据观察样本去推断总体特征(即模型/分布的参数),它的方法包括参数估计和假设检验等。

贝叶斯推断Bayesian Inference)是一种基于贝叶斯定理的统计推断方法,它的核心思想是要建立对参数的主观信念(“验”),并要根据观察去完成从初始信念(“先验”)到校正信念(“后验”)的更新。这种主观信念是参数的分布,而推断最终还要从后验分布中选择一个确定的参数值。

例如:如果取分布最高点的对应参数值(通常被称为后验众数),就称为极大后验估计(MAP, Maximum A Posteriori)。

从贝叶斯公式来看:

p ( z ∣ x ) = p ( z ) ⋅ p ( x ∣ z ) p ( x ) p(z|x) = p(z) \cdot \frac{{p(x|z)}}{{p(x)}} p(zx)=p(z)p(x)p(xz)

z z z是要估计的参数(也包括隐变量), p ( z ) p(z) p(z)是先验分布(初始信念), p ( z ∣ x ) p(z|x) p(zx)是后验分布(校正信念)。这种校正是通过在先验上乘了一个校正因子 p ( x ∣ z ) p ( x ) \frac{{p(x|z)}}{{p(x)}} p(x)p(xz)得到的。其中,分子 p ( x ∣ z ) {p(x|z)} p(xz)是条件似然,是校正因子的关键部分,决定着先验到后验的形状变化;而分母 p ( x ) {p(x)} p(x)是边际似然,又叫证据(因为只跟观察 x x x有关),它与我们关心的 z z z无关,因此也常被称为归一化因子(因为就算我们不去管分母,等号左右的函数形状也已经一致,只需要把等号右边归一化到积分为1的概率分布即可。不过实际上,归一化也并不好计算,因为显然我们不知道 x x x的分布,而积分 p ( x ) = ∫ z p ( x ∣ z ) d z p(x) = \int_z {p(x|z)dz} p(x)=zp(xz)dz又是难以计算的,许多方法都试图绕过计算归一化因子这个点,如GAN模型。

2. GMM和EM算法补充

为了证明EM算法的迭代是有效的,先引入凸函数和琴生不等式的预备知识。

在这里插入图片描述

利用GMM中的概率表达式代入EM算法中。

在这里插入图片描述

EM算法的第一步:E-step求期望

在这里插入图片描述

EM算法的第二步:M-step求参数的最大(条件极值,使用拉格朗日乘数法)

在这里插入图片描述

3. 马尔可夫链蒙特卡罗法

3.1 蒙特卡罗法

蒙特卡罗法Monte Carlo method),也称统计模拟方法,是通过从概率模型的随机抽样进行近似数值计算的方法。统计学和机器学习的目的是基于数据对概率分布的特征进行推断,蒙特卡罗法要解决的问题是,假设概率分布的定义已知,通过抽样或者概率分布的随机样本,并通过得到的随机样本对概率分布的特征进行分析。比如,从样本得到经验分布,从而估计总体分布;或者从样本计算出样本均值,从而估计总体期望,所以蒙特卡罗法的核心是随机抽样random sampling)。

一般的蒙特卡罗法有直接抽样法、接受-拒绝抽样法、重要性抽样法等。接受-拒绝抽样法、重要性抽样法适合于概率密度函数复杂(如密度函数含有多个变量,各变量相互不独立,密度函数形式复杂),不能直接抽样的情况。

这里介绍接受-拒绝抽样法accept-reject sampling method),随机变量为 x x x,其概率密度函数为 p ( x ) p(x) p(x)。目的是得到该概率分布的随机样本,以对这个概率分布进行分析。基本思想如下:若 p ( x ) p(x) p(x)不可以直接抽样,找一个可以直接抽样的分布,称为建议分布proposal distribution)。假设 q ( x ) q(x) q(x)是建议分布的概率密度函数,并且有 q ( x ) q(x) q(x) c c c倍一定大于等于 p ( x ) p(x) p(x),其中 c > 0 c > 0 c>0。按照 q ( x ) q(x) q(x)进行抽样,假设得到的结果是 x ∗ {x^*} x,再按照 p ( x ∗ ) c q ( x ∗ ) \frac{{p({x^*})}}{{cq({x^*})}} cq(x)p(x)的比例随机决定是否接受 x ∗ {x^*} x

在这里插入图片描述

直观上,落到 p ( x ∗ ) p({x^*}) p(x)范围内的就接受(蓝色),落到 p ( x ∗ ) p({x^*}) p(x)范围外的就决绝(红色)。接受-拒绝法实际是按照 p ( x ) p(x) p(x)的涵盖面积(或涵盖体积)占 c q ( x ) {cq({x})} cq(x)的涵盖面积(或涵盖体积)的比例进行抽样。

在这里插入图片描述

接受拒绝法的优点是很容易实现,缺点是效率可能不高。如果 p ( x ) p(x) p(x)的涵盖体积占 c q ( x ) {cq({x})} cq(x)的涵盖体积的比例很低,就会导致拒绝的比例很高,抽样的效率很低。并且落入蓝色范围内的样本不是一定会被接受,还要经过随机检验才会被接受。

3.2 马尔可夫链

考虑一个随机变量的序列 X = { X 0 , X 1 , ⋯   , X t , ⋯ } X = \left\{ {{X_0},{X_1}, \cdots ,{X_t}, \cdots } \right\} X={X0,X1,,Xt,},这里 X t {{X_t}} Xt表示时刻 t t t的随机变量, t = 0 , 1 , 2 , ⋯ t = 0,1,2, \cdots t=0,1,2,。每个随机变量 X t {{X_t}} Xt的取值集合相同,称为状态空间,表示为 S S S。随机变量可以是离散的,也可以是连续的。以上随机变量的序列构成随机过程stochastic process)。

假设在时刻0的随机变量 X 0 {{X_0}} X0遵循概率分布 P ( X 0 ) = π 0 P\left( {{X_0}} \right) = {\pi _0} P(X0)=π0,称为初始状态分布。在某个时刻 t ≥ 1 t \ge 1 t1的随机变量 X t {{X_t}} Xt与前一个时刻的随机变量 X t − 1 {X_{t - 1}} Xt1之间有条件分布 P ( X t ∣ X t − 1 ) P({X_t}|{X_{t - 1}}) P(XtXt1),如果 X t {X_t} Xt只依赖于 X t − 1 {X_{t - 1}} Xt1,而不依赖于过去的随机变量 { X 0 , X 1 , ⋯   , X t − 2 } \left\{ {{X_0},{X_1}, \cdots ,{X_{t - 2}}} \right\} {X0,X1,,Xt2},这一性质称为马尔可夫性,即:

P ( X t ∣ X 0 , X 1 , ⋯   , X t − 1 ) = P ( X t ∣ X t − 1 ) , t = 1 , 2 , ⋯ P({X_t}|{X_0},{X_1}, \cdots ,{X_{t - 1}}) = P({X_t}|{X_{t - 1}}),t = 1,2, \cdots P(XtX0,X1,,Xt1)=P(XtXt1),t=1,2,

具有马尔可夫性的随机序列 X = { X 0 , X 1 , ⋯   , X t , ⋯ } X = \left\{ {{X_0},{X_1}, \cdots ,{X_t}, \cdots } \right\} X={X0,X1,,Xt,}称为马尔可夫链Markov chain),或马尔可夫过程Markov process)。条件概率分布 P ( X t ∣ X t − 1 ) P({X_t}|{X_{t - 1}}) P(XtXt1)称为马尔可夫链的转移概率分布。转移概率分布决定了马尔可夫链的特性。

马尔可夫的直观解释是“未来只依赖于现在(假设现在已知),而与过去无关”。这个假设在许多应用中是合理的。

若转移概率分布 P ( X t ∣ X t − 1 ) P({X_t}|{X_{t - 1}}) P(XtXt1) t t t无关,即

P ( X t + s ∣ X t − 1 + s ) = P ( X t ∣ X t − 1 ) , t = 1 , 2 , ⋯   , s = 1 , 2 , ⋯ P({X_{t + s}}|{X_{t - 1 + s}}) = P({X_t}|{X_{t - 1}}),t = 1,2, \cdots ,s = 1,2, \cdots P(Xt+sXt1+s)=P(XtXt1),t=1,2,,s=1,2,

则称该马尔可夫链为时间齐次的马尔可夫链time homogenous Markov chain

以上定义的是一阶马尔可夫链,可以扩展到n阶马尔可夫链,满足n阶马尔可夫性

P ( X t ∣ X 0 , X 1 , ⋯   , X t − 2 , X t − 1 ) = P ( X t ∣ X t − n , ⋯   , X t − 2 , X t − 1 ) P({X_t}|{X_0},{X_1}, \cdots ,{X_{t - 2}},{X_{t - 1}}) = P({X_t}|{X_{t - n}}, \cdots ,{X_{t - 2}},{X_{t - 1}}) P(XtX0,X1,,Xt2,Xt1)=P(XtXtn,,Xt2,Xt1)

3.3 Diffusion模型中的马尔可夫链

对于计算机而言,实现图像生成,一副图像就是一个 H × W × C H \times W \times C H×W×C维的矩阵,如何生成这样的一个矩阵?Diffusion的做法是先随机创建一个噪点图,有没有可能让一幅噪点图变成“米老鼠”呢?显然想要做到这点似乎非常困难。

我们换个思路:现在假如我们已经有一组噪点图 X T {X_T} XT和“米老鼠” X 0 {X_0} X0之间的过渡图片,如下:

在这里插入图片描述

从直觉上来说,**将过渡序列中的上一张图片转变成下一张图片,显然要比直接从噪点图 变成 “米老鼠”要容易得多。**这个直观的认知其实是Diffusion模型区别于其他生成模型(如GAN)的特别之处。

在这里插入图片描述

由于这个序列当中,每一张图都比上一张图要更清晰(噪点更少),因此我们称这个过程为降噪denoise)。 X t → X t − 1 {X_t} \to {X_{t - 1}} XtXt1的降噪过程,在概率论中可以通过采样实现。为了从 X t {X_{t}} Xt采样得到 X t − 1 {X_{t - 1}} Xt1,我们需要知道条件概率:

q ( x t − 1 ∣ x t ) q({x_{t - 1}}|{x_t}) q(xt1xt)

假如任意 t = 1 , 2 , ⋯   , T t = 1,2, \cdots ,T t=1,2,,T q ( x t − 1 ∣ x t ) q({x_{t - 1}}|{x_t}) q(xt1xt)都是已知的。我们记号 ∼ \sim 表示“依概率采样”,那么将噪点图 X T {X_T} XT转变为“米老鼠” X 0 {X_0} X0的整个采样过程,可以形式化表示为,给定噪点图 X T {X_T} XT

X T − 1 ∼ q ( x T − 1 ∣ X T ) ⋯ X 2 ∼ q ( x 2 ∣ X 3 ) , X 1 ∼ q ( x 1 ∣ X 2 ) , X 0 ∼ q ( x 0 ∣ X 1 ) {X_{T - 1}} \sim q({x_{T - 1}}|{X_T}) \cdots {X_2} \sim q({x_2}|{X_3}),{X_1} \sim q({x_1}|{X_2}),{X_0} \sim q({x_0}|{X_1}) XT1q(xT1XT)X2q(x2X3),X1q(x1X2),X0q(x0X1)

整个采样过程,构成了一个马尔可夫链,假如我们有了 q ( x t − 1 ∣ x t ) q({x_{t - 1}}|{x_t}) q(xt1xt)这个转移概率,就能按步骤将噪点图转化为“米老鼠”,所以问题是如何求出 q ( x t − 1 ∣ x t ) q({x_{t - 1}}|{x_t}) q(xt1xt)这个函数?答案就是机器学习。

机器学习的训练数据是什么?虽然“降噪”似乎很难,但是添加噪点却挺容易。比如给定一张原始图片 X 0 {X_0} X0我们总可以通过朝原始图增加噪点生成图片 X 1 {X_1} X1,然后进一步增加噪点,直到图片变成一幅完全随机的噪点图 X T {X_{T}} XT。这个过程也是通过随机过程的采样来实现,我们记这个随机过程对应的“转移概率”是 q ( x t ∣ x t − 1 ) q({x_t}|{x_{t - 1}}) q(xtxt1),那么整个添加噪点的过程就可以形式化表示为,给定米老鼠图 X 0 {X_0} X0

X 1 ∼ q ( x 1 ∣ X 0 ) , X 2 ∼ q ( x 2 ∣ X 1 ) , X 3 ∼ q ( x 3 ∣ X 2 ) , ⋯   , X T ∼ q ( x T ∣ X T − 1 ) {X_1} \sim q({x_1}|{X_0}),{X_2} \sim q({x_2}|{X_1}),{X_3} \sim q({x_3}|{X_2}), \cdots ,{X_T} \sim q({x_T}|{X_{T - 1}}) X1q(x1X0),X2q(x2X1),X3q(x3X2),,XTq(xTXT1)

给定一个图片数据集,我们对其中的任一图片进行一次这种采样操作,我们就得到了一组连续过渡的图片序列,也就是一条训练数据。

总结

本周完善了上周学习的EM算法,并且开始学习马尔可夫链蒙特卡罗法,马尔可夫链在Diffusion模型中有特别重要的应用。接来的一周将从理论继续学习马尔可夫链蒙特卡罗法,并结合着实际应用中的Diffusion模型进行参照。

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

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

相关文章

布匹瑕疵检测数据集 4类 2800张 布料缺陷 带标注 voc yolo

布匹瑕疵检测数据集 4类 2800张 布料缺陷 带标注 voc yolo 对应标注,格式VOC (XML),选配Y0L0(TXT) label| pic_ num| box_ _num hole: (425, 481) suspension_ wire: (1739, 1782) topbasi: (46, 46) dirty: (613&…

近期最佳港片,探讨家庭与希望,结尾让人心碎

在当下的电影环境中,香港电影正在经历一场颇具深意的转变,逐渐将目光投向普通人的生活。这种变化在《但愿人长久》中体现得淋漓尽致,影片通过一个家庭的悲欢离合,让人深刻感受到人性的复杂。吴慷仁在片中扮演的角色,无…

github项目——系统设计入门

今天的github趋势,有几个项目印象感觉很有意思,之后可能会用的上,记录一下 系统设计入门 书籍教程类项目,有中文文档,刚好需要。 https://github.com/donnemartin/system-design-primer/blob/master/README-zh-Hans.md…

从零开始讲PCIe(9)——PCIe总线体系结构

一、分层结构 PCIe定义了一个分层架构,如图2-12所示。这些层逻辑上分为两个部分,分别独立运行:一个用于发送侧,另一个用于接收侧。分层方法对硬件设计者是很有好的,因为如果逻辑划分得当,在迁移到新版本的P…

Semantic Communications With AI Tasks——面向图像分类任务的语义传输系统

论文链接: 2109.14170 (arxiv.org)https://arxiv.org/pdf/2109.14170 1. 背景 无线网络从“万物互联”向“智能互联”转变的范式变化,这与香农和韦弗关于通信演变的预言相一致。传统的无线网络侧重于信号的准确传输(技术层面)&…

《CUDA编程》5.获得GPU加速的关键

从本章起&#xff0c;将关注CDUA程序的性能&#xff0c;即执行速度 1 用CUDA事件计时 在前几章中&#xff0c;使用的是C的<time.h>库进行程序运行计时&#xff0c;CUDA也提供了一种基于CUDA event的计时方式&#xff0c;用来给一段CUDA代码进行计时&#xff0c;这里只介…

数字化营销:开启商业新征程

在当今数字化时代&#xff0c;数字化营销已成为企业竞争的关键利器。 数字化营销有着完整的体系。首先是目标设定与市场分析&#xff0c;明确如提高品牌知名度、增加销量等目标&#xff0c;并通过市场调研了解消费者需求。接着是客户洞察与定位&#xff0c;收集客户数据构建画像…

安装最新 MySQL 8.0 数据库(教学用)

安装 MySQL 8.0 数据库&#xff08;教学用&#xff09; 文章目录 安装 MySQL 8.0 数据库&#xff08;教学用&#xff09;前言MySQL历史一、第一步二、下载三、安装四、使用五、语法总结 前言 根据 DB-Engines 网站的数据库流行度排名&#xff08;2024年&#xff09;&#xff0…

面试官:MySQL 什么时候会出现死锁问题?为什么不推荐使用RR隔离级别?

欢迎关注公众号 【11来了】 &#xff0c;持续 MyBatis 源码系列内容&#xff01; 在我后台回复 「资料」 可领取编程高频电子书&#xff01; 在我后台回复「面试」可领取硬核面试笔记&#xff01; 文章导读地址&#xff1a;点击查看文章导读&#xff01; 感谢你的关注&#xff…

WindowsTerminal 美化-壁纸随机更换

目录 一. 相关网址二. 壁纸随机更换思路三. 指定 WindowsTermina 壁纸路径四. 编写脚本&#xff0c;随机替换壁纸4.1 powershell脚本4.2 .bat批处理脚本 四. 配置定时任务&#xff0c;添加触发器五. 效果 一. 相关网址 官方下载 Windows Terminal 官方Github微软商店 美化 Oh …

链式二叉树及二叉树各种接口的实现(C)

二叉树的性质 若规定根节点的层数为1&#xff0c;则一棵非空二叉树的第 i i i层上最多有 2 i − 1 2^{i-1} 2i−1个结点.若规定根节点的层数为1&#xff0c;则深度为h的二叉树的最大结点数是 2 h − 1 2^{h}-1 2h−1对任何一棵二叉树&#xff0c;如果度为0其叶结点个数为 n 0 …

Semantic Communication Meets Edge Intelligence——构造终端共享的知识图谱指导无线物联网通信中文本的传输

论文链接&#xff1a; IEEE Xplore Full-Text PDF:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp&arnumber9979702 1. 背景 随着自动驾驶、智能城市等应用的发展&#xff0c;移动数据流量将大幅增加。传统的香农信息论&#xff08;CIT&#xff09;通信系统已接近其带…

内网穿透工具ngrok

写作背景 最近在公司内购淘了个MAC电脑&#xff0c;想当个Linux服务器起Docker搭建环境用&#xff0c;现在问题是如何在公网上能访问到MAC这个机器上的资源。 之前写了一篇文章Mac当作云服务器&#xff0c;你真的会搞吗 最近想重启一下这台老伙计了&#xff0c;发现ngrok还是…

CIKM 2024 | 时空数据(Spatial-temporal)论文总结

CIKM 2024于10月21号-10月25号在美国爱达荷州博伊西举行&#xff08;Boise, Idaho, USA&#xff09; 本文总结了CIKM 2024有关时空数据&#xff08;spatial-temporal data&#xff09;的相关论文&#xff0c;主要包含交通预测&#xff0c;插补&#xff0c;事故预测&#xff0c…

计算机网络——http和web

无状态服务器——不维护客户端 怎么变成有状态连接 所以此时本地建立代理—— 若本地缓存了——但是服务器变了——怎么办&#xff1f;

CSS元素堆叠

通常我们可能会认为 HTML 网页是个二维的平面&#xff0c;因为页面中的文本、图像或者其它元素都是按照一定顺序排列在页面上的&#xff0c;每个元素之间都有一定的间隙&#xff0c;不会重叠。然而&#xff0c;实际的网页其实是三维的&#xff0c;元素之间可能会发生堆叠&#…

《python语言程序设计》2018版第8章19题几何Rectangle2D类(中)-同志们我要起飞了

前言 昨天的原始绘制两个矩形的代码段draw_rec2原始draw_rec2运行结果我们不是上面往右转90.我怎么往左转90不对吗??? ☺️结果利用已建立完的Rectangle2D类来实现Rectangle2D类的代码可以找上集看,今天是锻炼的一天好几个倒立体式解锁了.祝大家愉快 经过昨天晚上的努力我终…

Python画笔案例-078 绘制 颜色渐变之coloradd

1、绘制纯 颜色渐变之coloradd 通过 python 的turtle 库绘制 颜色渐变之coloradd,如下图: 2、实现代码 绘制 颜色渐变之coloradd,以下为实现代码: """颜色渐变之coloradd.py本程序需要coloradd模块支持,请在cmd窗口,即命令提示符下输入pip install colorad…

VMware桥接模式无法连接网络

windows下打开控制面板&#xff0c;找到WLAN&#xff0c;记住下面的名称&#xff08;带有VMware的都是虚拟机的网卡&#xff0c;要找到物理主机的网卡&#xff09; 回到VMware&#xff0c;编辑——打开虚拟网络编辑器 桥接选择上面的WLAN下的网络名称&#xff0c;确定即可。&…

tortorise数据库迁移变化aerich

数据库迁移 使用场景&#xff0c;当需要修改定义的数据库中表的数据时&#xff0c;就可以利用aerich进行迁移改动 例如 class Asset(models.Model):aid fields.CharField(max_length50, pkTrue)asset_name fields.CharField(max_length150)target_name fields.CharField(…