瞎聊机器学习——梯度下降法

简介: 瞎聊机器学习——梯度下降法

梯度下降法(gradient descent)是求解无约束最优化问题的一种最常用的方法,具有实现简单的优点,梯度下降法是迭代算法,每一步都需要求解目标函数的梯度向量,下面我们来全方位的理解一下梯度下降法。


一、梯度下降法的理解

用一个通俗的例子来讲解一下梯度下降法,假设小明现在站在山顶上(下图中A点的位置),此时他接到电话有急事需要下山,但是山上的能见度很低,小明只可以根据周围的环境信息去确定一条下山的路线,那么如何才能最快的到达山脚下呢(图中F点的位置)?梯度下降法便能很好的解决这个问题,为了达到最快的下山速度,在每一个能见范围内小明需要寻找最陡的那条路去走,假设从A点的可见范围内最陡的路线是AB,那么小明就要先走AB这条路,后面的每一个点都是同理的直到到达山脚F点位置,此时我们便可以认为找到了一条最优的路线。

11.png

我们初步了解了一下小明需要用什么方法下山,但是在每一个能见度点(图中A-F点)如何去找到最陡的那条路呢?


最直观的方法便是我们用一个工具去测量能见度内的每一条路线的长度,但是如果测量全部的路线会变得麻烦又浪费时间,过少的测量又会导致选不出合适的路线,这就要求我们去选择一个合适的测量频率来保证省时又准确。


二、梯度下降法的数学意义

看完了上面的例子,我相信你已经对梯度下降法有了一个初步的认识,至少也应该大致明白了它的工作原理,下面我们从数学的角度上来说一下梯度下降法。


梯度

首先需要大家明确一个概念:梯度。


梯度是什么?

梯度在本质上是一个向量,它表示某一函数在该点的方向导数沿着该方向取得最大值(导数可以看做是某一点的斜率,引入到上述的下山问题,斜率最大时是不是就是最陡的下山方向呢?)。


在一个一元函数中我们可以很好地求出它的导数,在这里不在赘述,下面举个例子来分析一下多元函数的梯度。

2.gif

1.gif

定义一个函数如下:


通过上面的式子我么可以看到多元函数的的梯度就是该函数对每个变量求偏导之后的向量表示。


梯度下降

通过上面简短的讲解,我们已经大致明白了梯度的含义以及计算方法,梯度下降法意在通过梯度得到使函数值下降最快的方向并沿着该方向进行迭代计算,也就是在给定初始值的条件下,不断的迭代,更新θθ的值,来进行目标函数的极小化,直至收敛,由于负梯度的方向才是使函数值下降最快的方向,所以我们每次迭代都以负梯度的方向来更新θθ的值,从而达到减小函数值的目的。


梯度下降法的表达式:

image.png

其中θi+1表示进行一次迭代后的参数值;:=表示迭代;α表示学习率(可以看做是下山问题中的步长)我们不能一次下降过长的距离,所以要用学习率来控制这个距离;θi和▽J(θi)就表示第i次迭代时的参数和梯度;式子中的符号来源于上文对负梯度作用的解释。

下面通过一个例子来说明一下梯度下降法:

有函数以及参数如下:

image.png

使用梯度下降法进行迭代:

image.png

这里举出了一个一元函数的例子,多远函数同理,我们先算出它的梯度再迭代进行参数更新即可,这里不再举例说明。

以上便是对梯度下降法的通俗理解方式以及其数学上的计算方法,后续将会更新梯度下降法的优化以及他们在代码上的实现。

相关文章
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
梯度下降求极值,机器学习&深度学习
梯度下降求极值,机器学习&深度学习
54 0
|
6月前
|
机器学习/深度学习 算法 TensorFlow
【Python机器学习】梯度下降法的讲解和求解方程、线性回归实战(Tensorflow、MindSpore平台 附源码)
【Python机器学习】梯度下降法的讲解和求解方程、线性回归实战(Tensorflow、MindSpore平台 附源码)
179 0
|
机器学习/深度学习 存储 算法
机器学习面试笔试知识点-决策树、随机森林、梯度提升决策树(GBDT)、XGBoost、LightGBM、CatBoost
机器学习面试笔试知识点-决策树、随机森林、梯度提升决策树(GBDT)、XGBoost、LightGBM、CatBoost
536 0
|
1月前
|
机器学习/深度学习 算法
【机器学习】揭秘GBDT:梯度提升决策树
【机器学习】揭秘GBDT:梯度提升决策树
|
3月前
|
机器学习/深度学习
【机器学习】面试题:LSTM长短期记忆网络的理解?LSTM是怎么解决梯度消失的问题的?还有哪些其它的解决梯度消失或梯度爆炸的方法?
长短时记忆网络(LSTM)的基本概念、解决梯度消失问题的机制,以及介绍了包括梯度裁剪、改变激活函数、残差结构和Batch Normalization在内的其他方法来解决梯度消失或梯度爆炸问题。
150 2
|
3月前
|
机器学习/深度学习 算法 数据挖掘
|
3月前
|
机器学习/深度学习 算法
【机器学习】梯度消失和梯度爆炸的原因分析、表现及解决方案
本文分析了深度神经网络中梯度消失和梯度爆炸的原因、表现形式及解决方案,包括梯度不稳定的根本原因以及如何通过网络结构设计、激活函数选择和权重初始化等方法来解决这些问题。
432 0
|
5月前
|
机器学习/深度学习 数据采集 分布式计算
【机器学习】XGBoost: 强化学习与梯度提升的杰作
在机器学习的广阔领域中,集成学习方法因其卓越的预测性能和泛化能力而备受瞩目。其中,XGBoost(Extreme Gradient Boosting)作为梯度提升决策树算法的杰出代表,自其诞生以来,便迅速成为数据科学竞赛和工业界应用中的明星算法。本文旨在深入浅出地介绍XGBoost的核心原理、技术优势、实践应用,并探讨其在模型调优与解释性方面的考量,为读者提供一个全面且深入的理解框架。
180 2
|
5月前
|
机器学习/深度学习 算法 网络架构
**深度学习中的梯度消失与爆炸影响模型训练。梯度消失导致输入层参数更新缓慢,梯度爆炸使训练不稳。
【6月更文挑战第28天】**深度学习中的梯度消失与爆炸影响模型训练。梯度消失导致输入层参数更新缓慢,梯度爆炸使训练不稳。解决办法包括:换激活函数(如ReLU)、权重初始化、残差连接、批量归一化(BN)来对抗消失;梯度裁剪、权重约束、RMSProp或Adam优化器来防止爆炸。这些策略提升网络学习能力和收敛性。**
58 0
|
5月前
|
机器学习/深度学习 算法
机器学习中的超参数优化涉及手动尝试、网格搜索、随机搜索、贝叶斯优化、梯度优化、进化算法等策略
【6月更文挑战第28天】**机器学习中的超参数优化涉及手动尝试、网格搜索、随机搜索、贝叶斯优化、梯度优化、进化算法等策略。工具如scikit-optimize、Optuna助力优化,迁移学习和元学习提供起点,集成方法则通过多模型融合提升性能。资源与时间考虑至关重要,交叉验证和提前停止能有效防止过拟合。**
68 0

热门文章

最新文章

下一篇
无影云桌面