关于梯度下降的讲解已经很多了,因为这个东西实在很重要,我自己也看过很多,但是感觉只有自己真正可以在不看任何材料的情况下,写出简单程序时,才能算是对其有所理解。代码示例如下:
if __name__ == "__main__":
learning_rate = 0.01 # 步长
# 原始函数为 y = 4x^2-2x+3 利用梯度下降求解其当x为多少时其有最小值,且最小值为多少
x = 5 # 初始值
for i in range(1000):
x = x - learning_rate * (8 * x - 2)
print('x为多少值时有函数有最小值', x)
print('y = 4x^2-2x+3的最小值为:', 4 * x ** 2 - 2 * x + 3)

博客指出梯度下降很重要,虽已有很多相关讲解,但认为只有不借助材料写出简单程序,才算真正理解。并给出了梯度下降的代码示例。
1551

被折叠的 条评论
为什么被折叠?



