梯度算法python示例
时间: 2023-09-24 16:06:27 浏览: 44
以下是一个简单的梯度下降算法的 Python 示例:
```python
import numpy as np
# 定义目标函数
def target_func(x):
return x**2 + 2*x + 1
# 定义目标函数的导函数
def grad_func(x):
return 2*x + 2
# 定义梯度下降算法
def gradient_descent(x, learning_rate, num_iterations):
for i in range(num_iterations):
grad = grad_func(x)
x = x - learning_rate * grad
return x
# 初始化参数
x = 5
learning_rate = 0.1
num_iterations = 100
# 使用梯度下降算法求最小值点
result = gradient_descent(x, learning_rate, num_iterations)
print("最小值点为:", result)
print("目标函数在最小值点的取值为:", target_func(result))
```
在这个示例中,我们定义了一个目标函数 $f(x)=x^2+2x+1$,以及其导函数 $f'(x)=2x+2$。然后,我们使用梯度下降算法来寻找该函数的最小值点。最后,我们输出找到的最小值点以及该点处目标函数的取值。
需要注意的是,这只是一个简单的示例,实际使用中可能需要进行更多的优化和调整。