机器学习中的数学
文章平均质量分 80
《机器学习中的数学》详细介绍了在机器学习理论中所必要的数学知识,如线性代数、概率论、信息论、数理统计、解析几何、最优化理论等。
von Neumann
技术日新月异,人类生活方式正在快速转变,这一切给人类历史带来了一系列不可思议的奇点。我们曾经熟悉的一切,都开始变得陌生。
展开
-
机器学习中的数学——蓄水池抽样算法(Reservoir Sampling Algorithm)
蓄水池抽样算法(Reservoir Sampling Algorithm)的精妙之处在于,对于未知长度。直到处理完所有数据之前都不可知,请问如何在只遍历一遍数据的情况下,能够随机选取出。,然后分块存储数据,再随机选取。我们现在来验证一下分布式蓄水池抽样算法每个数据被抽到的概率是否为。个不重复的数据,且每个数据被取到的概率都为。中无放回的随机抽取一个数据放入最终结果数组。中无放回的随机抽取一个数据放入最终结果数组。中无放回的随机抽取一个数据放入最终结果数组。的数组,其每个数被选中的概率都为。原创 2022-10-18 21:03:35 · 10531 阅读 · 0 评论 -
机器学习中的数学——模拟退火算法(Simulated Annealing,SA)
模拟退火算法来源于固体退火原理:将固体加温至充分高,再让其徐徐冷却,加温时,固体内部粒子随温升变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温时达到基态,内能减为最小。模拟退火算法(Simulated Annealing,SA)最早的思想是由N.Metropolis等人于1953年提出。1983年,S.Kirkpatrick等成功地将退火思想引入到组合优化领域。它是基于蒙特卡罗方法迭代求解策略的一种随机寻优算法,其出发点是基于物理中固体物质的退火过程与一般组合优化问题之间原创 2022-04-10 15:51:49 · 14573 阅读 · 0 评论 -
机器学习中的数学——粒子群算法(Particle Swarm Optimization, PSO)(三):改进的粒子群算法
基本粒子群算法存在着很多缺陷,如对环境的变化不敏感,常常会受pbest和gbest的影响而陷入非最优区域,算法经常发生早熟收敛等现象,所以很多学者在基本粒子群的基础上,提出了很多类型的改进算法。根据其自身的特点,这些改进算法大致可以分为离散粒子群优化算法、小生境粒子群优化算法、混合粒子群优化算法等类型。约束优化问题求解一般来说,约束优化问题由目标函数和约束条件两部分构成,表示为:minf(x)s.t.gj(x)≤0, j=1,2,⋯ ,Jhk(x)=0, k=1,2,⋯ ,K\b原创 2022-04-01 20:48:12 · 15286 阅读 · 2 评论 -
机器学习中的数学——粒子群算法(Particle Swarm Optimization, PSO)(二):带惯性权重的粒子群算法
为了改善基本粒子群算法的收敛性能,Shi和Eberhart在1998年IEEE国际进化计算学术会议上发表的题为《A modified particle swarm optimizer》的论文中引入了惯性权重,逐渐地大家都默认这个改进粒子群算法为标准的粒子群算法。在基本粒子群算法的速度公式上可见右边项包括了三部分:第一部分是粒子之前是速度;第二部分和第三部分是粒子对速度的调整。如果没有后面两部分,粒子将会保持相同的速度朝一个方向飞行,直到到达边界,这样粒子很大可能会找不到优解,排除优解在粒子飞行的轨迹上,但原创 2022-03-27 13:38:59 · 12967 阅读 · 0 评论 -
机器学习中的数学——粒子群算法(Particle Swarm Optimization, PSO)(一):基础知识
自然界生物有时候是以群体形式存在的。人工生命研究的主流之一是探索这些自然生物是如何以群体的形式生存,并在计算机里面重构这种模型。很多科学家很早以前就对鸟群和鱼群的生物行为进行计算机模拟,其中较为著名的有Reynolds、Hepper、Kennedy和Grenander对鸟群的模拟。Reynolds通过CG动画仿真了鸟群的复杂群体行为,他是综合三条简单的准则来构建这种行为:远离最近的邻居向目标靠近向群体的中心靠近其基本思想是受多位科学家早期对许多鸟类的群体行为进行建模与仿真研究结果的启发,他们的模原创 2022-03-19 13:57:04 · 11471 阅读 · 0 评论 -
机器学习中的数学——遗传算法(Genetic Algorithm)
遗传算法(Genetic Algorithm)是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。它最初由美国密歇根大学J.Holland教授于1975年首先提出来的,并出版了颇有影响的专著《Adaptation in Natural andArtificial Systems》,Genetic Algorithm这个名称才逐渐为人所知,J.Holland教授所提出的GA通常为简单遗传算法(SGA)。遗传算法广泛应用在生物信息学、系统发生学、计算原创 2022-03-17 17:16:44 · 14149 阅读 · 0 评论 -
机器学习中的数学——共轭梯度法(Conjugate Gradient)
共轭梯度是一种通过迭代下降的共轭方向(Conjugate Directions)以有效避免Hessian矩阵求逆计算的方法。这种方法的灵感来自对最速下降方法弱点的仔细研究,其中线搜索迭代地用于与梯度相关的方向上。下图说明了该方法在二次碗型目标中如何表现的,是一个相当低效的来回往复,锯齿形模式。这是因为每一个由梯度给定的线搜索方向,都保证正交于上一个线搜索方向。假设上一个搜索方向是dt−1d_{t-1}dt−1。在极小值处,线搜索终止,方向dt−1d_{t-1}dt−1处的方向导数为零:∇θJ(θ)d原创 2022-03-13 15:56:09 · 12172 阅读 · 0 评论 -
机器学习中的数学——Adam(Adaptive Moments)
Adam是另一种学习率自适应的优化算法:Adam算法输入:步长ϵ\epsilonϵ(建议默认为0.001);矩估计的指数衰减速率ρ1,ρ2∈[0,1)\rho_1, \rho_2\in[0, 1)ρ1,ρ2∈[0,1)(建议默认为:ρ1=0.9,ρ2=0.999\rho_1=0.9,\rho_2=0.999ρ1=0.9,ρ2=0.999);初始参数θ\thetaθ;小用于数值稳定的小常数δ\deltaδ(为了数值稳定大约设为10−810^{-8}10−8;输出:神经网络参数θ\thetaθ原创 2022-03-12 21:27:42 · 11221 阅读 · 0 评论 -
机器学习中的数学——RMSProp(Root Mean Square Prop)
RMSProp算法修改AdaGrad以在非凸设定下效果更好,改变梯度积累为指数加权的移动平均。AdaGrad旨在应用于凸问题时快速收敛。当应用于非凸函数训练神经网络时,学习轨迹可能穿过了很多不同的结构,最终到达一个局部凸的区域。AdaGrad根据平方梯度的整个历史收缩学习率,可能使得学习率在达到这样的凸结构前就变得太小了。RMSProp使用指数衰减平均以丢弃遥远过去的历史,使其能够在找到凸碗状结构后快速收敛,它就像一个初始化于该碗状结构的AdaGrad算法实例。相比于AdaGrad,使用移动平均引入了一个新原创 2022-03-12 20:42:16 · 11887 阅读 · 1 评论 -
机器学习中的数学——AdaGrad
AdaGrad算法独立地适应所有模型参数的学习率,缩放每个参数反比于其所有梯度历史平方值总和的平方根。具有损失最大偏导的参数相应地有一个快速下降的学习率,而具有小偏导的参数在学习率上有相对较小的下降。净效果是在参数空间中更为平缓的倾斜方向会取得更大的进步。在凸优化背景中,AdaGrad算法具有一些令人满意的理论性质。然而,经验上已经发现,对于训练深度神经网络模型而言,从训练开始时积累梯度平方会导致有效学习率过早和过量的减小。AdaGrad在某些深度学习模型上效果不错,但不是全部。AdaGrad算法输原创 2022-03-12 14:36:09 · 11273 阅读 · 0 评论 -
机器学习中的数学——优化技术:参数初始化策略
有些优化算法本质上是非迭代的,只是求解一个解点。有些其他优化算法本质上是迭代的,但是应用于这一类的优化问题时,能在可接受的时间内收敛到可接受的解,并且与初始值无关。深度学习训练算法通常没有这两种奢侈的性质。深度学习模型的训练算法通常是迭代的,因此要求使用者指定一些开始迭代的初始点。此外,训练深度模型是一个足够困难的问题,以至于大多数算法都很大程度地受到初始化选择的影响。初始点能够决定算法是否收敛,有些初始点十分不稳定,使得该算法会遭遇数值困难,并完全失败。当学习收敛时,初始点可以决定学习收敛得多块,以及是否原创 2022-03-12 14:05:42 · 11731 阅读 · 0 评论 -
机器学习中的数学——Nesterov Momentum
受Nesterov Accelerated Gradient算法的启发,Sutskever提出了动量算法的一个变种。这种情况的更新规则如下:原创 2022-03-10 20:14:23 · 11299 阅读 · 0 评论 -
机器学习中的数学——Momentum(Gradient Descent with Momentum, GDM)
虽然随机梯度下降仍然是非常受欢迎的优化方法,但其学习过程有时会很慢。Momentum旨在加速学习,特别是处理高曲率、小但一致的梯度,或是带噪声的梯度。动量算法积累了之前梯度指数级衰减的移动平均,并且继续沿该方向移动。动量的效果如下图所示所示:动量的主要目的是解决两个问题:Hessian矩阵的病态条件和随机梯度的方差。我们通过此图说明动量如何克服这两个问题的第一个。等高线描绘了一个二次损失函数(具有病态条件的Hessian矩阵)。横跨轮廓的红色路径表示动量学习规则所遵循的路径,它使该函数最小化。在该路径的原创 2022-03-08 20:15:46 · 11774 阅读 · 0 评论 -
机器学习中的数学——拟牛顿法(Quasi-Newton Methods)
在牛顿法的迭代中,需要计算Hessian矩阵的逆矩阵H−1H^{-1}H−1,这一计算比较复杂,考虑用一个nnn阶矩阵Gk=G(x(k))G_k=G(x^{(k)})Gk=G(x(k))来近似代替Hk−1(x(k))H^{-1}_k(x^{(k)})Hk−1(x(k)),这就是拟牛顿法的基本想法。先看牛顿法迭代中Hessian矩阵HkH_kHk满足的条件。首先,HkH_kHk满足以下关系:gk+1−gk=Hk(x(k+1)−x(k))g_{k+1}-g_k=H_k(x^{(k+1)}-x^{(k原创 2022-03-07 20:15:53 · 12195 阅读 · 0 评论 -
机器学习中的数学——牛顿迭代法(Newton‘s Method)
牛顿迭代法(Newton’s Method)又称为牛顿-拉夫逊(拉弗森)方法(Newton-Raphson Method),它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法。考虑无约束最优化问题:minx∈Rnf(x)\min_{x\in R^n}f(x)x∈Rnminf(x)其中x∗x^*x∗为目标函数的极小点,假设f(x)f(x)f(x)具有二阶连续偏导数,若第kkk次迭代值为x(k)x^{(k)}x(k),则可将f(x)f(x)f(x)在x(k)x^{(k)}x(k)附近进行原创 2022-03-07 20:15:21 · 22655 阅读 · 3 评论 -
机器学习中的数学——随机梯度下降(Stochastic Gradient Descent, SGD)
随机梯度下降(Stochastic Gradient Descent, SGD)及其变种很可能是一般机器学习中应用最多的的优化算法,特别是在深度学习中。如《优化技术:基础知识》中所讨论的,按照数据生成分布抽取mmm个小批量(独立同分布的)样本,通过计算它们梯度均值,我们可以得到梯度的无偏估计。随机梯度下降(Stochastic Gradient Descent, SGD)在第kkk个训练迭代的更新输入:学习率ϵk\epsilon_kϵk;初始化参数θ0\theta_0θ0或第k−1k-1k−1次输原创 2022-03-06 15:54:03 · 11114 阅读 · 0 评论 -
机器学习中的数学——深度学习优化的挑战:局部和全局结构间的弱对应
迄今为止,我们讨论的许多问题都是关于损失函数在单个点的性质——若J(θ)J(\theta)J(θ)是当前点θ\thetaθ的病态条件,或者θ\thetaθ在悬崖中,或者θ\thetaθ是一个下降方向不明显的鞍点,那么会很难更新当前步。如果该方向在局部改进很大,但并没有指向代价低得多的遥远区域,那么我们有可能在单点处克服以上所有困难,但仍然表现不佳。Goodfellow等人认为大部分训练的运行时间取决于到达解决方案的轨迹长度。如下图所示,学习轨迹将花费大量的时间探寻一个围绕山形结构的宽弧。大多数优化研究原创 2022-03-05 13:22:57 · 10900 阅读 · 0 评论 -
机器学习中的数学——深度学习优化的挑战:非精确梯度
大多数优化算法的先决条件都是我们知道精确的梯度或是Hessian矩阵。在实践中,通常这些量会有噪声,甚至是有偏的估计。几乎每一个深度学习算法都需要基于采样的估计,至少使用训练样本的小批量来计算梯度。在其他情况下,我们希望最小化的目标函数实际上是难以处理的。当目标函数不可解时,通常其梯度也是难以处理的。在这种情况下,我们只能近似梯度。例如,对比散度是用来近似玻尔兹曼机中难以处理的对数似然梯度的一种技术。各种神经网络优化算法的设计都考虑到了梯度估计的缺陷。我们可以选择比真实损失函数更容易估计的代理损失函数来避原创 2022-03-04 21:00:44 · 10152 阅读 · 0 评论 -
机器学习中的数学——深度学习优化的挑战:梯度消失和梯度爆炸
多层神经网络通常存在像悬崖一样的斜率较大区域,如下图所示。这是由于几个较大的权重相乘导致的。遇到斜率极大的悬崖结构时,梯度更新会很大程度地改变参数值,通常会完全跳过这类悬崖结构。高度非线性的深度神经网络或循环神经网络的目标函数通常包含由几个参数连乘而导致的参数空间中尖锐非线性。这些非线性在某些区域会产生非常大的导数。当参数接近这样的悬崖区域时,梯度下降更新可以使参数弹射得非常远,可能会使大量已完成的优化工作成为无用功。不管我们是从上还是从下接近悬崖,情况都很糟糕,但幸运的是,我们可以使用启发式梯度截断原创 2022-03-04 20:49:58 · 10965 阅读 · 0 评论 -
机器学习中的数学——深度学习优化的挑战:高原、鞍点和其他平坦区域
对于很多高维非凸函数而言,局部极小值(以及极大值)事实上都远少于另一类梯度为零的点:鞍点。鞍点附近的某些点比鞍点有更大的代价,而其他点则有更小的代价。在鞍点处,Hessian矩阵同时具有正负特征值。位于正特征值对应的特征向量方向的点比鞍点有更大的代价,反之,位于负特征值对应的特征向量方向的点有更小的代价。我们可以将鞍点视为代价函数某个横截面上的局部极小点,同时也可以视为代价函数某个横截面上的局部极大点。多类随机函数表现出以下性质:低维空间中,局部极小值很普遍。在更高维空间中,局部极小值很罕见,而鞍点则很原创 2022-03-04 20:44:14 · 14230 阅读 · 0 评论 -
机器学习中的数学——深度学习优化的挑战:局部极小值
凸优化问题的一个突出特点是其可以简化为寻找一个局部极小点的问题。任何一个局部极小点都是全局最小点。有些凸函数的底部是一个平坦的区域,而不是单一的全局最小点,但该平坦区域中的任意点都是一个可以接受的解。优化一个凸问题时,若发现了任何形式的临界点,我们都会知道已经找到了一个不错的可行解。对于非凸函数时,如神经网络,有可能会存在多个局部极小值。事实上,几乎所有的深度模型基本上都会有非常多的局部极小值。然而,我们会发现这并不是主要问题。由于模型可辨识性问题,神经网络和任意具有多个等效参数化潜变量的模型都会具有多个原创 2022-03-03 21:18:33 · 15263 阅读 · 0 评论 -
机器学习中的数学——深度学习优化的挑战:病态
优化通常是一个极其困难的任务。传统的机器学习会小心设计目标函数和约束,以确保优化问题是凸的,从而避免一般优化问题的复杂度。在训练神经网络时,我们肯定会遇到一般的非凸情况。即使是凸优化,也并非没有任何问题。在本文中,我们会总结几个训练深度模型时会涉及的主要挑战。病态在优化凸函数时,会遇到一些挑战。这其中最突出的是Hessian矩阵HHH的病态。这是数值优化、凸优化或其他形式的优化中普遍存在的问题。病态问题一般被认为存在于神经网络训练过程中。病态体现在随机梯度下降会“卡”在某些情况,此时即使很小的更新步长也原创 2022-03-03 21:06:56 · 15653 阅读 · 0 评论 -
机器学习中的数学——深度学习中的优化理论
深度学习算法在许多情况下都涉及优化。例如,模型中的进行推断涉及求解优化问题。我们经常使用解析优化去证明或设计算法。在深度学习涉及的诸多优化问题中,最难的是神经网络训练。甚至是用几百台机器投入几天到几个月来解决单个神经网络训练问题,也是很常见的。因为这其中的优化问题很重要,代价也很高,因此研究者们开发了一组专门为此设计的优化技术。《机器学习中的数学——优化算法》部分会介绍神经网络训练中的这些优化技术,这些技术主要关注这一类特定的优化问题:寻找神经网络上的一组参数θ\thetaθ,它能显著地降低代价函数J(θ)原创 2022-03-02 20:26:17 · 16149 阅读 · 0 评论 -
机器学习中的数学——Jacobian矩阵和Hessian矩阵
有时我们需要计算输入和输出都为向量的函数的所有偏导数。包含所有这样的偏导数的矩阵被称为Jacobian矩阵。具体来说,如果我们有一个函数f:Rm→Rnf:R^m\rightarrow R^nf:Rm→Rn,fff的Jacobian矩阵J∈Rn×mJ\in R^{n\times m}J∈Rn×m定义为:Ji,j=∂∂xjf(x)iJ_{i, j}=\frac{\partial}{\partial x_j}f(x)_iJi,j=∂xj∂f(x)i有时,我们也对导数的导数感兴趣,即二阶导数。例如,有一原创 2022-02-27 16:32:28 · 14164 阅读 · 0 评论 -
机器学习中的数学——梯度下降法(Gradient Descent)
多数深度学习算法都涉及某种形式的优化。优化指的是改变xxx以最小化或最大化某个函数f(x)f(x)f(x)的任务。我们通常以最小化f(x)f(x)f(x)指代大多数最优化问题。最大化可经由最小化算法最小化−f(x)-f(x)−f(x)来实现。我们把要最小化或最大化的函数称为目标函数或准则。当我们对其进行最小化时,也把它称为代价函数、损失函数或误差函数。我们通常使用一个上标∗^∗∗表示最小化或最大化函数的xxx值,如记x∗=argminf(x)x^∗=\arg \min f(x)x∗=argminf(x)原创 2022-02-23 23:40:35 · 13683 阅读 · 0 评论 -
机器学习中的数学——点估计(四):最大后验估计(Maximum Posteriori Probability,MAP)
前面的文章我们已经讨论了频率派统计方法和基于估计单一值θ\thetaθ的方法,然后基于该估计作所有的预测。另一种方法是在做预测时会考虑所有可能的θ\thetaθ。后者属于贝叶斯统计的范畴。频率派的视角是真实参数θ\thetaθ是未知的定值,而点估计θ^\hat{\theta}θ^是考虑数据集上函数(可以看作随机的)的随机变量。贝叶斯统计的视角完全不同。贝叶斯统计用概率反映知识状态的确定性程度。数据集能够被直接观测到,因此不是随机的。另一方面,真实参数θ\thetaθ是未知或不确定的,因此可以表示成随机变量原创 2022-02-19 20:26:43 · 12537 阅读 · 3 评论 -
机器学习中的数学——点估计(三):极大似然估计/最大似然估计(Maximum Likelihood Estimate,MLE)
极大似然估计是求总体未知参数的另一种常用的点估计方法。对离散总体XXX,其分布律为P(X=x;θ)P(X=x; \theta)P(X=x;θ),设(x1,x2,⋯ ,xn)(x_1, x_2, \cdots, x_n)(x1,x2,⋯,xn)为取自该离散总体XXX的一个样本(X1,X2,⋯ ,Xn)(X_1, X_2, \cdots, X_n)(X1,X2,⋯,Xn)的观测值,我们写出该观测值出现的概率,它一般依赖于某个或某几个参数,用θ\thetaθ表示,将该概率看成是θ\thetaθ的函数,原创 2022-02-19 16:38:27 · 20938 阅读 · 4 评论 -
机器学习中的数学——点估计(二):矩估计
矩估计的思想就是替换思想:用样本原点矩替换总体原点矩。设总体XXX的kkk阶原点矩:μk=E(Xk)\mu_k=E(X_k)μk=E(Xk),样本的kkk阶原点矩为:Ak=1n∑i=1nXikA_k=\frac{1}{n}\sum_{i=1}^nX_i^kAk=n1i=1∑nXik如果未知参数θ=ϕ(μ1,μ2,⋯ ,μm)\theta=\phi(\mu_1, \mu_2, \cdots, \mu_m)θ=ϕ(μ1,μ2,⋯,μm),则θ\thetaθ的矩估计量为:θ^=ϕ(A1原创 2022-02-19 14:01:20 · 13029 阅读 · 0 评论 -
机器学习中的数学——点估计(一):基础知识
设总体XXX的分布形式已知,但它的一个或多个参数未知,借助于总体XXX的一个样本来估计总体未知参数值的问题称为参数的点估计。设总体X∼f(x;θ)X\sim f(x;\theta)X∼f(x;θ),其中fff的形式已知,θ\thetaθ是未知参数.例如,总体X∼B(1,p)X\sim B(1, p)X∼B(1,p),其中ppp未知,这个ppp即为标记总体分布的未知参数,简称总体参数。总体参数虽然是未知的,但是它可能取值的范围却是已知的.称总体参数的取值范围为参数空间,记作Θ\ThetaΘ.例如,已知总体X∼原创 2022-02-14 21:29:59 · 12681 阅读 · 0 评论 -
机器学习中的数学——常用概率分布(十二):逻辑斯谛分布(Logistic 分布)
设XXX是连续随机变量,XXX服从逻辑斯谛分布(Logistic 分布)是指XXX具有下列分布函数和密度函数:F(x)=P(X≤x)=11+e−(x−μ)γF(x)=P(X\leq x)=\frac{1}{1+e^{-\frac{(x-\mu)}{\gamma}}}F(x)=P(X≤x)=1+e−γ(x−μ)1f(x)=F′(x)=e−(x−μ)γγ(1+e−(x−μ)γ)2f(x)=F'(x)=\frac{e^{-\frac{(x-\mu)}{\gamma}}}{\gamma(1+e^{-\fra原创 2022-02-12 14:53:00 · 18814 阅读 · 0 评论 -
机器学习中的数学——距离定义(二十九):点间互信息(Pointwise Mutual Information, PMI)
在机器学习实践中,经常会用到点间互信息(Pointwise Mutual Information, PMI)来衡量两个变量的相关性。原创 2022-01-09 23:51:48 · 15128 阅读 · 0 评论 -
机器学习中的数学——距离定义(二十八):最大均值差异(Maximum Mean Discrepancy, MMD)
最大均值差异(Maximum Mean Discrepancy,MMD)是迁移学习,尤其是 域适应(Domain Adaptation)中使用最广泛的一种损失函数,主要用来度量两个不同但相关的分布的距离。最大均值差异还可以用来测试两个样本,是否来自两个不同分布ppp和qqq,如果均值差异达到最大,就说明采样的样本来自完全不同的分布。假设有一个满足ppp分布的数据集Xs=[xs1,…,xsn]和一个满足Q分布的数据集Xt=[xt1,…,xtm] 并且存在一个再生希尔伯特空间H(RKHS) 存在一个映射函数ϕ原创 2022-01-09 23:43:44 · 22355 阅读 · 0 评论 -
机器学习中的数学——距离定义(二十七):巴氏距离(Bhattacharyya Distance)
在统计中,巴氏距离(Bhattacharyya Distance)测量两个离散或连续概率分布的相似性。它与衡量两个统计样品或种群之间的重叠量的巴氏系数密切相关。巴氏距离和巴氏系数以20世纪30年代曾在印度统计研究所工作的一个统计学家A. Bhattacharya命名。同时,巴氏系数可以被用来确定两个样本被认为相对接近的,它是用来测量中的类分类的可分离性。对于离散概率分布 p和q在同一域 X,巴氏距离被定义为:接下来,我们来看一下求BC(p,q)BC(p, q)BC(p,q)的Python实现以及求出BC原创 2022-01-09 23:26:46 · 24770 阅读 · 8 评论 -
机器学习中的数学——距离定义(二十六):Wasserstein距离(Wasserstei Distance)/EM距离(Earth-Mover Distance)
Wasserstein距离也被称为推土机距离(Earth Mover’s Distance,EMD),用来表示两个分布的相似程度。Wasserstein距离衡量了把数据从分布ppp移动成”分布qqq时所需要移动的平均距离的最小值。Wasserstein距离是2000年IJCV期刊文章《The Earth Mover’s Distance as a Metric for Image Retrieval》提出的一种直方图相似度量。如果两个分布ppp和qqq离得很远,完全没有重叠的时候,那么KL散度值是没有意义的原创 2022-01-09 23:09:04 · 48131 阅读 · 12 评论 -
机器学习中的数学——距离定义(二十五):布雷格曼散度(Bregman Divergence)
F-散度已经可以表达我们提到的所有散度,目前为止它是最通用的散度形式。但很多文章也会出现另一种叫做Bregman的散度,它和F-散度不太一样,是另一大类散度。我们以欧几里得距离举例,即nnn维空间中的欧几里得距离:d(x,y)=∑i=1n(xi−yi)2d(x, y)=\sqrt{\sum_{i=1}^n(x_i-y_i)^2}d(x,y)=i=1∑n(xi−yi)2我们将其平方:d2(x,y)=∑i=1n(xi−yi)2d^2(x, y)=\sum_{i=1}^n(x_i-y_i)^2d2原创 2022-01-09 17:22:36 · 16169 阅读 · 0 评论 -
机器学习中的数学——距离定义(二十四):F-散度(F-Divergence)
F-散度(F-Divergence)是KL散度的一个推广:DF(p∣∣q)=∫q(x)f(p(x)q(x))D_F(p||q)=\int q(x)f(\frac{p(x)}{q(x)})DF(p∣∣q)=∫q(x)f(q(x)p(x))其中,函数f(x)f(x)f(x)需要满足下列2个性质:f(x)f(x)f(x)是一个凸函数f(1)f(1)f(1)=0若f(x)=xlogxf(x)=x\log{x}f(x)=xlogx,则F-散度退化为KL散度;若f(x)=−logxf(x)=-\l原创 2022-01-09 16:49:45 · 14257 阅读 · 0 评论 -
机器学习中的数学——距离定义(二十三):α-散度(α-Divergence)
α-散度表达式如下:Dα(p∣∣q)=41−α2(1−∫p(x)1+α2q(x)1−α2dx)D_\alpha(p||q)=\frac{4}{1-\alpha^2}(1-\int p(x)^{\frac{1+\alpha}{2}}q(x)^{\frac{1-\alpha}{2}}\text{d}x)Dα(p∣∣q)=1−α24(1−∫p(x)21+αq(x)21−αdx)其中,−∞<α<+∞-\infty<\alpha<+\infty−∞<α<+∞是一个连续原创 2022-01-09 16:37:42 · 16584 阅读 · 3 评论 -
机器学习中的数学——距离定义(二十二):海林格距离(Hellinger Distance)
我们假设ppp和qqq是两个概率测度,并且它们对于第三个概率测度λ\lambdaλ来说是绝对连续的,则ppp和qqq的海林格距离(Hellinger Distance)的平方被定义如下:H2(p,q)=12∫(dpdλ−dqdλ)2dλH^2(p,q)=\frac{1}{2}\int(\sqrt{\frac{\text{d}p}{\text{d}\lambda}}-\sqrt{\frac{\text{d}q}{\text{d}\lambda}})^2\text{d}\lambdaH2(p,q)=21∫(原创 2022-01-09 16:35:36 · 26276 阅读 · 2 评论 -
机器学习中的数学——距离定义(二十一):JS散度(Jensen–Shannon Divergence)
JS散度度量了两个概率分布的相似度,是KL散度的变体,JS散度解决了KL散度非对称的问题。一般地,JS散度是对称的,其取值是0到1之间:JS(p,q)=12KL(p∣∣p+qq)+12KL(q∣∣p+qq)\text{JS}(p,q)=\frac{1}{2}\text{KL}(p||\frac{p+q}{q})+\frac{1}{2}\text{KL}(q||\frac{p+q}{q})JS(p,q)=21KL(p∣∣qp+q)+21KL(q∣∣qp+q)下面我们来看一下JS散度的Python实原创 2022-01-08 22:42:33 · 23873 阅读 · 4 评论 -
机器学习中的数学——距离定义(二十):相对熵(Relative Entropy)/KL散度(Kullback-Leibler Divergence)
相对熵(Relative Entropy)),又被称为KL散度(Kullback-Leibler Divergence)或信息散度(Information Divergence),是两个概率分布间差异的非对称性度量 。在信息理论中,相对熵等价于两个概率分布的信息熵的差值 。相对熵也是一些优化算法,例如最大期望算法的损失函数 。此时参与计算的一个概率分布为真实分布,另一个为非真实(拟合)分布,相对熵表示使用非真实分布拟合真实分布时产生的信息损耗 。设p(x)p(x)p(x)、q(x)q(x)q(x)是随机变原创 2022-01-08 00:06:47 · 17204 阅读 · 0 评论