Diffusion系列-预备知识I -(一)
预备知识
范数
范数是一种函数,用来度量向量的大小1。在机器学习、信号处理等领域中,范数常常被用作正则化方法,通过对参数向量的范数进行约束,达到控制模型复杂度、防止过拟合等目的。常见的范数有0范数、1范数、2范数、无穷范数 等,其中0范数表示向量中非零元素的个数,1范数表示为绝对值之和,2范数则指模,无穷范数被用来度量向量元素的最大值。
L0范数
向量 \(x\) 中非零元素的个数:
\]
L1范数
向量x中非零元素的绝对值之和。L1范数有很多的名字,例如我们熟悉的 曼哈顿距离、最小绝对误差等。
绝对误差和公式:
\]
由于L1范数的天然性质,对L1优化的解是一个稀疏解, 因此L1范数也被叫做稀疏规则算子。
L2范数
L2范数是我们最常见最常用的范数了,我们用的最多的度量距离欧氏距离就是一种L2范数。
平方差和公式:
\]
L无穷范数
度量向量元素的最大值
\]
联合概率链式法则
\(P(A_1 \cap A_2 \cap \ldots \cap A_n) = P(A_1) \times P(A_2 \mid A_1) \times \ldots P(A_n \mid A_1 \cap \ldots \cap A_{n-1})\)
\(P(X_{1}X_{2}\ldots X_n) = P(X_1)P(X_2|X_1)\ldots P(X_{n}|X_{<n})\)
\(P(A_1 \cap A_2)\) 表示事件\(A_1\)和\(A_2\)同时发生。
\(P(X_{1}X_{2})\) 表示样本\(X_1\)和\(X_2\)同时出现。
贝叶斯公式
贝叶斯公式用来描述两个条件概率之间的关系,比如 P(A|B) 和 P(B|A)。按照乘法法则,\(P(A \cap B)=P(A)·P(B|A)=P(B)·P(A|B)\),可以立刻导出贝叶斯定理
\(P(A|B)=\dfrac{P(B \cap A)}{P(B)}=\dfrac{P(B|A)P(A)}{P(B)}\)
“∣”读作given,即给定的意思。如 P(A∣B) 即 A given B
先验 后验 似然
- \(先验=P(因)=P(\theta)\) 结果发生前, 就开始猜测(估计)原因, Prior
- \(后验=P(因|果)=P(\theta|X)\) 已知结果,然后根据结果估计原因,Posterior
- \(似然=P(果|因)=P(X|\theta)\) 先给定原因,根据原因来估计结果的概率分布,Likelihood
- \(证据=P(果)=P(X)\) 出现结果的概率,
特别强调 这里的结果 反映的是在没有任何额外信息(即不知道结果)的情况下,出现结果的概率Evidence
这里的因果只表示事件,不表示严格的因果推断。
\]
更直观一点的理解:
A:小明中午吃火锅。 B:小明晚上拉肚子。
已知 A的出现 有利于 B的出现,则有 B的出现 也有利于 A的出现。
\(已知 P(B|A) > P(B), 则 P(A|B) > P(A)\)
\(P(A|B)=\dfrac{P(B|A)}{P(B)} P(A) > P(A)\)
似然估计
似然函数如下:
\(\mathcal{L}(\theta|x)=p(x|\theta)\)
更严格地,也可写成 \(\mathcal{L}(\theta|x)=p(x;\theta)\)
似然性(likelihood)与概率(possibility)同样可以表示事件发生的可能性大小,但是二者有着很大的区别:
概率
- 是在已知参数 \(\theta\) 的情况下,发生观测结果 \(x\) 可能性大小;
似然性
- 则是从观测结果 \(x\) 出发,分布函数的参数为\(\theta\)的可能性大小;
若 已知 \(x\),未知 \(\theta\),对于两个参数 \(\theta_1\),\(\theta_2\)有 \(p(x|\theta_1)>p(x|\theta_2)\)
则 \(\mathcal{L}(\theta_1|x)>\mathcal{L}(\theta_2|x)\)
最大似然估计
最大似然估计方法(Maximum Likelihood Estimate,MLE)
最大似然估计的思想在于,对于给定的观测数据 \(x\),我们希望能从所有的参数
\(\theta_1\),\(\theta_2\),...,\(\theta_{n}\) 中找出能最大概率生成观测数据的参数 \(\theta^*\)作为估计结果。
\(\mathcal{L}(\theta^*|x)\geq\mathcal{L}(\theta|x),\theta=\theta_1,...,\theta_n\)
\(p(x|\theta^*)\geq p(x|\theta)\)
最大化概率函数的参数即可:
\(\theta^*= \mathop{argmax} \limits_\theta(p|\theta)\)
离散型随机变量的最大似然估计
离散型随机变量\(X\)的分布律为\(P\{X=x\}=p(x;\theta)\),设\(X_1,...,X_n\)为来自\(X\)的样本,\(x_1,...,x_n\)为相应的观察值,为待估参数。在参数\(\theta\)下,分布函数随机取到\(x_1,...,x_n\)的概率为\(p(x|\theta)=\prod\limits_{i=1}^n p(x_i;\theta)\), 其中\(\prod\)是\(\pi\)的大写,表示累乘。
通过似然函数 \(\mathcal{L}(\theta|x)=p(x|\theta)=\prod\limits_{i=1}^n p(x_i;\theta)\)
此时 \(\mathcal{L}(\theta|x)\) 是一个关于\(\theta\)的函数,寻找生成\(x\)的最大概率, 导数等于0时,取得极值:
\(\frac{d}{d\theta} L(\theta|x) = 0\)
因为\(\prod\limits_{i=1}^n p(x_i;\theta)\)是累乘形式,由复合函数的单调性,对原函数取对数:
\(\frac{d}{d\theta} ln L(\theta|x) = 1/L(\theta|x) \cdot \frac{d}{d\theta} L(\theta|x) = 0\)
马尔科夫链条件概率
条件概率 \(P(C,B,A)=P(C|B,A)P(B,A)=P(C|B,A)P(B|A)P(A)\)
马尔可夫链指当前状态的概率【只】与上一时刻有关,所以事件A对事件C的概率没有影响,即 \(P(C|B)=P(C|B,A)\)。有
\]
联合分布与边缘分布
二维随机变量\(\xi=(X,Y)\),\((X,Y)\)的联合分布:
\]
\]
分量\(X\)的概率分布称为联合分布\((X,Y)\)关于\(X\)的边缘分布;
\]
分量\(Y\)的概率分布称为联合分布\((X,Y)\)关于\(Y\)的边缘分布。
\]
由联合分布可以推出边缘分布,但反之一般不可以,这是因为随机向量的分量之间可能有相关性。

绿色为联合分布,蓝色和红色分别为 X、Y 的边缘分布
关于其中一个特定变量的边缘分布则视为给定其他变量的条件概率分布:
\]
在边缘分布中,我们得到只关于一个变量的概率分布,而不再考虑另一变量的影响,实际上进行了降维操作。
连续型情形下,关于\(X\)的概率密度函数为:
\]
Wilks 不等式
设随机变量\((X_1,X_2,\cdots,X_n)\)的联合概率分布函数为\(F(x_1,x_2,\cdots,x_n)\),关于各变元的边缘分布函数是\(F_i(x_i)\)那么有如下不等式成立
\]
https://www.math.pku.edu.cn/teachers/xirb/Courses/statprobB/psbd04.pdf
KL散度(Kullback-Leibler divergence)
KL散度是两个概率分布\(P\)和\(Q\)差别的非对称性的度量。 KL散度是用来度量使用基于\(Q\)的分布来编码服从\(P\)的分布的样本所需的额外的平均比特数。典型情况下,\(P\)表示数据的真实分布,\(Q\)表示数据的理论分布。
KL散度的定义:
\(KL(P||Q)=\sum p(x) log \dfrac{p(x)}{q(x)}\)

若\(P\)为已知的真实分布,\(Q\)为近似分布。
(a). \(KL(Q||P)\) (b). \(KL(P||Q)\)
凸函数\(f\): 直观理解,凸函数的图像形如开口向上的杯
∪,而相反,凹函数则形如开口向下的帽 ∩。
二阶导数在区间上大于等于零,就称为凸函数。例如,\(y=x^2\)

概率论中, 有延森不等式: \(f(E(X)) \leq E(f(X))\)
这里把 \(E(X)\)想象成\(\dfrac{x_1+x_2}{2}\),则
\(E(f(X))=\dfrac{f(x_1)+f(x_2)}{2}\),\(E(f(X))=\dfrac{f(x_1)+f(x_2)}{2}\)
吉布斯不等式:
KL(P||Q) &=\sum_x p(x) log \dfrac{p(x)}{q(x)} \\
&= - \sum_x p(x) log \dfrac{q(x)}{p(x)} \\
&= E[-log \dfrac{q(x)}{p(x)}] \geq -log[E(\dfrac{q(x)}{p(x)})] \\
&= -log [\sum_x {p(x)} \dfrac{q(x)} { {p(x)} }] \\
&= -log [\sum_x q(x)] = - log1 = 0 \\
KL(P||Q) \geq 0
\end{aligned}
\]
概率分布的熵 (H) 的定义是:
\(H[x]=-\sum_{x} p(x)log(p(x))\)
KL散度与交叉熵
KL(P||Q) &=\sum_x p(x) log \dfrac{p(x)}{q(x)} \\
&= \sum_x p(x) log(p(x)) - \sum_x p(x) log(q(x)) \\
&= - H[P] + H(P,Q)
\end{aligned}
\]
\(H(P, Q)\) 称作P和Q的交叉熵(cross entropy), KL散度不具备对称性,也就是说 \(P\)对于\(Q\) 的KL散度并不等于 \(Q\) 对于 \(P\) 的KL散度。
在信息论中,熵代表着信息量,\(H(P)\) 代表着基于 \(P\) 分布自身的编码长度,也就是最优的编码长度(最小字节数)。而\(H(P,Q)\) 则代表着用 \(P\) 的分布去近似 \(Q\) 分布的信息,自然需要更多的编码长度。并且两个分布差异越大,需要的编码长度越大。所以两个值相减是大于等于0的一个值,代表冗余的编码长度,也就是两个分布差异的程度。所以KL散度在信息论中还可以称为相对熵(relative entropy)。
KL散度与交叉熵的应用
- 交叉熵通常用于监督学习任务中,如分类和回归等。在这些任务中,我们有一组输入样本和相应的标签。我们希望训练一个模型,使得模型能够将输入样本映射到正确的标签上。
- KL散度通常用于无监督学习任务中,如聚类、降维和生成模型等。在这些任务中,我们没有相应的标签信息,因此无法使用交叉熵来评估模型的性能,所以需要一种方法来衡量模型预测的分布和真实分布之间的差异,这时就可以使用KL散度来衡量模型预测的分布和真实分布之间的差异。
总结:有真实分布可以用交叉熵,没有就用KL散度。
高斯分布
一维:\(X\sim \mathcal{N}(\mu, \sigma^{2})\),其概率密度函数为:
p(x) &= \dfrac{1}{\sqrt{2\pi\sigma^{2}}} \exp \left ({-\dfrac{1}{2}(\dfrac{x-\mu}{\sigma})^{2}} \right) \\
&= \frac{1}{\sqrt{2\pi\sigma^2} } \exp \left[ -\frac{1}{2\sigma^2} \left( x^2 - 2\mu x + \mu^2 \right ) \right]
\end{aligned}
\]
\(\mu\) 加权平均值(期望) \(E(X)=\sum_{i}{p(x_i) x_i}\)
\(\sigma^2\) 方差(variance) \(Var(X)=E[(X-\mu)^2]=E[X^2]-E[x]^2\)
期望方差的积分形式:
\(\mu=E(x)=\int p(x)xdx\)
\(\sigma^2=E[(x-\mu)^2]=\int p(x)(x-\mu)^2dx\)
期望 \(E[x]\) 的另一个叫法是分布函数的 一阶矩,而 \(E[x^2]\) 也叫 二阶矩 。
由 \(\sigma^2=E[(X-\mu)^2]=E[X^2]-E[x]^2\) ,有 \(E[x^2]=\mu^2+\sigma^2\)。
【协方差 Covariance】
用于度量两组数据的变量X和Y之间是否有线性相关性,=0不相关,>0正相关,<0负相关
\(cov(X,Y)=E[(X-E(X))(Y-E(Y))]= E[(X-\mu_X)(Y-\mu_Y)]\)
\(cov(X,Y)=cov(Y,X)\)
\(cov(aX,bY)=ab\;cov(Y,X)\)
【协方差矩阵】
有 n 个随机变量组成一个 n维向量 \(X=\{X_1,X_2,\cdots,X_n\}\)
\left[
\begin{array}{ccc}
cov(x_1,x_1) & \cdots & cov(x_1,x_n)\\
\vdots & \ddots & \vdots\\
cov(x_1,x_n) & \cdots & cov(x_n,x_n)
\end{array}
\right]
\]
【相关系数】
用于度量两组数据的变量X和Y之间的线性相关的程度。它是两个变量的协方差与其标准差的乘积之比。
\(\rho_{X,Y}=\dfrac{cov(X,Y)}{\sigma_X \sigma_Y} = \dfrac{E[(X-\mu_X)(Y-\mu_Y)]}{\sigma_X \sigma_Y}\)
\(cov(X,Y)=\rho\;\sigma_X \sigma_Y\)
皮尔逊相关系数的变化范围为-1到1。系数的值为1意味着X和 Y可以很好的由直线方程来描述,所有的数据点都很好的落在一条直线上,且 Y 随着 X 的增加而增加。系数的值为−1意味着所有的数据点都落在直线上,且 Y 随着 X 的增加而减少。系数的值为0意味着两个变量之间没有线性关系。
特殊的,X自己和自己的协方差 \(cov(X,X)=\sigma_X^2\),相关系数 \(\rho_{X,X}=1\)
若 X 和 Y 相互独立(线性不相关),\(cov(X,Y)=0\),\(\rho_{X,Y}=0\)
k维:\(p(x)=\dfrac{1}{\sqrt{(2\pi)^{k}|\Sigma|}}\mathrm{exp}(-\dfrac{1}{2}(x-\mu)^T\Sigma^{-1}(x-\mu))\)
\(\Sigma_{i,j} = cov(i,j) = \mathrm{E}[(X_i-\mu_i)(X_{j}-\mu_j)]\)
【封闭性】
数学中,若对某个集合的成员进行一种运算,生成的元素仍然是这个集合的成员,则该集合被称为在这个运算下闭合。
高斯分布的随机变量 线性组合 还是高斯分布:
(1)如果\(X \sim \mathcal{N}(\mu, \sigma^2)\), a 与 b 是实数,那么\(aX+b \sim \mathcal{N}(a\mu+b,(a\sigma)^2)\)
(2)\(X \sim \mathcal{N}(\mu_1, \sigma_1^2)\), \(Y \sim \mathcal{N}(\mu_2, \sigma_2^2)\),\(X,Y\)是统计独立的随机变量,它们的和也服从高斯分布:
\]
\]
(3)Product: if p(x) and p(z) are Gaussian, then p(x)p(z) is proportional to a Gaussian
(4)Marginalization: if p(x, z) is Gaussian, then p(x) is Gaussian.
(5)Conditioning: if p(x, z) is Gaussian, then p(x | z) is Gaussian.
注:分布的等式两边不能移项,重参数化后可以。
高斯分布的KL散度
高斯分布 \(X \sim \mathcal{N}(\mu, \sigma^{2}), p(x)=\dfrac{1}{\sqrt{2\pi\sigma^{2}}}\mathrm{exp}({-\dfrac{1}{2}(\dfrac{x-\mu}{\sigma})^{2}})\)
= \int (2\pi \sigma_1^2)^{-1/2} \mathrm{exp}({-\dfrac{1}{2}(\dfrac{x-\mu_1}{\sigma_1})^{2}}) log \dfrac{(2\pi \sigma_1^2)^{-1/2}\mathrm{exp}({-\dfrac{1}{2}(\dfrac{x-\mu_1}{\sigma_1})^{2}})}{(2\pi \sigma_2^2)^{-1/2}\mathrm{exp}({-\dfrac{1}{2}(\dfrac{x-\mu_2}{\sigma_2})^{2}})}dx \\
\overset{\text{log拆项,log与exp抵消}}{=}\int (2\pi \sigma_1^2)^{-1/2} \mathrm{exp}({-\dfrac{1}{2}(\dfrac{x-\mu_1}{\sigma_1})^{2}})\bigg [log\dfrac{\sigma_2}{\sigma_1}-\dfrac{1}{2}(\dfrac{x-\mu_1}{\sigma_1})^{2}+\dfrac{1}{2}(\dfrac{x-\mu_2}{\sigma_2})^{2}\bigg]dx \\
\overset{记\mathcal{N}(\mu_1, \sigma_1^{2})密度函数p_1(x)}{=}\int p_1(x) \bigg [log\dfrac{\sigma_2}{\sigma_1}-\dfrac{1}{2}(\dfrac{x-\mu_1}{\sigma_1})^{2}+\dfrac{1}{2}(\dfrac{x-\mu_2}{\sigma_2})^{2}\bigg]dx
\]
分部积分:
(1) 高斯分布积分等于1:
\]
(2)根据方差积分形式 \(\sigma^2=\int p(x)(x-\mu)^2dx\) 有
\]
(3)中括号展开分别是 二阶矩、均值、常数
= \dfrac{1}{2\sigma_2^2}(\sigma_1^2+\mu_1^2-2\mu_1\mu_2+\mu_2^2)=\dfrac{\sigma_1^2+(\mu_1-\mu_2)^2}{2\sigma_2^2}
\]
最终结果
\]
特殊的
\]
k维高斯分布的KL散度:
\]
其中 \(k\) 为 维度
参考文章:
高斯分布的积分期望E(X)方差V(X)的理论推导
高斯分布的KL散度
Diffusion系列-预备知识I -(一)的更多相关文章
- ASP.NET Core的实时库: SignalR -- 预备知识
大纲 本系列会分为2-3篇文章. 第一篇介绍SignalR的预备知识和原理 然后会介绍SignalR和如何在ASP.NET Core里使用SignalR. 本文的目录如下: 实时Web简述 Long ...
- 从0开发3D引擎(二):准备预备知识
大家好,本文介绍了开发3D引擎需要的预备知识,给出了相关的资源. 上一篇博文 从0开发3D引擎(一):开篇 了解Web 3D Web 3D的历史 目前Web 3D是基于WebGL这个Web端3D AP ...
- 【学习笔记】Linux基础(零):预备知识
学习笔记(连载)之Linux系列 Note:本学习笔记源自<鸟哥的Linux私房菜(基础学习篇)>一书,为此书重要内容的摘要和总结,对于一些常识性的知识不再归纳 新型冠状病毒引发的肺炎战& ...
- 驱动开发学习笔记. 0.06 嵌入式linux视频开发之预备知识
驱动开发读书笔记. 0.06 嵌入式linux视频开发之预备知识 由于毕业设计选择了嵌入式linux视频开发相关的项目,于是找了相关的资料,下面是一下预备知识 UVC : UVC,全称为:USB v ...
- 受限玻尔兹曼机(RBM)学习笔记(一)预备知识
去年 6 月份写的博文<Yusuke Sugomori 的 C 语言 Deep Learning 程序解读>是囫囵吞枣地读完一个关于 DBN 算法的开源代码后的笔记,当时对其中涉及的算法原 ...
- window7使用svn(svn系列 客户端 知识二总结)
♣eclipse插件subclipse ♣TortoiseSVN ♣svn操作 ♣注意事项 使用svn可以在eclipse直接装subclipse或者在windows使用TortoiseSVN ...
- 学习Identity Server 4的预备知识
我要使用asp.net core 2.0 web api 搭建一个基础框架并立即应用于一个实际的项目中去. 这里需要使用identity server 4 做单点登陆. 下面就简单学习一下相关的预备知 ...
- JAVA面向对象-----面向对象(基础预备知识汇总)
终于整理好了面向对象基础预备知识,但是有点多,所以你们懂的,贴图,较长的代码我还是会排版出来的,我不想把时间浪费在排版上在word里排版一次已经很浪费时间了,所以请谅解. public class C ...
- 用ASP.NET Core 2.0 建立规范的 REST API -- 预备知识 (2) + 准备项目
上一部分预备知识在这 http://www.cnblogs.com/cgzl/p/9010978.html 如果您对ASP.NET Core很了解的话,可以不看本文, 本文基本都是官方文档的内容. A ...
- 学习Identity Server 4的预备知识 (误删, 重补)
我要使用asp.net core 2.0 web api 搭建一个基础框架并立即应用于一个实际的项目中去. 这里需要使用identity server 4 做单点登陆. 下面就简单学习一下相关的预备知 ...
随机推荐
- Python中FastAPI项目使用 Annotated的参数设计
在FastAPI中,你可以使用PEP 593中的Annotated类型来添加元数据到类型提示中.这个功能非常有用,因为它允许你在类型提示中添加更多的上下文信息,例如描述.默认值或其他自定义元数据. F ...
- Jenkins 配置即代码(Configuration as Code)详解
1.概述 在<Centos7下安装配置最新版本Jenkins(2.452.3)>这篇博文中讲解了如何安装Jenkins,虽然在安装Jenkins时安装了一些必备的推荐插件,但在企业环境中使 ...
- 【Ubuntu】下载安装 20.04.版本 桌面端
下载 Download 这次的是直接在界面上下载的,我都不知道为什么怎么点到之前的版本去了 12.04.5远古版本界面怪难看的... [下载地址:点我访问] https://cn.ubuntu.com ...
- 强化学习中的“sample efficiency”应该如何翻译 —— “样本效率”还是“采样效率”
问题: 强化学习中的"sample efficiency"应该如何翻译 -- "样本效率"还是"采样效率" 答案: 具体看上下文内容.如果是 ...
- If Messi doesn't understand how to respect others, then he also doesn't deserve to receive respect from others.
If Messi doesn't understand how to respect others, if he doesn't understand the spirit of honoring c ...
- AI领域的国产显卡如何在现有技术下吸引用户 —— 廉价增加显存 —— 大显存
先给出一个不大准确的但相差不差的背景介绍: 同样性能级别的显卡,NVIDA的24G的要3W,32G的要5W,48G的要7W, 80G的要10W. 国产同同性能的显卡32G的要10W,48G的要15W, ...
- MindSpore 数据加载及处理
参考地址: https://www.mindspore.cn/tutorial/zh-CN/r1.2/dataset.html ==================================== ...
- CUDA11.3编译pytorch2.0.1报错:error: ‘nvmlProcessInfo_v1_t’ was not declared in this scope
问题如题: CUDA11.3编译pytorch2.0.1报错:error: 'nvmlProcessInfo_v1_t' was not declared in this scope 解决方法参考: ...
- vue之事件监听v-on
1.背景 2.简单使用 2.1.做一个简单的点击计数器 <!DOCTYPE html> <html lang="en" xmlns:v-on="http ...
- 如何在AWS上构建Apache DolphinScheduler
引言 随着云计算技术的发展,Amazon Web Services (AWS) 作为一个开放的平台,一直在帮助开发者更好的在云上构建和使用开源软件,同时也与开源社区紧密合作,推动开源项目的发展. 本文 ...