最近开始做自己的毕业设计,开始记录相关的智能控制学习心得和知识点.
BP算法
bp算法全称BackPropagation,也就是误差反向传播算法,它的基本思想是梯度下降法,采用梯度搜索技术,通过链式求导法则,最终使得网络输出和期望输出的误差方差最小.BP算法的图如下图所示:
三层网络:输入层,隐藏层和输出层.网络的前向传播和误差反向传播可参考这篇博客:大白话讲解BP算法.这里主要涉及到的是对于sigmod函数的求导.
f(x)=11+e−x f ( x ) = 1 1 + e − x
其求导结果如下:
f(x)′=f(x)(1−f(x)) f ( x ) ′ = f ( x ) ( 1 − f ( x ) )
对于链式求导法则,可以举一个简单的例子:
f(x)=x2,g(x)=2x+1,现在对y=f(g(x))求导 f ( x ) = x 2 , g ( x ) = 2 x + 1 , 现 在 对 y = f ( g ( x ) ) 求 导 则有:
dydx=dydg(x)∗dg(x)dx=2∗g(x)∗2=8x+4 d y d x = d y d g ( x ) ∗ d g ( x ) d x = 2 ∗ g ( x ) ∗ 2 = 8 x + 4
这里有一个BP算法逼近的示例(《智能控制》第4版 page131),系统的传递函数如下:
y(k)=u(k)3+y(k−1)1+y(k−1)2