请将上面回答中“可以求解上述目标函数的 Python 代码”补充完整
时间: 2024-05-10 14:18:43 浏览: 112
好的,以下是可以求解上述目标函数的 Python 代码:
```python
import numpy as np
# 定义目标函数
def f(x):
return x ** 2 + 2 * x + 1
# 定义梯度函数
def gradient(x):
return 2 * x + 2
# 定义学习率
learning_rate = 0.1
# 定义初始值
x = 0.0
# 迭代优化
for i in range(1000):
# 计算梯度
grad = gradient(x)
# 更新参数
x -= learning_rate * grad
# 打印训练过程
if i % 100 == 0:
print("Iteration {}, x = {}, f(x) = {}".format(i, x, f(x)))
```
在上述代码中,我们使用了梯度下降算法来求解目标函数的最小值。首先定义了目标函数和其梯度函数,以及学习率和初始值。然后进行迭代优化,每次计算梯度并更新参数,最终得到最小值。在迭代过程中,我们每隔100次打印一次训练过程,以便观察算法的收敛情况。
阅读全文