多层感知器可能是最著名的前馈网络,一个三层MLP包括输入层、中间(隐含)层和输出层。输入层的神经元只起到缓冲器的作用,把输入信号为一称为学习速率的参数,之后,进行求和,并计算出输出作为该和的f函数。反向传播算法是一种最常采用的MLP训练算法,它给出神经元i和j间连接权的变化。 反向传播算法是一种最常采用的MLP训练算法,它给出神经元i和j间连接权的变化,如下式所示: ( 本文来自www.eadianqi.com 式中,为一称为学习速率的参数,为一取决于神经元j是否为一输出神经元或隐含神经元的系数。对于输出神经元, 自动控制网www.eadianqi.com版权所有 (1) 本文来自www.eadianqi.com 对于隐含神经元, 本文来自www.eadianqi.com
(2) 本文来自www.eadianqi.com 在上述两式中,表示所有输入信号对神经元j的加权总和,为神经元j的目标输出。 自动控制网www.eadianqi.com版权所有 另一种适于训练MLP的学习算法是遗传算法(GA),这是一种基于进化原理的优化算法,它把连接权值看作一染色体内的一些基因。该算法以某个随机产生的染色体群体开始,并应用基因算子产生新的更为合适的群体。最普通的基因算子为选择、交叉和变异算子。选择算子从现有群体选择染色体供繁殖用。通常采用一个有倾向性的选择程序来促成更合适的染色体。交叉算子通过在随机位置切开染色体并交换切开后续位置内的成分,从两个现存的染色体产生两个新的染色体,见表1。变异算子通过随机地改变现有染色体的基因,产生新的染色体,见表2。这些算子一起模拟一个导向随机搜索方法,此方法最终能够求得神经网络的目标输出。 自动控制网www.eadianqi.com版权所有
表2 交叉作用
表3 变异作用 自动控制网www.eadianqi.com版权所有
|