梯度下降求函数最小值python案例
时间: 2023-05-14 17:02:36 浏览: 385
python实现梯度下降算法的实例详解
5星 · 资源好评率100%
梯度下降是一种常用的求函数极值的优化算法。它通过不断地求函数梯度并更新参数值,来逐步降低函数的损失值,直到收敛为止。在Python中,我们可以很方便地实现梯度下降算法。
假设我们要求函数f(x)在某个区间的最小值,我们可以先定义函数的表达式及其梯度。比如:
def f(x):
return x ** 2 + 2 * x + 1
def grad(x):
return 2 * x + 2
接下来,我们可以初始化参数值x,并设定学习率alpha和迭代次数iteration。在每一次迭代中,我们都要求出函数的梯度grad,并更新参数值x,直到达到迭代次数或函数的损失值收敛为止。代码如下:
x = 0
alpha = 0.1
iteration = 1000
for i in range(iteration):
g = grad(x)
x -= alpha * g
if abs(grad(x)) < 1e-6:
break
最后,我们可以输出函数的最小值和参数值:
print('min f(x) =', f(x))
print('x =', x)
通过梯度下降算法,我们可以得到函数f(x)在该区间的最小值和参数值。这种方法具有广泛的应用,可以用来求解各种数学或工程问题。
阅读全文