- 1.梯度下降
梯度下降是迭代法的一种,可以用于求解最小二乘问题(线性和非线性都可以)。在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降(Gradient Descent)是最常采用的方法之一,另一种常用的方法是最小二乘法。在求解损失函数的最小值时,可以通过梯度下降法来一步步的迭代求解,得到最小化的损失函数和模型参数值。
- 2.反向传播
反向传播是利用链式法则递归计算表达式的梯度的方法。
- 3.计算图
计算图(Computation Graph)是一种用于描述数学计算的图形模型,常用于神经网络的前向传播和反向传播算法中。
在计算图中,节点代表数学运算,边代表运算结果之间的依赖关系,形成了一张有向无环图。这个图可以通过一系列的节点之间的计算和数据传递来完成整个计算过程。
计算图的前向传播即从输入数据开始,按照节点之间的依赖关系,通过一步步的计算最终得到输出结果的过程。反向传播则是根据损失函数对输出结果的偏导数,反向逐层计算对输入变量的偏导数,用于优化模型参数。
通过使用计算图,我们可以清晰地了解一个数学模型的结构和计算过程,方便我们理解和调试代码。同时,计算图也为优化算法提供了很好的支持,例如在反向传播算法中,可以通过计算图自动计算偏导数,避免手动计算时的繁琐和错误。
计算图也是许多深度学习框架(如TensorFlow和PyTorch)的核心模块,提供了一种高效的、灵活的、可扩展的方式来实现神经网络模型的计算和优化。除了在神经网络中的应用,计算图在其他领域也有广泛的应用,例如在自动微分、优化算法、图像处理、自然语言处理等方面都有应用。
- 4.使用Numpy编程实现例题
- 5.使用PyTorch的Backward()编程实现例题