首先声明,这篇文章不是神经网络的扫盲文,如果只想知道神经网络的概念那笔者还是推荐找一些深入浅出的文章来看。但是如果需要自己实际搭建和使用一个神经网络,同时具备一定的数学功底的话,那这篇文章就是为了深入的剖析神经网络算法的工作过程和模型而写的。这里笔者把整个神经网络的工作过程由特殊情况推广到一般情况,让读者了解整个神经网络的工作过程,并且给出实际搭建一个神经网络的方法。希望有意愿了解的读者能够拿起笔跟着文章一起把公式写一遍。作者也是边推导公式边整理思路,最后从只有概念性的认识到能够自己搭建一个Matlab的神经网络架构。
神经网络必备的基础的数学知识:
梯度:
相较于单变量的函数,梯度和导数的含义是一样的,但是对于一个多变量的向量来说,其梯度的含义就是在某点处变化最快的向量场,例如对于一个三元函数t=f(x,y,z)来说,其在空间某点的梯度就是:
链式法则:
链式法则常用于复合函数求导问题
神经网络算法:
神经网路算法灵感来源于生物细胞中的神经元结构,神经元具有树状突触