基于BP神经网络的数字识别基础系统(二)
(接上篇)
上一篇的链接:http://blog.csdn.net/z_x_1996/article/details/55670814
上一篇提出的两个问题即
- 训练过程中,系数w如何改变的问题,即寻找一个比较好的改变方式,使得w能够更快的收敛到正确的系数。
- 使用这样的神经网络,只能拟合线性的求解方式,无法拟合非线性的求解方式。
中的第二个问题已经得到了较好的解决,第一个问题笔者准备在这一篇进行讨论。
2.2 系数的确定
首先笔者必须提前申明的是,不同情况下的求最优的方式多种多样,各有各的特点,也有很多优秀的算法。这里笔者主要介绍两种比较经典并且通用的算法并且比较这两种方法的优劣从而方便读者进行选择。当然老规矩,如果有什么不妥或者错误的地方,欢迎读者批评指出。
这里笔者需要说明:算法若要完全看懂需要一定的高数内容,主要涉及到条件极值的求法等等。若有遗忘,建议重点看一下导数(这就很尴尬了)以及拉格朗日乘子法求条件极值。当然如果使用编译好的工具库的话,那会使用就行了,可以跳过本段,但是如果懂的话当然更好。
首先笔者分析一下我们的核心式子(也是在数学形式上明确一下问题):