
在page91之后的内容涉及到了全导数、偏导数和方向导数等数学概念,这些内容理解起来确实有些难度,需要我们慢慢消化。
确实,数学在机器学习领域扮演着至关重要的角色。没有扎实的数学基础,很多机器学习中的概念和方法都难以理解和掌握。
4.2.5节提到了损失函数的设定目标以及为何在网络的学习中需要计算参数的导数。通过调整权重参数,我们可以寻找使损失函数值尽可能小的参数。当导数为零时,参数的更新会停在当前位置。如果使用识别精度作为指标,参数的导数在大多数情况下都会变为零。而将损失函数作为指标时,损失函数的值是连续变化的,这有利于网络的学习。
阶跃函数和sigmoid函数在斜率(导数)上有所不同,阶跃函数的斜率在大多数地方都为零,而sigmoid函数的斜率则是连续变化的。这对于网络的学习非常重要。
接下来是数值微分的内容。导数可以用来表示某个瞬间的变化量。在马拉松的例子中,我们计算了奔跑的距离相对于时间的变化量,即平均速度。而导数是某个瞬间的变化量,即瞬时速度。
不好的实现示例中的数值微分因为使用了过小的h值,导致了舍入误差。计算了函数在(x+h)和x之间的差分,这并不能得到真正的导数值。为了改进这个问题,我们可以使用中心差分的方法,计算函数在(x+h)和(x-h)之间的差分。
在page96之后的内容更加深入地探讨了数值微分的相关内容。为了更深入地理解和掌握这些内容,有必要系统地重新梳理相关的数学知识,包括导数和微分等基础知识。这对于后续的学习和研究非常重要。虽然数学难度较大,但只要我们认真消化、系统梳理,一定能掌握这些知识点。
