从零开始认识AI:梯度下降法详解与实践
创作时间:
作者:
@小白创作中心
从零开始认识AI:梯度下降法详解与实践
引用
CSDN
1.
https://blog.csdn.net/u014147522/article/details/139933573
梯度下降法是机器学习和深度学习中最重要的优化算法之一。它通过迭代更新模型参数,使得损失函数最小化。本文将从原理到实践,带你全面理解梯度下降法的核心思想,并通过一个具体的代码示例,展示如何使用梯度下降法求解函数的最小值。
原理介绍
梯度下降法(Gradient Descent)是一种用于优化函数的迭代算法,广泛应用于机器学习和深度学习中,用来最小化一个目标函数。该目标函数通常代表模型误差或损失。
基本思想是从一个初始点出发,通过不断沿着目标函数的负梯度方向更新参数,逐步逼近函数的局部最小值(或者全局最小值)。梯度是目标函数相对于参数的导数,因此,负梯度方向是函数值下降最快的方向。
具体步骤如下:
- 初始化参数:随机选择模型初始参数 ( \theta_0 )。
- 计算梯度:计算目标函数关于当前参数的梯度 ( \nabla J(\theta) ),这里 ( J(\theta) ) 是目标函数。
- 更新参数:根据梯度和学习率 ( \alpha ) 更新参数:
[
\theta := \theta - \alpha \nabla J(\theta)
]
其中,学习率 ( \alpha ) 是一个预先设置的超参数,决定了每一步更新的大小。 - 重复:重复步骤 2 和 3 直到收敛,即参数不再发生显著变化或者达到预设的迭代次数。
变种
梯度下降法有几种常见变种:
- 批量梯度下降(Batch Gradient Descent):每一步更新使用整个训练数据集计算梯度。这对于大规模数据集可能会非常耗时。
- 随机梯度下降(Stochastic Gradient Descent, SGD):每一步更新使用单个样本计算梯度,通过不断地用单个样本更新,效率较高但引入了较大的波动。
- 小批量梯度下降(Mini-batch Gradient Descent):每一步更新使用一个小批量的样本来计算梯度,结合了批量梯度下降和随机梯度下降的优点。
优化
为了提高梯度下降的效率和效果,可以结合一些优化方法,如:
- 动量法:在每一步更新中添加动量,帮助跳出局部最小值。
- AdaGrad、RMSprop、Adam:这些算法通过自适应调整学习率,以适应不同参数和不同迭代阶段。
梯度下降法是机器学习和深度学习中的关键技术之一,通过梯度下降可以有效地训练模型并优化目标函数。
代码实现
以下用梯度下降法求解函数的最小值:
import numpy as np
import matplotlib.pyplot as plt
def f(x):
return x ** 2 + 5 * np.sin(x)
def df(x):
return 2 * x + 5 * np.cos(x)
# initialize parameter and learning rate
x = 4
lr = 0.1
epochs = 1000
history = [x]
for _ in range(epochs):
x = x - lr * df(x)
history.append(x)
xs = np.linspace(-5, 5, 200)
ys = f(xs)
plt.plot(xs, ys, label="f(x)")
plt.xlabel("x")
plt.ylabel("f(x)")
plt.scatter(history, f(np.array(history)), c="g", alpha=0.5, label="Gradient Descent Point")
plt.scatter(history[-1], f(history[-1]), c="r", label="Minimal Point")
plt.legend()
plt.show()
热门推荐
威海至厦门旅行攻略:全面解析路线、交通方式及旅行建议
翠华山自驾游用车技巧全攻略
已致4人死亡!红曲是什么?还能放心吃吗?
青光眼早期无明显症状,定期检查可控制病情
杭州复旦儿童医院教你破解孩子学习难题
亲子互动新姿势,破解学习难题
广绣:千年工艺融入现代生活,从岭南走向世界
朱砂含汞或致中毒,专家提醒:这些情况别戴朱砂饰品
神农架滑雪全攻略:四大滑雪场详解与实用贴士
神农架滑雪季:解锁新玩法
神农架滑雪场:冬日里的冰雪奇缘
瑶里古镇:景德镇陶瓷文化的发源地
庐山瀑布探秘:江西最美瀑布打卡攻略
婺源油菜花季:江岭篁岭美爆了!
高利率银行教你最大化7天通知存款收益
国家电网薪资体系:基本工资、绩效奖金与福利待遇全解析
ISO三体系之职业健康安全管理体系GB/T45001认证
iPhone连接U盘指南:适配器选购、文件传输及故障排除
皮革行业发布创新技术清单,含透明皮革和环保抗菌新材料
冬至数九歌谣里的千年文化
128年一遇!2024冬至数九开启,带你领略数九歌谣里的文化魅力
数九歌谣里的北京冬天:从传统到现代的传承
汽车以旧换新助力碳中和:最高补贴2万元,这些车主可申请
2024版中国类风湿关节炎诊疗指南发布,强调早期规范治疗
家用制氧机怎么选?谊安鱼跃海龟三大品牌对比评测
功能测试工程师必备技能清单:从基础到进阶
第三方软件测试机构:提升软件质量的关键力量
软件功能测试最佳实践指南:从需求分析到测试报告
验证流程优化:提升工作效率的秘密武器
狗狗竟然不能吃巧克力?!