梯度下降数学推导(梯度下降 知乎)
原标题:中金科普专栏|梯度下降背后的数学之美
对于所有“MLers”来说,梯度下降的概念一定很熟悉。然而直观上,梯度下降的复杂性无疑会让人们对其敬而远之。本文作者SurajBansal拆解了梯度下降背后的数学原理,并提供了简单的现实案例,让大家以轻松的方式深入了解梯度下降这种在机器学习领域至关重要的方法。和有趣的语气。
“敏捷软件开发”定义了迭代产品开发的过程,通过该过程可以执行以下步骤。
1)市场调研后的产品构建
2)产品商业化和进入市场
3)评估消费者满意度和市场渗透率
4)及时回复反馈并更新迭代产品
5)重复上述过程
这个过程本质上涉及重复的市场测试、反馈收集和产品迭代,直到以最小的错误实现最大的市场渗透。这个循环会重复多次,并确保消费者可以在每一步提供一些反馈来影响产品变更策略。
事实上,这个看似简单的迭代过程在梯度下降原理中得到了很好的体现。梯度下降可以通过首先计算成本函数的梯度,然后更新梯度对应的现有参数来最小化成本函数来处理。
梯度将具有许多变量的函数转换为向量(我们稍后将讨论这个主题)。
理解梯度下降背后的多元微积分可能听起来很吓人……不要害怕,下面我将解释梯度下降背后的原理,只讨论理解梯度下降所需的数学概念。
梯度下降变体
使用机器学习算法实现的梯度下降有三种主要变体,每种变体的计算效率有所不同,并且有其独特的优势。
第一种变体:批量梯度下降
批量梯度下降可以说是最简单的梯度下降变体。整个过程可以看作是训练迭代次数(Epoch),它决定了用于更新模型权重的训练向量的数量。
针对训练集中的每一批个体样本计算批量梯度下降的误差,并在一个Epoch内机器学习算法训练完所有训练点后更新模型参数。
更多相关信息可以参考下面的文章(文章推荐了五本机器学习相关的书籍):
https://www.datadriveninvestor.com/2019/03/03/editors-pick-5-machine-learning-books/
该方法的误差梯度和收敛速度都比较稳定,能够达到足够的计算效率。然而,由于模型在分析整个训练集后才迭代权重,因此此时的收敛状态可能不是最优的。事实上,可以优化模型以获得更准确的结果!
第二种变体:随机梯度下降
现在开始.随机梯度下降!这两种方法之间的根本区别在于,随机梯度下降随机化整个数据集并更新每个训练样本的权重和参数,而批量梯度下降在分析整个训练集后更新参数。进行更新。
不断更新模型可以提供更高的精度和更快的计算速度。然而,频繁的变化会产生更多的梯度噪声,这意味着它在误差最小区域(成本函数最低的点)内来回振荡。因此,每次运行测试时都会存在一些差异。
好吧,这两种方法都有一些明显的优点和缺点,那么哪种方法更适合您的机器学习模型呢?这不是一个困难的问题。不是——吧!
第三种变体:小批量梯度下降
现在进入.小批量梯度下降!它基本上结合了批量梯度下降的效率和随机梯度下降的整体鲁棒性。
该方法的工作原理是将数据集聚类成更小的批次(通常在30-500个训练点之间),并且模型对每个批次执行迭代。它通过使用高度优化的矩阵来提高效率和准确性,有效减少参数更新的方差。
所有梯度下降变体将使用以下公式进行建模。每次模型反向传播时都会执行此迭代,直到成本函数达到其收敛点。
权重向量存在于x-y平面上,将每个权重对应的损失函数的梯度乘以学习率,然后用向量减去乘积。
偏导数是用来更新参数0、1和alpha(学习率)的梯度,而alpha是一个非常重要的超参数,需要用户给出。M表示更新次数,i表示梯度更新的起点。
涉及一些数学概念1、偏导数
我们知道,多变量函数的偏导数是在保持其他变量不变的情况下对其中一个变量的导数。但是这个函数的整个求导过程是怎样的呢?
首先,让我们了解偏导数背后的数学原理。计算像f(x,y)=x*y这样的多变量函数的过程可以分解如下:
嗯,我知道你此时在想什么。——导数本身就已经非常复杂和无聊了。为什么用偏导数而不是全导数!
函数输入由多个变量组成,因此涉及的概念是多变量微积分。偏导数用于评估每个变量在保持不变时相对于其他变量如何变化。
2、梯度
梯度本质上是将多维输入的一维值输出到标量值多变量函数。梯度表示图形切线的斜率,它指向函数最大增长率的方向。该导数表示成本函数的趋势或斜率值。
本质上,任何给定函数f(通常用f表示)的梯度都可以解释为向量的所有偏导数的集合。
偏导数被假定为n个导数,其中n个偏导数将每个单独的变量与被视为常数的其他变量隔离开来。梯度将每个偏导数组合成一个向量。
3、学习率
梯度决定了运动的方向。学习率将决定我们采取的步骤的大小。学习率本质上是一个超参数,它定义神经网络中的权重相对于损失的梯度下降调整的程度。
该参数决定了我们向最佳权重移动的速度,同时最小化每一步的成本函数。高学习率可以在每一步中覆盖更多区域,但可能会跳过成本函数的最小值;较低的学习率将需要很长时间才能达到成本函数的最小值。
我以我的小侄子和他对狗的喜爱为例来解释这两种情况:
假设我突然给他看了一只白狗,然后告诉他这是一只狗。如果学习率低,他会继续认为所有的狗都必须具有黑色特征,而这只白色的狗是一只不正常的狗。
如果学习率很高,Arnav就会相信所有的狗都应该是白色的,任何偏离他的新信念的行为都将被视为错误,即使他以前见过25只黑狗。
在理想的学习速率下,Arnav将意识到颜色并不是对狗进行分类的主要属性,他将继续发现狗的其他特征。理想的学习率无疑是最好的,因为它可以在准确性和时间成本之间找到平衡。
4、成本函数
成本函数可以衡量模型的性能。在神经网络训练过程中,我们需要保证代价函数不断减小,直到达到最小值。
成本函数本质上是通过平均绝对误差和均方误差等回归指标来量化预测值和期望值之间的总误差。
5、平均绝对误差
平均绝对误差衡量一组预测样本中平均误差的大小,而不评估其方向或向量,可以通过以下公式进行建模。
6、均方误差
均方误差求预测值与实际值之间平均差的平方。均方误差的原理与平均绝对误差MAE基本相同,只不过最终值是平方而不是绝对值。它衡量偏误差值的不再是坐标系内点之间的距离,而是由测量点之间的距离得出的形状(通常是正方形)的面积。
7、梯度下降(再次介绍)
让我们看一下这样的类比,以进一步理解梯度下降是如何直观地工作的!
想象一下,你正站在珠穆朗玛峰的山顶,现在必须完成到达山脚的任务。这听起来非常简单和直观,对吧?
然而,(现在有一个小细节你需要考虑的是,第——章你完全瞎了)这里有一条小消息,你需要重新考虑第——章你是瞎子。
这无疑使任务变得更加困难,但目标并非完全不可能实现。在开始向更大的斜坡移动之前,您需要先迈出一小步。在到达山脚之前,这种方法需要多次迭代才能最终到达目的地。
这本质上模仿了梯度下降的思想,其中模型向后传播以最终到达山的最低点。
山脉类似于在空间中绘制的数据图,步行步骤类似于学习率,感受地形的陡峭程度类似于计算数据集参数梯度的算法。
如果假设正确,所选择的方向将降低成本函数。山的底部代表机器权重的最佳值(其中成本函数已最小化)。
8、线性回归
对于那些不熟悉的变量,回归分析经常用于所有统计建模学科中,以研究多变量函数之间的关系以进行预测分析。
表示期望值和实验值之间误差的线称为回归线,每个残差值都可以通过将其方差连接到最佳拟合线的垂直线段来追踪。
下式将x表示为输入训练数据(参数为单变量或单输入变量),y表示数据的标签,假设有监督学习。
让我们通过下面的例子进一步理解这一点。
Elon在salesx担任兼职营销总监。他收集了过去一年促销活动的支付金额和销售额数据,为今后的销售和促销提供一些指导性建议。
Elon认为数据应该是线性的,因此他使用散点图来呈现这些信息。横坐标和纵坐标分别是新客户数量和成本。Elon构建回归线的目的是更好地理解和预测salesx将通过新的营销概念获得多少客户。
9、多项式回归
线性回归是显示数据集中两个相关变量的结构和趋势的好方法。然而,考虑到线性函数的行为,它们不能准确地反映非线性回归关系,因为某些相关性仍然可以在非线性关系中清楚地显示出来。
多项式回归能够对n次方函数之间的关系进行建模,并且可以拟合一些误差函数值比线性回归更低的数据集。
虽然多项式回归可以更好地拟合函数的曲率并最准确地表示两个变量之间的关系,但它们对异常值极其敏感,很容易使数据产生偏差。
编辑/马志伟
回顾/杨鹏程
点评/孙天明
转载自:数学中国
关注公众号了解更多
申请会员请在公众号回复“个人会员”或“团体会员”。
欢迎关注中国指挥与控制学会媒体矩阵
中金公司官方网站
中金公司官方微信公众号
《指挥与控制学报》官网
国际无人系统大会官方网站
中国指挥控制大会官方网站
全国战争游戏大赛
全国机载智能游戏大赛
搜狐帐号
一点号返回搜狐查看更多