神经网络学习中的导数与梯度下降
1. 导数的直观理解
1.1 杆盒实验
想象你坐在一个纸板箱前,箱子上有两个小孔,分别伸出两根圆形的杆,蓝色杆伸出 2 英寸,红色杆伸出 4 英寸。已知这两根杆是相连的,但连接方式未知,需要通过实验来找出它们的关系。
当你将蓝色杆向箱内推进 1 英寸时,红色杆会向箱内移动 2 英寸;将蓝色杆向外拉出 1 英寸,红色杆也会向外拉出 2 英寸。由此可以发现,红色杆移动的距离是蓝色杆的两倍,即存在关系:
[red_length = blue_length * 2]
这里引出了导数的概念,导数表示“当拉动一个部分时,另一个部分移动多少”。在红杆和蓝杆的例子中,“拉动蓝色杆时红色杆移动多少”的导数是 2。
1.2 导数的性质
对于任意两个变量,导数能体现它们之间的关系。若导数为正,改变一个变量时,另一个变量会朝相同方向移动;若导数为负,则会朝相反方向移动。
例如,红色杆长度相对于蓝色杆长度的导数是 2,这意味着两者会同向移动,且红色杆移动的距离是蓝色杆的两倍。若导数为 -1,红色杆会朝相反方向移动相同的距离。
1.3 另一种视角看导数
导数有两种常见的解释方式:
- 理解函数中一个变量随另一个变量变化的情况。
- 导数是直线或曲线上某一点的斜率。
以函数 [error = ((input * weight) - goal_pred) ** 2] 为例,假设 [goal_pred = 0.8],[input = 0.5],则函数可改写为 [error = ((0.5 * weigh
超级会员免费看
订阅专栏 解锁全文

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



