


、def GD(x0, lr, N=10000, t=1e-5): #x0初始值,lr学习率,N最大迭代次数,t收敛阈值x = x0 #初始位置i = 0 #y=x**2 # 函数值表示当前高度print(f"初始位置:x={x:.2f},高度y={y:.2f}")while abs(2*x)> t and i<N: # 梯度绝对值大于阈值时继续迭代g = 2 * x # 用导函数求梯度(坡度)# 输出当前下山状态print(f"第{i}步:位置x={x:.7f} 高度y={y:.11f} 坡度{g:.6f}")x = x - lr * g # 迈出一步i += 1y = x ** 2return x, i# 开始下山x0 = 5 # 从x=5的位置开始lr = 0.1 # 学习率(步长)大小GD(x0, lr) # 从x0开始,学习率为lr
夜雨聆风