使用梯度下降法来优化

简介: 【7月更文挑战第26天】使用梯度下降法来优化

假如有一个实例,它的输入为x,需要使用梯度下降法来优化,这个实例的损失函数为,初始值为。对于该函数,需要找到J的最小值。要找到J的最小值,首先需要确定优化方向,也就是梯度的方向,每次优化的幅度就是学习率,那么更新公式为。对于该损失函数,,初始化的时候,设置=1,学习率为0.2,那么根据公式进行计算后,5次迭代结果如表所示。
5次迭代结果
迭代次数 参数值 更新后的参数值
1 1 1-2×1×0.2=0.6
2 0.6 0.6-2×0.6×0.2=0.36
3 0.36 0.36-2×0.36×0.2=0.216
4 0.216 0.216-2×0.216×0.2=0.1296
5 0.1296 0.1296-2×0.1296×0.2=0.07776

经过5次优化后,所得的结果已经比较小了。但是梯度下降法有一些问题:首先,如果损失函数不是一个凸函数,梯度下降并不一定能给出全局最优解,可能仅仅是局部最优解;其次,对全部数据的损失函数进行梯度下降是非常耗费时间的。一般为了加快速度,会选择随机梯度下降(Stochastic Gradient Descent),随机梯度下降不是对所有训练数据集的损失函数进行训练,而是训练某一个数据的损失函数,但是这一个数据损失函数的下降并不能很好地代表整体下降,所以要采用一个办法,就是引入一个批次(batch)训练,每次取训练数据集的一部分构造损失函数进行梯度下降,进而优化损失函数。

目录
相关文章
|
6月前
|
算法
梯度下降算法(二)
梯度下降法中,学习率选择至关重要。0.3的学习率导致无法找到最小值且产生震荡,而0.01则使结果接近最优解(2.99998768)。当学习率进一步减小至0.001,点远离最低点。通过迭代次数增加至1000次,可更接近最低点(2.999999999256501)。梯度下降用于最小化损失,学习率控制参数更新步长,需平衡收敛速度和稳定性。迭代次数和初始点也影响模型性能,合适的初始化能加速收敛并避开局部极小值。
|
6月前
|
机器学习/深度学习 存储 算法
梯度下降算法(一)
梯度下降是一种迭代优化算法,用于找到多变量函数的最小值。它不直接求解方程,而是从随机初始点开始,沿着梯度(函数增大幅度最大方向)的反方向逐步调整参数,逐步逼近函数的最小值。在单变量函数中,梯度是导数,而在多变量函数中,梯度是一个包含所有变量偏导数的向量。通过计算梯度并乘以学习率,算法更新参数以接近最小值。代码示例展示了如何用Python实现梯度下降,通过不断迭代直到梯度足够小或达到预设的最大迭代次数。该过程可以类比为在雾中下山,通过感知坡度变化来调整前进方向。
|
机器学习/深度学习 算法 数据挖掘
最优化--梯度下降法--牛顿法(详解)
最优化--梯度下降法--牛顿法(详解)
1637 1
|
7月前
|
机器学习/深度学习 算法
反向传播原理的梯度下降算法
反向传播原理的梯度下降算法
|
前端开发 算法 定位技术
基于遗传算法的多目标优化
目前的多目标优化算法有很多,Kalyanmoy Deb的带精英策略的快速非支配排序遗传算法(nondominated sorting genetic algorithm I,NSGA-II)无疑是其中应用最为广泛也是最为成功的一种。MATLAB R2009a版本提供的函数gamultiobj所采用的算法就是基于NSGA-Ⅱ改进的一种多目标优化算法(a variant of NSGA-ⅡI)。函数gamultiobj的出现,为在MATLAB平台下解决多目标优化问题提供了良好的途径。
|
算法
【改进灰狼优化算法】改进收敛因子和比例权重的灰狼优化算法【期刊论文完美复现】
【改进灰狼优化算法】改进收敛因子和比例权重的灰狼优化算法【期刊论文完美复现】
|
机器学习/深度学习 并行计算 算法
【机器学习】搜索算法(梯度,随机梯度,次梯度,小批量,坐标下降)
【机器学习】搜索算法(梯度,随机梯度,次梯度,小批量,坐标下降)
247 0
|
机器学习/深度学习 传感器 算法
基于随机油漆优化器 (MOSPO)求解多目标优化问题附matlab代码
基于随机油漆优化器 (MOSPO)求解多目标优化问题附matlab代码
|
机器学习/深度学习 人工智能 数据可视化
F(x)构建方程 ,梯度下降求偏导,损失函数确定偏导调整,激活函数处理非线性问题
F(x)构建方程 ,梯度下降求偏导,损失函数确定偏导调整,激活函数处理非线性问题
155 0
F(x)构建方程 ,梯度下降求偏导,损失函数确定偏导调整,激活函数处理非线性问题