神经元拟合原理

一 单个神经元模型
计算公式
公式中:z为输出结果;x为输入;w为权重;b为偏执值。w和b可以理解为两个变量。
模型每次的学习都是为了调整w和b,从而得到一个合适的值,最终由这个值配合运算公式所形成的逻辑就是神经网络的模型。
其实这个模型是根据仿生学得到的。我们看一下大脑细胞里的神经突出,如下图:
1 大脑神经细胞是靠生物电来传递信号的,可以理解成经过模型里的具体数据。
2 仔细观察发现神经细胞相连的树突有粗有细,显然通过不同粗细连接的生物电信号,也会有不同的影响。这好比权重w,因为每个输入节点都会与相关连接的w相乘,也就实现了对信号的放大和缩小处理。
3 将所有输入的信号经过w变换之后,再添加一个额外的偏执量b,把它们加在一起求合,然后再选择一个模拟细胞体处理的函数来实现整个过程的仿真。这个函数称其为激活函数。
我们把w和b赋予合适的值时,再配合合适的激活函数,就会发现它可以产生很好的拟合效果。
二 正向传播
前面描述的过程叫做正向传播,数据是从输入到输出的流向传递过来的。当然,它是在一个假设有合适w和b的基础上,才可以实现对显示环境的正确拟合。但是在实际过程中我们无法得知w和b的值具体是多少才算是正常的。
于是我们加入了一个训练过程,通过反向误差传递的方法让模型自动来修正,最终产生一个合适的权重。
三 反向传播
反向传播的意义很明确——告诉模型我们需要将w和b调整到多少。在刚开始没有得到合适的权重时,正向传播生成的结果与实际的标签是有误差的,反向传播就是把这个误差传递给权重,让权重做适当的调整来达到一个合适的输出。
在实际训练过程中,很难一次将其调整到位,而是通过多次迭代一点一点的将其修正,最终直到模型的输出值与实际标签的误差小于某个阈值为止。
如何将输出的误差转化为权重的误差,这里面使用的就是BP算法。
四 BP算法
BP又称“误差反向传播算法”。我们最终的目的,是要让正向传播的输出结果与标签间的误差最小化,这就是反向传播的核心思想。
正向传播的模型是清晰的,所以很容易得出一个关于b和w组成的对于输出的表达式。
接着,也可以得出一个描述损失值的表达式(将输出值与标签直接相减,或是做平方差运算)。
为了让这个损失值变得最小化,我们运用数据知识,选择一个损失值表达式让这个表达式有最小值,接着通过对其求导的方式,找到最小值时刻的函数切线斜率(也就是梯度),从而让w和b值沿着这个梯度来调整。
至于每次调整多少,我们引入一个叫做‘学习率’的参数来控制,这样通过不断的迭代,使误差逐步接近最小值,最终达到我们的目标。
五 参考
https://www.cnblogs.com/yuzhuwei/p/6546751.html

猜你喜欢

转载自blog.csdn.net/chengqiuming/article/details/80070254
今日推荐