免费在线Ai工具箱 /机器学习
阅读主题
正文字体
字体大小

03.梯度下降

本节564字2025-05-23 14:44:22
"""
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}")


网友评论

相关作品