关于梯度下降的基本思想

Posted greenduck

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于梯度下降的基本思想相关的知识,希望对你有一定的参考价值。

请注意本文的神经网络的结构略不同于以往的神经网络。在这里,只有点与点的连线上会有激活函数,一个节点本身是不会有运算的。

看了网上大部分文章和3B1B的视频,BP算法用到的就是链式法则。但由于数学家喜欢把一件事情复杂化,程序员喜欢用矩乘来优化复杂度,BP算法就看上去有些难以理解。

最近看了CNN,自己难以写出像样的代码,就尝试结构化了神经网络。

 

定义神经网络为:

一个有l层的DAG,第一层为输入层,共size_input个点。第二层为输出层,共size_output个点。

连边的顺序为从第l层的点连向第l+1层的点。

每条边定义三个函数(这里假设我们需要调整的参数是一元的):f(x,k),dx(x,k),dk(x,k),分别是输入的函数、f(x,k)关于输入x的导数、f(x,k)关于参数k的导数。

边的输出作用传到另一个点上时使用加法。当第l层的所有输出都算完了,计算下一层输出。直到达到输出层。

技术图片

以上图为例,第一个节点的输入为x=2,在f(x,k)的作用下变为x:=2*2+1=5。

以上是关于关于梯度下降的基本思想的主要内容,如果未能解决你的问题,请参考以下文章

梯度下降讲解(举例场景+数学分析)

关于对率回归的求解,梯度下降和解析解相比有啥特点和优势,为啥?

随机梯度下降算法

梯度下降法

机器学习:SGD随机梯度下降法

机器学习:梯度下降算法原理讲解