哈工大智能控制神经网络课件第五课径向基函数网络(RBFN)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
T
思路:从最重要的(对应最大的)找起,按顺序搜索。
RBFN——迭代步骤I
第 1 步:确定 q1 (1)令 k=1, 候选向量 v k p k ;
ˆ (2)计算 g 1 vk t vk vk
T T
,k
ˆ2 T g1 v k v k t t
T
;
(3)返回(1), 直至 P 的所有 s 个分量计算结束。 (4)取对应 k 最大的索引,令其为 k * 。最终选取 q1 = v k * 。
p 3 , q1 q1 , q1
q 1 p 2 r1 2 q 1
p3 , q 2 q1 , q 2
q 2 p3
q1
q 2 p 3 r1 3 q 1 r2 3 q 2
RBFN——思路
考虑待逼近函数 f x ,在一组函数基上可近似为:
y
s
pi x wi
RBFN——迭代步骤I
第 1 步:确定 q1 (1)令 k=1, 候选向量 v k p k ;
ˆ (2)计算 g 1 vk t vk vk
T T
,k
ˆ2 T g1 v k v k t t
T
;
(3)返回(1), 直至 P 的所有 s 个分量计算结束。 (4)取对应 k 最大的索引,令其为 k * 。最终选取 q1 = v k * 。
重复上述过程,直至
i
T
T<1为指定预设值
RBFN——网络结构
径向基函数层
x1
…
w y
xn
…
fi x e
b x ci
2
MATLAB RBFN: 径向基神经元模型
MATLAB RBFN: RBFN网络模型
RBFN训练方法:无导师学习
类似k-聚类学习算法:
(1) 给定隐含层神经元初始中心ci(0); (2) 计算欧式距离,求出最小节点;
i 1
设一组数据由 x k , t k 由 f x 决定,即有:
tk
s
pi x wi pk w
T
i 1
任务:根据t, P, 计算w
p1T w1 或记为矩阵形式: t P w 。 P , w T pN ws
d i ( k ) u ( k ) c i ( k 1) , 1 i c
d r ( k ) min d i ( t )
RBFN训练方法:无导师学习(2)
(3) 调整中心
c i ( k ) c i ( k 1) , i r
c r ( k ) c r ( k 1) ( u ( k ) c r ( k 1))
RBFN——迭代步骤III
第 i 步。确定 qi (1)令 k=1, 候选向量 v k p k r jk q j ,其中 r jk
j 1 i 1
pk , q j q j,q j
,
ˆ (2)计算 g i
vk t vk vk
T
T
,k
ˆ2 T gi vk vk t t
T
;
(3)返回(1), 直至 P 的所有 s 个分量计算结束。 (1)取对应 k 最大的索引,令其为 k * 。最终选取 q i = v k * 。
T
1
进一步可求得 w ?
RBFN——分析
进一步,有 对应索引i的信号分量在原始信号中的总能量记为:
T T ˆ g i qi t qi qi
为① 决定哪些分量最重要 ② 迭代计算qi
t t t t
i
ˆ ˆ qi g i qi g i
T T
ˆ2 T g i qi qi
人工神经网络理论及应用
5. 径向基函数网络(RBFN)
屈桢深
哈尔滨工业大学
主要内容
预备知识:QR分解
RBFN学习算法
RBFN网络结构
MATLAB实现
准备知识:矩阵QR分解
非奇异矩阵P的正交三角分解:P=QR 源自文库明思路:对P中各向量进行正交化,
q 1 p1
q2 p2 p 2 , q1 q1 , q1
[net,tr] = newrb(P,T,GOAL,SPREAD,MN,DF)
自动计算RBF神经元个数; GOAL为最小误差; MN:最大神经元数目;DF:每次递增数
newrb创建过程
以所有样本输入网络,找到误差最大样本; 增加一个(或多个)隐含层神经元,中心值c 与该样本向量相同; 重新调整w,使误差最小; 如果误差满足要求或神经元数量足够多,退 出,否则继续上述过程;
(4) 重复上述步骤
MATLAB RBFN: RBFN设计函数
RBFN设计和训练合一 net = newrbe(P,T,SPREAD)
对每一个输入样本对应一个RBF神经元; Spread控制RBF形状,^光滑 当出现Rank deficient时,应减小spread重新 设计
MATLAB RBFN: RBFN设计函数(2)
RBFN示例(1)
rbSin
通过sin函数测试rbfn性能(非常快,为什么?) 对比newrb和newrbe神经元数目
RBFN示例(2)
通过一个复杂的函数演示不同参数影响 rbESin
最大神经元数目 Spread值 最大神经元数目取小,和BP比较逼近能力
参考文献
Chen, S., C.F.N. Cowan, P.M. Grant, “Orthogonal Least Squares Learning Algorithm for Radial Basis Function Networks,” IEEE Trans. NN, 2(2): 302-309,1991 程云鹏,矩阵论(第2版),pp. 196-219 徐丽娜,神经网络控制, 2-6节,附录C,D 神经网络模型及其MATLAB仿真程序设计,第六章 黄德双,神经网络模式识别系统理论,4.3节
RBFN——计算方法
P 为方阵且非奇异时有解: w P 1 t
ˆ P 为长方阵(数据远多于未知数个数),有 w P t 。
根据矩阵的 QR 分解,代入前式,有
t Q R w Q g ,g=Rw
s
或记为 t
q g ,即 t 在一组基 qi 上的分解。
i i i 1
ˆ 同样根据最小二乘法有: g Q Q Q T t 1Q T t 。
RBFN——迭代步骤II
第 2 步:确定 q2 (1)令 k=1, 候选向量 v k p k r1 k q1 ,其中 r1 k
ˆ (2)计算 g 2 vk t vk vk
T T
p k , q1 q1 , q1
,
,k
ˆ2 T g2vk vk t t
T
;
(3)返回(1), 直至 P 的所有 s 个分量计算结束。 (4)取对应 k 最大的索引,令其为 k * 。最终选取 q 2 = v k * 。
思路:从最重要的(对应最大的)找起,按顺序搜索。
RBFN——迭代步骤I
第 1 步:确定 q1 (1)令 k=1, 候选向量 v k p k ;
ˆ (2)计算 g 1 vk t vk vk
T T
,k
ˆ2 T g1 v k v k t t
T
;
(3)返回(1), 直至 P 的所有 s 个分量计算结束。 (4)取对应 k 最大的索引,令其为 k * 。最终选取 q1 = v k * 。
p 3 , q1 q1 , q1
q 1 p 2 r1 2 q 1
p3 , q 2 q1 , q 2
q 2 p3
q1
q 2 p 3 r1 3 q 1 r2 3 q 2
RBFN——思路
考虑待逼近函数 f x ,在一组函数基上可近似为:
y
s
pi x wi
RBFN——迭代步骤I
第 1 步:确定 q1 (1)令 k=1, 候选向量 v k p k ;
ˆ (2)计算 g 1 vk t vk vk
T T
,k
ˆ2 T g1 v k v k t t
T
;
(3)返回(1), 直至 P 的所有 s 个分量计算结束。 (4)取对应 k 最大的索引,令其为 k * 。最终选取 q1 = v k * 。
重复上述过程,直至
i
T
T<1为指定预设值
RBFN——网络结构
径向基函数层
x1
…
w y
xn
…
fi x e
b x ci
2
MATLAB RBFN: 径向基神经元模型
MATLAB RBFN: RBFN网络模型
RBFN训练方法:无导师学习
类似k-聚类学习算法:
(1) 给定隐含层神经元初始中心ci(0); (2) 计算欧式距离,求出最小节点;
i 1
设一组数据由 x k , t k 由 f x 决定,即有:
tk
s
pi x wi pk w
T
i 1
任务:根据t, P, 计算w
p1T w1 或记为矩阵形式: t P w 。 P , w T pN ws
d i ( k ) u ( k ) c i ( k 1) , 1 i c
d r ( k ) min d i ( t )
RBFN训练方法:无导师学习(2)
(3) 调整中心
c i ( k ) c i ( k 1) , i r
c r ( k ) c r ( k 1) ( u ( k ) c r ( k 1))
RBFN——迭代步骤III
第 i 步。确定 qi (1)令 k=1, 候选向量 v k p k r jk q j ,其中 r jk
j 1 i 1
pk , q j q j,q j
,
ˆ (2)计算 g i
vk t vk vk
T
T
,k
ˆ2 T gi vk vk t t
T
;
(3)返回(1), 直至 P 的所有 s 个分量计算结束。 (1)取对应 k 最大的索引,令其为 k * 。最终选取 q i = v k * 。
T
1
进一步可求得 w ?
RBFN——分析
进一步,有 对应索引i的信号分量在原始信号中的总能量记为:
T T ˆ g i qi t qi qi
为① 决定哪些分量最重要 ② 迭代计算qi
t t t t
i
ˆ ˆ qi g i qi g i
T T
ˆ2 T g i qi qi
人工神经网络理论及应用
5. 径向基函数网络(RBFN)
屈桢深
哈尔滨工业大学
主要内容
预备知识:QR分解
RBFN学习算法
RBFN网络结构
MATLAB实现
准备知识:矩阵QR分解
非奇异矩阵P的正交三角分解:P=QR 源自文库明思路:对P中各向量进行正交化,
q 1 p1
q2 p2 p 2 , q1 q1 , q1
[net,tr] = newrb(P,T,GOAL,SPREAD,MN,DF)
自动计算RBF神经元个数; GOAL为最小误差; MN:最大神经元数目;DF:每次递增数
newrb创建过程
以所有样本输入网络,找到误差最大样本; 增加一个(或多个)隐含层神经元,中心值c 与该样本向量相同; 重新调整w,使误差最小; 如果误差满足要求或神经元数量足够多,退 出,否则继续上述过程;
(4) 重复上述步骤
MATLAB RBFN: RBFN设计函数
RBFN设计和训练合一 net = newrbe(P,T,SPREAD)
对每一个输入样本对应一个RBF神经元; Spread控制RBF形状,^光滑 当出现Rank deficient时,应减小spread重新 设计
MATLAB RBFN: RBFN设计函数(2)
RBFN示例(1)
rbSin
通过sin函数测试rbfn性能(非常快,为什么?) 对比newrb和newrbe神经元数目
RBFN示例(2)
通过一个复杂的函数演示不同参数影响 rbESin
最大神经元数目 Spread值 最大神经元数目取小,和BP比较逼近能力
参考文献
Chen, S., C.F.N. Cowan, P.M. Grant, “Orthogonal Least Squares Learning Algorithm for Radial Basis Function Networks,” IEEE Trans. NN, 2(2): 302-309,1991 程云鹏,矩阵论(第2版),pp. 196-219 徐丽娜,神经网络控制, 2-6节,附录C,D 神经网络模型及其MATLAB仿真程序设计,第六章 黄德双,神经网络模式识别系统理论,4.3节
RBFN——计算方法
P 为方阵且非奇异时有解: w P 1 t
ˆ P 为长方阵(数据远多于未知数个数),有 w P t 。
根据矩阵的 QR 分解,代入前式,有
t Q R w Q g ,g=Rw
s
或记为 t
q g ,即 t 在一组基 qi 上的分解。
i i i 1
ˆ 同样根据最小二乘法有: g Q Q Q T t 1Q T t 。
RBFN——迭代步骤II
第 2 步:确定 q2 (1)令 k=1, 候选向量 v k p k r1 k q1 ,其中 r1 k
ˆ (2)计算 g 2 vk t vk vk
T T
p k , q1 q1 , q1
,
,k
ˆ2 T g2vk vk t t
T
;
(3)返回(1), 直至 P 的所有 s 个分量计算结束。 (4)取对应 k 最大的索引,令其为 k * 。最终选取 q 2 = v k * 。