线性回归-梯度下降优化算法

/ 默认分类 / 0 条评论 / 998浏览

一.前言

上一节我们推导了出了损失函数J(θ),并且通过求偏导得到了当的时候,损失函数的取值是最小的。所以我们是不是就已经得出了最优的线性回归方程了呢? 其实不然,对于上述操作,我们是直接求导数,然后另导数函数等于0,来求这个凸函数的极值(最低点),但是实际上,对于一些简单的问题,特别是线性回归等凸优化问题,我们的确可以通过直接求导数并求解导数等于零的方程组来找到最小值。然而,对于复杂的模型和大规模数据集大规模大维度的特征变量数据集,例如深度神经网络或者实际银行信贷的生产场景中(也就是高维度的优化问题),损失函数往往是高度非线性和非凸的,其导数非常复杂,难以求的解析解。在这种情况下梯度下降这种迭代方法,通过逐步更新参数来逼近最优解,就非常适合高维度的优化问题。 下面,我们就一起来总结学习一下。

二.梯度下降

2.1 什么是梯度下降

梯度下降是一种常用的优化算法,主要用于最小化损失函数。在机器学习和深度学习中,梯度下降被广泛应用于模型训练,帮助找到模型参数的最优值。

目标

目标是找到参数 θ使得损失函数 J(θ)最小化。损失函数衡量模型预测值与实际值之间的差距。 梯度 梯度是损失函数关于参数的导数,表示损失函数在各个方向上的变化率。梯度指向损失函数增加最快的方向,因此沿着梯度的反方向移动可以减少损失函数的值。

2.2 梯度下降的实际应用方法

image.png image.png image.png image.png

2.3 三种不同的梯度下降模式的比较

下面补充下,: 梯度下降法是机器学习中一种常用的优化算法,用于通过迭代的方式找到使损失函数最小化的参数。根据每次更新参数时使用的样本数量,梯度下降法可以分为以下几种类型:

1. 批量梯度下降(Batch Gradient Descent)

批量梯度下降每次使用整个训练集来计算梯度并更新参数。 特点:

**更新公式: ****其中,

2. 随机梯度下降(Stochastic Gradient Descent, SGD)

随机梯度下降每次使用一个训练样本来计算梯度并更新参数。 特点:

更新公式: image.png

3. 小批量梯度下降(Mini-batch Gradient Descent)

小批量梯度下降每次使用一个小批量(mini-batch)训练样本来计算梯度并更新参数。 特点:

更新公式: image.png 批量梯度下降(Batch Gradient Descent):每次使用整个训练集计算梯度,适用于小规模数据集,更新方向稳定但计算成本高。
随机梯度下降(Stochastic Gradient Descent, SGD):每次使用一个训练样本计算梯度,适用于大规模数据集,计算成本低但更新方向不稳定。
小批量梯度下降(Mini-batch Gradient Descent):每次使用一个小批量训练样本计算梯度,兼具批量和随机梯度下降的优点,计算效率高且更新较稳定,适用于大规模数据集。