梯度下降法——得到的结果可能是局部最优值,如果凸函数则可保证梯度下降得到的是全局最优值

简介:

摘自:http://www.wengweitao.com/ti-du-xia-jiang-fa.html

梯度下降法(Gradient Descent)是一种常见的最优化算法,用于求解函数的最大值或者最小值。

梯度下降

在高数中,我们求解一个函数的最小值时,最常用的方法就是求出它的导数为0的那个点,进而判断这个点是否能够取最小值。但是,在实际很多情况,我们很难求解出使函数的导数为0的方程,这个时候就可以使用梯度下降。

举一个具体的例子,假如你在一座山的山顶准备下山,往哪一个方向走下山最快呢?下山最快的方向是最陡的那个方向,每一步你都应该朝最陡的那个方向走,直到到达山底,学习速率就表示你每一步迈的步伐有多大。

为什么从函数的梯度方向下降可以得到函数的最小值

梯度下降法,基于这样的观察:如果实值函数F(x)在点a 处可微且有定义,那么函数 F(x)在a点沿着梯度相反的方向−▽F(a)下降最快。

见下图,如果顺利的话序列最终可以收敛到期望的极值。

梯度下降描述

注意:梯度下降得到的结果可能是局部最优值。如果F(x)F(x)是凸函数,则可以保证梯度下降得到的是全局最优值。

 

当然,可能梯度下降的最终点并非是全局最小点,可能是一个局部最小点,可能是下面的情况:

image

 

可以进一步参考实例:https://ctmakro.github.io/site/on_learning/gd.html



















本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/bonelee/p/7007702.html,如需转载请自行联系原作者

相关文章
|
2天前
|
数据可视化
R平方/相关性取决于预测变量的方差
R平方/相关性取决于预测变量的方差
11 4
|
18小时前
|
数据可视化
R语言非参数模型厘定保险费率:局部回归、广义相加模型GAM、样条回归
R语言非参数模型厘定保险费率:局部回归、广义相加模型GAM、样条回归
|
4月前
|
算法 定位技术
插值、平稳假设、本征假设、变异函数、基台、块金、克里格、线性无偏最优…地学计算概念及公式推导
插值、平稳假设、本征假设、变异函数、基台、块金、克里格、线性无偏最优…地学计算概念及公式推导
|
存储 算法 PyTorch
pytorch 给定概率分布的张量,如何利用这个概率进行重复\不重复采样?
在 PyTorch 中,可以使用 torch.distributions.Categorical 来基于给定的概率分布进行采样。
643 0
|
11月前
|
资源调度 算法 关系型数据库
概率图推断之变量消除算法
事实证明,推理是一项颇具挑战的任务。对于很多我们感兴趣的概率,要准确回答这些问题都是NP难题。至关重要的是,推理是否容易处理取决于描述概率的图的结构。尽管有些问题很难解决,我们仍然可以通过近似推理方法获得有用的答案。
176 0
概率图推断之变量消除算法
|
11月前
|
算法
单变量批量梯度下降算法与单变量随机梯度下降算法
通过这些图形,我希望你能更好地理解这些代价函数J所表达的值是什么样的,它们对应的假设是什么样的,以及什么样的假设对应的点,更接近于代价函数的最小值。
80 0
|
机器学习/深度学习 传感器 算法
【蝴蝶算法】基于随机惯性权重策略+最优邻域扰动策略+动态转换概率策略的蝴蝶算法求解单目标优化问题附matlab代码IBOA
【蝴蝶算法】基于随机惯性权重策略+最优邻域扰动策略+动态转换概率策略的蝴蝶算法求解单目标优化问题附matlab代码IBOA
|
索引
每次迭代,打印当前小批量的每个样本的梯度
对于每个迭代,打印每个样本的梯度是可行的,但是通常不是一个好的做法,因为随着训练样本数量的增加,打印每个样本的梯度将变得非常耗时。 如果您仍然想打印每个样本的梯度,可以按照以下步骤进行: 1. 在训练循环中,使用 enumerate() 函数迭代数据集中的每个批次,并获取每个批次的索引和数据。 2. 在每个批次中,将数据传递到模型中,并计算梯度。然后,您可以使用 grad 属性获取每个样本的梯度,并将其打印出来。 3. 将所有批次的梯度合并为一个大梯度,并使用此梯度更新模型的参数。
225 0
|
机器学习/深度学习 自动驾驶 算法
权重衰减== L2正则化?(一)
权重衰减== L2正则化?(一)
102 0
权重衰减== L2正则化?(一)
|
机器学习/深度学习 传感器 算法
基于变因子加权学习与邻代维度交叉策略的改进乌鸦算法求解单目标优化问题含Matlab代码
基于变因子加权学习与邻代维度交叉策略的改进乌鸦算法求解单目标优化问题含Matlab代码