"""
Auther:少校
Time:2025/5/23 10:29
越努力,越幸运
"""
import numpy as np
def grad_func(x):
"""
计算当前点的梯度(导数)
:param x: 当前点的坐标
:return: 返回梯度值
"""
return 2 * x
#初始搜索点,可以随便给,或用随机数
search_point = -8
#搜索步长(超参数)
alpha = 0.1
#终止条件(超参数)
end_value = 0.00001
while True:
k = grad_func(search_point)
next_point = search_point - alpha * k
if np.abs(next_point ** 2 - search_point ** 2) > end_value:
# 将当前点变为下一个搜索点,向前推进
search_point = next_point
else:
break
print(f"搜索到的最小值是:{search_point}")03.梯度下降
本节564字2025-05-23 14:44:22