先进算法讲义
在本讲义中,我们将着重讲述一些数学建模中常用的算法,包括神经网络算法、遗传算
法、模拟退火算法和模糊数学方法。用这些算法可以较容易地解决一些很复杂的,常规算法
很难解决的问题。由于这些算法都有着很深的理论背景,因此,本讲义中不可能也没有必要
详细地讨论这些算法的理论,我们的目标在于应用,大家只需大概了解这些算法的原理,知
道能用这些算法解决一类什么样的问题,并能应用这些算法解决数学建模中的一些问题即
可。
因为着眼于应用,所以我们还提供了一些程序代码,使用者只需套用这些程序,便可使
问题得到很好的解决。
第一节 神经网络
1. 神经网络的简单原理
人工神经网络是根据人的认识过程而开发出的一种算法。假如我们现在只有一些
输入和相应的输出,而对如何由输入得到输出的机理并不清楚,那么我们可以把输入
与输出之间的未知过程看成是一个“网络”,通过不断地给这个网络输入和相应的输
出来“训练”这个网络,网络根据输入和输出不断地调节自己的各节点之间的权值来
满足输入和输出。这样,当训练结束后,我们给定一个输入,网络便会根据自己已调
节好的权值计算出一个输出。这就是神经网络的简单原理。
2. 神经元和神经网络的结构
如上所述,神经网络的基本结构如下图所示:
神经网络一般都有多层,分为输入层,输出层和隐含层,层数越多,计算结果越
精确,但所需的时间也就越长,所以实际应用中要根据要求设计网络层数。
神经网络中每一个节点叫做一个人工神经元,他对应于人脑中的神经元,两者的
结构比较如下图: