【资源软件】 动作暨昝绳鹤锁多好 /494b36Tkwj😕
链接:https://pan.quark.cn/s/43159509c536
「微信被删好友检测工具」筷莱坌教狴犴狾夺郝 链接:https://pan.quark.cn/s/43159509c536
链接:https://pan.quark.cn/s/4598337f6b3e
「【美剧系列】」链接:https://pan.quark.cn/s/663e3ca79519
复制群口令 !0b7236TlXn!😕
将加入群聊免费医院分享
引言:从“盲人下山”到模型优化
想象你是一个盲人,站在一座崎岖的山坡上,目标是以最快速度找到山谷的最低点。你会怎么做?
- 策略1:用脚探测周围坡度,向最陡的下坡方向迈步
- 策略2:每步迈出的距离(学习率)要合理——步子太大会错过谷底,太小则耗时太久
这正是梯度下降(Gradient Descent)的核心思想!本文将深入解析这一机器学习中最关键的优化算法,并详解损失函数的设计逻辑。
一、梯度下降:机器学习的“导航仪”
1.1 什么是梯度下降?
- 数学定义:通过计算损失函数的梯度(导数),沿负梯度方向迭代更新参数以最小化损失
- 核心公式:
θ = θ - η * ∇J(θ)- θ:模型参数(如线性回归中的权重w和偏置b)
- η:学习率(步长)
- ∇J(θ):损失函数对参数的梯度
几何解释
- 三维视角:损失函数构成一个曲面,梯度指向该点最陡上升方向,负梯度即最陡下降方向
- 代码可视化:
import numpy as np import matplotlib.pyplot as plt # 定义损失函数 J(w) = w² + 2w + 5 w = np.linspace(-5, 5, 100) J = w**2 + 2*w + 5 plt.plot(w, J, label="J(w)") plt.xlabel("w") plt.ylabel("Loss") plt.title("梯度下降可视化(单变量)") plt.grid() plt.show()
1.2 学习率:决定收敛速度的关键
学习率的影响
- η太小:收敛速度慢,需要大量迭代(如图①)
- η合适:快速收敛到最小值(如图②)
- η太大:在谷底震荡甚至发散(如图③)
代码模拟不同学习率的效果:
def gradient_descent(eta, steps):
w = -4.0 # 初始参数
history = []
for _ in range<

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



