| 语言 | 格式 | 评分 |
|---|---|---|
中文(简体) | .pdf | 3 |
| 摘要 | ||
文档通过PyTorch框架演示了二维函数优化实例,重点介绍了Himmelblau函数的定义及其优化过程。通过定义函数、设置优化器(Adam)、训练过程和输出结果,展示了如何使用梯度下降法优化该函数,并找到其极小值点。文档还展示了函数的三维图像,帮助理解其形状和优化路径。 | ||
| AI总结 | ||
### 文档总结:PyTorch优化二维函数(Himmelblau函数)实例
1. **Himmelblau函数**
Himmelblau函数是一个经典的二维优化函数,定义为:
$$ f(x,y)=(x^{2}+y-11)^{2}+(x+y^{2}-7)^{2} $$
该函数具有多个局部极小值点,常用于测试优化算法的性能。
2. **优化目标**
使用PyTorch对Himmelblau函数进行优化,寻找其全局最小值点。全局最小值点为:
- $ f(3.0,2.0)=0.0 $
- $ f(-2.805118,3.131312)=0.0 $
- $ f(-3.779310,-3.283186)=0.0 $
- $ f(3.584428,-1.848126)=0.0 $
3. **优化过程**
- 初始化参数:$ x = \text{torch.tensor}([0., 0.], \text{requires\_grad}=\text{True}) $
- 使用Adam优化器,学习率设为$ 1 \times 10^{-3} $。
- 进行20000次迭代,每2000步打印当前参数及函数值。
- 代码示例:
```python
optimizer = torch.optim.Adam([x], lr=1e-3)
for step in range(20000):
pred = himmelblau(x)
optimizer.zero_grad()
pred.backward()
optimizer.step()
if step % 2000 == 0:
print('step {}: x = {}, f(x) = {}'.format(step, x.tolist(), pred.item()))
```
4. **结果展示**
- 通过3D图形展示了Himmelblau函数的形状,帮助理解优化过程中的函数变化。
- 优化过程中的参数更新和函数值变化被记录,验证了优化算法的收敛性。
5. **总结**
本文通过PyTorch实现了对Himmelblau函数的优化,展示了梯度下降算法在寻找函数极小值点中的应用,并验证了优化器的有效性。 | ||
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
文档评分














深度学习与PyTorch入门实战 - 22. 优化小实例