神经网络说起来很神秘,在输入项少,隐藏层少的情况下还是不难的。本文手动构建了一,2项输入、2隐藏层,1输出的前向神经网络。
基本的模式就是 过程->符号->公式->代码。
程序过程就是录入数据项训练->结果。
关注点就是公式->代码。
1.我们构建的过程图
2.符号说明
3.每步公式
3.1输入到第一个隐藏层
3.2第二个隐藏层
3.3第二个隐藏层到输出
3.4 激活函数
4.过程图代码
5.损失函数公式与对应代码(L2正则修正交叉熵函数)
1、我们构建的过程图
输入2->2隐藏层->输出1
2.符号说明
2.1X:输入
2.2隐藏层两个符号
Z=WX+B //没经过激活函数
H=RELU(Z) //经过了激活函数
3.每步公式
维度这就是(行,列)数的意思。
3.1输入到第一个隐藏层
3.2第一层到第二个隐藏层
3.3第二个隐藏层到输出
3.4激活函数
两个
()
()
4过程图代码
4.1输入X并显示
4.2 设定每个隐藏层的参数 特别是W b 得到H Z
3步:1.输入隐含层参数,初始化wb
2 ,20 ,5 ,1是维度值 输入是2,第一层20 ,第二层5,输出是1
2.根据4个值取W b的值,其实就是在范围值中取随机值
3 实现前向神经网络函数
输入4项:x w,b 还有激活函数
输出:H Z
5.损失函数公式与对应代码
其实是交叉熵函数加L2正则 结果,以下是交叉熵函数,为的是权重衰减,防止过拟合。
对应的代码