神经网络——BP算法

 

 

一、BP算法的意义

对于初学者来说,了解了一个算法的重要意义,往往会引起他对算法本身的重视。BP(Back Propagation,后向传播)算法,具有非凡的历史意义和重大的现实意义。

1.1、历史意义

1969年,作为人工神经网络创始人的明斯基(Marrin M insky)和佩珀特(Seymour Papert)合作出版了《感知器》一书,论证了简单的线性感知器功能有限,不能解决如“异或”(XOR )这样的基本问题,而且对多层网络也持悲观态度。这些论点给神经网络研究以沉重的打击,很多科学家纷纷离开这一领域,神经网络的研究走向长达10年的低潮时期。[1]

1974年哈佛大学的Paul Werbos发明BP算法时,正值神经外网络低潮期,并未受到应有的重视。[2]

1983年,加州理工学院的物理学家John Hopfield利用神经网络,在旅行商这个NP完全问题的求解上获得当时最好成绩,引起了轰动[2]。然而,Hopfield的研究成果仍未能指出明斯基等人论点的错误所在,要推动神经网络研究的全面开展必须直接解除对感知器——多层网络算法的疑虑。[1]

真正打破明斯基冰封魔咒的是,David Rumelhart等学者出版的《平行分布处理:认知的微观结构探索》一书。书中完整地提出了BP算法,系统地解决了多层网络中隐单元连接权的学习问题,并在数学上给出了完整的推导。这是神经网络发展史上的里程碑,BP算法迅速走红,掀起了神经网络的第二次高潮。[1,2]

因此,BP算法的历史意义:明确地否定了明斯基等人的错误观点,对神经网络第二次高潮具有决定性意义。

1.2、现实意义

这一点是说BP算法在神经网络领域中的地位和意义。

BP算法是迄今最成功的神经网络学习算法,现实任务中使用神经网络时,大多是在使用BP算法进行训练[2],包括最近炙手可热的深度学习概念下的卷积神经网络(CNNs)。

二、什么是BP算法

2.1、BP神经网络

BP神经网络是这样一种神经网络模型,它是由一个输入层、一个输出层和一个或多个隐层构成,它的激活函数采用sigmoid函数,采用BP算法训练的多层前馈神经网络。

2.2、BP算法基本思想

BP算法全称叫作误差反向传播(error Back Propagation,或者也叫作误差逆传播)算法。其算法基本思想为:在2.1所述的前馈网络中,输入信号经输入层输入,通过隐层计算由输出层输出,输出值与标记值比较,若有误差,将误差反向由输出层向输入层传播,在这个过程中,利用梯度下降算法对神经元权值进行调整。

2.3、BP算法数学工具

BP算法中核心的数学工具就是微积分的链式求导法则

2.4、BP算法的推导[2][3]
[2]


( 注1:

注2:

归根到底,最终算法的结果是得到各层连接的权重,

即:

1)使用得到梯度(


2)然后使用


中的(3)的策略,得到调整后连接权重


3)经过全部输入样本在反向传播(BP)算法中的训练,最终得到各个连接权值。以下为mini batch算法,

 

算法如下:




)

三、BP算法的缺点

3.1、局部极小值问题

BP算法的缺点,首当其冲就是局部极小值问题。

3.2、算法训练非常慢

BP算法本质上是梯度下降,而它所要优化的目标函数又非常复杂,这使得BP算法效率低下。

四、参考

[1]、《BP算法的哲学思考》,成素梅、郝中华著

[2]、《机器学习》,周志华著

[3]、Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现

作者:Herbert002链接:http://www.jianshu.com/p/c5cda5a52ee4來源:简书著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 5
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
思维进化算法(Thought Evolution Algorithm,TEA)是一种启发式优化算法,可以用来优化神经网络的训练结果。对于非线性函数拟合问题,BP神经网络是一种经典的方法,但是它的收敛速度较慢且易于陷入局部最优解。因此,采用TEA算法来优化BP神经网络可以提高其性能。 在使用TEA算法优化BP神经网络时,首先需要初始化神经网络的权重和偏置参数。然后,通过TEA算法对这些参数进行优化。TEA算法的核心思想是通过选择和改进个体来搜索最佳解,以便在解空间中进行进化。 TEA算法主要包含选择、交叉和突变三个基本操作。其中,选择阶段通过适应度函数选出优秀的个体作为父代,并且为个体分配相应的概率。交叉阶段将父代个体进行基因交换操作,生成新的子代个体。突变阶段通过微小的改变来引入新的个体。 在每一代中,通过选择、交叉和突变操作,更好的个体会逐渐被筛选出来,并逐渐趋近于最佳解。通过不断地迭代,TEA算法可以优化BP神经网络,提高其在非线性函数拟合问题上的性能。 总结起来,通过思维进化算法优化BP神经网络可以提高其在非线性函数拟合问题上的效果。TEA算法通过选择、交叉和突变等操作来搜索最佳解,通过不断迭代逐渐优化神经网络的参数,从而提高其训练性能和预测能力。这种综合运用两种算法的方法可以得到更好的非线性函数拟合结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值