视频讲解链接:3.1梯度下降法求最小值_哔哩哔哩_bilibili
# 利用梯度下降法求最小值
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号lr = 0.1 # 学习率
epoches = 20 # 迭代次数
x = 5 # 初始值
y = x**2 # 目标损失函数x_list = [] # 记录每次迭代的x值, 放到list里面
y_list = [] # 记录每次迭代的y值, 放到list里面
x_list.append(x)
y_list.append(y)print(f'第0次初始值, x = {x}, y=x**2={y}')#梯度下降求解量小值
for i in range(epoches):i = i + 1x = x - lr * 2 * xy = x**2x_list.append(x)y_list.append(y)print(f'第{i}次迭代,x = x - lr * 2 * x&#