最近几年来,神经网络算法大热。BP神经网络作为神经网络中入门级别的算法,是很有必要了解的。
BP神经网络的作者大概是在生物神经元中得到了启发,通过算法模拟了神经元学习的过程以及连接方式,下面开始介绍BP神经网络。
神经元
神经元在结构是模拟了生物神经元的结构,我们知道的是生物神经元由树图输入信息,经过神经元的处理之后,由轴突输出信息,而神经网络算法中的神经元也是如此,不过名称要简化一下,输入就叫输入,输出就叫输出,而中间的信息处理叫做激活函数。下图是神经元结构图。
在上图中出了输入、输出和激活函数以外,还出现了w1、w2等参数,这些参数被称为权重。而训练神经网络的过程也就是更新权重的过程。
那么权重是怎么工作的呢?
现在假设我们有一个分类任务,有着两个属性X1和X2,下面将数据绘制在二维坐标系中,很明显要对这些数据进行分类,其实就是绘制出一条决策边界,将数据划分为两类即可。当你想要预测新数据的类别时,只需要将数据输入,根据数据在决策边界的哪一侧来判断类别即可。由下面的图像同时结合数学知识我们可以明白权重决定了决策边界的斜率。所以说当训练出合适的权值后,分类的准确率也就提高了。
那么决策边界怎么绘制呢?
假设分类的类别为r和p,r = x1w1 + x2w2,p = x1w3+x2w4(如下图是神经网络连接方式)。当r>p时分类为r,反之则为p