手撸简单神经网络
手撸简单神经网络
具体地:一、定义基本参数和网络构建分别为:
定义参数
w,b分别为权重和偏置。z为过激活函数之前的运算值,a为过激活函数之后的值。定义z方便后面反向传播。
定义激活函数:
定义激活函数
然后就可以构建前向传播网络结构了,如下:
网络结构
self.layer为传入的每层节点个数。如[2, 10, 2]意为输入为2维, 中间节点10个, 输出节点2个。中间步骤为基本的矩阵运算。
二、反向传播
反向传播公式:
来自
构建的时候需要用到代价函数的导数,激活函数的导数,并将每层的值保存起来,然后进行参数的更新
反向传播
三、最后按照公式更新参数
更新参数
效果:
效果
链接:
以上就是(手撸简单神经网络)全部内容,收藏起来下次访问不迷路!
86%的人还看了:萌系头像