BP (Back Propagation)神经网络是一种神经网络学习算法。其由输入层、中间层、输出层组成的阶层型神经网络,中间层可扩展为多层。相邻层之间各神经元进行全连接,而每层各神经元之间无连接,网络按有教师示教的方式进行学习,当一对学习模式提供给网络后,各神经元获得网络的输入响应产生连接权值(Weight)。然后按减小希望输出与实际输出误差的方向,从输出层经各中间层逐层修正各连接权,回到输入层。此过程反复交替进行,直至网络的全局误差趋向给定的极小值,即完成学习的过程。
主要功能
(1)函数逼近:用输入向量和相应的输出向量训练一个网络以逼近一个函数。
(2)模式识别:用一个待定的输出向量将它与输入向量联系起来。不理解
(3)分类:把输入向量所定义的合适方式进行分类。
(4)数据压缩:减少输出向量维数以便传输或存储。不理解
优点
建立在梯度下降法的基础上
对于一个三层和三层以上的BP网络,只要隐层神经元数目足够多,该网络就能以任意精度逼近一个非线性函数
BP 神经网络通过预先存储信息和学习机制进行自适应训练,可以从不完整的信息和噪声干扰中恢复原始的完整信息
解决了神经网络发展史上的非线性分类难题
BP神经网络本质上是一个非线性优化问题, 它可以在已知的约束条件下,寻找一组参数组合,使该组合确定的目标函数达到最小,但是存在局部极小问题
缺点
BP网络训练中稳定性要求学习效率很小,速度低,只用于递增训练(不理解递增训练)
相比于线性网络很难选取合适的学习率,是一个重要的问题,学习率过大会导致训练过程不稳定,学习率过小又会造成训练时间过长