版权归原作者所有,如有侵权,请联系我们

[科普中国]-构造算法

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

理论收敛法

理论收敛法常用于布尔型网络,网络训练的方法是在现有结构的基础上,通过调整网络输出,使错误率达到最小。网络输出值的调整可以采用增加节点或隐层的手段,使正确类样本点数量增加,重复运算直至问题解决。Frean提出了一种简单的递归法规,改进感知器算法。当样本点足够多时,可对各单一输出进行训练,使它们达到正确类。然后创建两个子节点,可分别向父节点提供正、负输入。由于采用了线性阈值节点,则所有的非正确类样本点均可由这两个节点调整。继续产生更多的子节点,直到所有的样本均被正确分类。1

启发式最优算法启发式最优算法与理论收敛法相似,它们均需要训练网络,使其错误率达到最小,同时增添新的节点以进一步减小误差。它们之间的主要区别是,启发式最优算法适用于具有连续值的网络,因此,不断地增加新节点数未必能保证网络性能更优。Cascade—Correlation学习算法(CC)就属于这种构造方法。

它有两个重要特点:

1、一旦隐节点被添加到网络中后,就不再改变;

2、结构学习算法创建新的隐节点。每添加一个新的隐节点,都会最大化输出与新节点之间的相关程度,并消去余下的错误信号。

CC结构算法的实现步骤为:

(1)从一个仅含输入输出层的小网络开始。输入输出层间进行全连接,含可调权重。同时还包含偏好节点,设为常量1。考虑到输出为实数,因而采用线性输出节点。

(2)采用快速传播的学习算法.训练所有指向输出层的连接,直至网络错误率不再改变时停止训练。

(3)如果训练后的网络满足规定精度,计算停止。此时,由于网络中没有隐层,因而处理的问题实质上是线性问题。

Cascade—Correlation方法其实可以用于检测待处理问题是否确实是非线性问题。用神经控制器去解决线性或可线性化的问题并无益处。如果用神经网络来解决线性问题,反而会延长计算时间,降低控制器性能。

(4)如果训练后的网络性能并不令人满意,也就是说,待处理问题是非线性的,则挑选新节点。将待选节点与所有输入节点及已存在的隐节点进行连接,但与输出节点不进行连接。

(5)最大化待选节点间的相关程度,通过对所有到待选节点的连接进行训练,消除网络新增的错误。当相关性无法再提高时,停止训练。

(6)选择具有最大相关性的待选节点作为新增节点,将其作为隐节点添加进网络中,建立新节点与所有输出节点之间的连接。返回到步骤(2)。1

数据驱动法数据驱动法是基于统计原理和神经网络技术的模式识别方法。它直接利用样本数据来识别参数或是决定系统处理下一步骤。

数据驱动是指在系统处理的每一步,当考虑下一步该做什么时,需要根据此前所掌握的数据内容(也称事实)来决定。它强调的是数据的主动性和重要性,摆脱了传统从算子方法中数据主要是被动地用来验证人们在许多假设条件下导出算子的正确性,这与现代信息论的发展观点相吻合。

这类构造算法是最含糊的一类。但也是极有发展潜力的一类,数据驱动算法可以根据外部环境的变化来调整自己的结构,这点类似于自适应学习控制。网络误差函数由网络所在的环境所决定,在数据驱动算法中,首先估计与实际任务相符的表现结构,考虑到偏差/方差两难现象,力图事先获得更多有关目标的信息,“目标”指过程辅助函数,即控制器。1