第五课 径向基函数网络(RBFN) 人工神经网络理论及应用 教学课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
T
思路:从最重要的(对应最大的)找起,按顺序搜索。
RBFN——迭代步骤I
第 1 步:确定 q1 (1)令 k=1, 候选向量 v k pk ;
T T ˆ12vk g vk vk t ˆ1 T , k T ; (2)计算 g t t vk vk
(3)返回(1), 直至 P 的所有 s 个分量计算结束。 (4)取对应 k 最大的索引,令其为 k * 。最终选取 q1 =vk * 。
RBFN——计算方法
P 为方阵且非奇异时有解: w P 1t
ˆ Pt 。 P 为长方阵(数据远多于未知数个数),有 w
根据矩阵的 QR 分解,代入前式,有
t QRw Qg ,g=Rw
或记为 t qi gi ,即 t 在一组基 qi 上的分解。
i 1 s
ˆ Q Q 同样根据最小二乘法有: g
[net,tr] = newrb(P,T,GOAL,SPREAD,MN,DF)
自动计算RBF神经元个数; GOAL为最小误差; MN:最大神经元数目;DF:每次递增数
newrb创建过程
以所有样本输入网络,找到误差最大样本; 增加一个(或多个)隐含层神经元,中心值c 与该样本向量相同; 重新调整w,使误差最小; 如果误差满足要求或神经元数量足够多,退 出,否则继续上述过程;
di (k ) u(k ) ci (k 1) , 1 i c
d r (k ) min d i (t )
ห้องสมุดไป่ตู้
RBFN训练方法:无导师学习(2)
(3) 调整中心
ci (k ) ci (k 1), i r cr (k ) cr (k 1) (u(k ) cr (k 1))
RBFN——迭代步骤III
第 i 步。确定 qi (1)令 k=1, 候选向量 vk pk rjk q j ,其中 rjk
j 1 i 1
pk , q j qj ,qj
,
T T ˆ i2vk g vk vk t ˆi T , k T ; (2)计算 g t t vk vk (3)返回(1), 直至 P 的所有 s 个分量计算结束。 (1)取对应 k 最大的索引,令其为 k * 。最终选取 qi =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) 计算欧式距离,求出最小节点;
T
1
QT t 1QT t 。
进一步可求得 w ?
RBFN——分析
T T ˆ g q t q 进一步,有 i i i qi 对应索引i的信号分量在原始信号中的总能量记为:
为① ② 迭代计算qi
ˆ i qi g ˆi g qi g ˆ i2qiT qi i T T t t t t 决定哪些分量最重要
人工神经网络理论及应用
5. 径向基函数网络(RBFN)
屈桢深
哈尔滨工业大学
主要内容
预备知识:QR分解
RBFN学习算法
RBFN网络结构
MATLAB实现
准备知识:矩阵QR分解
非奇异矩阵P的正交三角分解:P=QR 证明思路:对P中各向量进行正交化,
q1 p1
q2 p2
q2 p3
s i 1
设一组数据由 xk , tk 由 f x 决定,即有:
T tk pi x wi pk w i 1 s
任务:根据t, P, 计算w
T p1 w1 或记为矩阵形式: t Pw 。 P , w T pN ws
RBFN——迭代步骤II
第 2 步:确定 q2
pk , q1 (1)令 k=1, 候选向量 vk pk r1k q1 ,其中 r1k , q1 , q1 2 T T ˆ2 g vk vk vk t ˆ 2 T , k T ; (2)计算 g t t vk vk (3)返回(1), 直至 P 的所有 s 个分量计算结束。 (4)取对应 k 最大的索引,令其为 k * 。最终选取 q2 =vk * 。
p2 , q1 q1 , q1
p3 , q1 q1 , q1
q1 p2 r12 q1
q1 p3 , q2 q1 , q2 q2 p3 r13q1 r23q2
RBFN——思路
考虑待逼近函数 f x ,在一组函数基上可近似为:
y pi x wi
RBFN——迭代步骤I
第 1 步:确定 q1 (1)令 k=1, 候选向量 v k pk ;
T T ˆ12vk g vk vk t ˆ1 T , k T ; (2)计算 g t t vk vk
(3)返回(1), 直至 P 的所有 s 个分量计算结束。 (4)取对应 k 最大的索引,令其为 k * 。最终选取 q1 =vk * 。
(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——迭代步骤I
第 1 步:确定 q1 (1)令 k=1, 候选向量 v k pk ;
T T ˆ12vk g vk vk t ˆ1 T , k T ; (2)计算 g t t vk vk
(3)返回(1), 直至 P 的所有 s 个分量计算结束。 (4)取对应 k 最大的索引,令其为 k * 。最终选取 q1 =vk * 。
RBFN——计算方法
P 为方阵且非奇异时有解: w P 1t
ˆ Pt 。 P 为长方阵(数据远多于未知数个数),有 w
根据矩阵的 QR 分解,代入前式,有
t QRw Qg ,g=Rw
或记为 t qi gi ,即 t 在一组基 qi 上的分解。
i 1 s
ˆ Q Q 同样根据最小二乘法有: g
[net,tr] = newrb(P,T,GOAL,SPREAD,MN,DF)
自动计算RBF神经元个数; GOAL为最小误差; MN:最大神经元数目;DF:每次递增数
newrb创建过程
以所有样本输入网络,找到误差最大样本; 增加一个(或多个)隐含层神经元,中心值c 与该样本向量相同; 重新调整w,使误差最小; 如果误差满足要求或神经元数量足够多,退 出,否则继续上述过程;
di (k ) u(k ) ci (k 1) , 1 i c
d r (k ) min d i (t )
ห้องสมุดไป่ตู้
RBFN训练方法:无导师学习(2)
(3) 调整中心
ci (k ) ci (k 1), i r cr (k ) cr (k 1) (u(k ) cr (k 1))
RBFN——迭代步骤III
第 i 步。确定 qi (1)令 k=1, 候选向量 vk pk rjk q j ,其中 rjk
j 1 i 1
pk , q j qj ,qj
,
T T ˆ i2vk g vk vk t ˆi T , k T ; (2)计算 g t t vk vk (3)返回(1), 直至 P 的所有 s 个分量计算结束。 (1)取对应 k 最大的索引,令其为 k * 。最终选取 qi =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) 计算欧式距离,求出最小节点;
T
1
QT t 1QT t 。
进一步可求得 w ?
RBFN——分析
T T ˆ g q t q 进一步,有 i i i qi 对应索引i的信号分量在原始信号中的总能量记为:
为① ② 迭代计算qi
ˆ i qi g ˆi g qi g ˆ i2qiT qi i T T t t t t 决定哪些分量最重要
人工神经网络理论及应用
5. 径向基函数网络(RBFN)
屈桢深
哈尔滨工业大学
主要内容
预备知识:QR分解
RBFN学习算法
RBFN网络结构
MATLAB实现
准备知识:矩阵QR分解
非奇异矩阵P的正交三角分解:P=QR 证明思路:对P中各向量进行正交化,
q1 p1
q2 p2
q2 p3
s i 1
设一组数据由 xk , tk 由 f x 决定,即有:
T tk pi x wi pk w i 1 s
任务:根据t, P, 计算w
T p1 w1 或记为矩阵形式: t Pw 。 P , w T pN ws
RBFN——迭代步骤II
第 2 步:确定 q2
pk , q1 (1)令 k=1, 候选向量 vk pk r1k q1 ,其中 r1k , q1 , q1 2 T T ˆ2 g vk vk vk t ˆ 2 T , k T ; (2)计算 g t t vk vk (3)返回(1), 直至 P 的所有 s 个分量计算结束。 (4)取对应 k 最大的索引,令其为 k * 。最终选取 q2 =vk * 。
p2 , q1 q1 , q1
p3 , q1 q1 , q1
q1 p2 r12 q1
q1 p3 , q2 q1 , q2 q2 p3 r13q1 r23q2
RBFN——思路
考虑待逼近函数 f x ,在一组函数基上可近似为:
y pi x wi
RBFN——迭代步骤I
第 1 步:确定 q1 (1)令 k=1, 候选向量 v k pk ;
T T ˆ12vk g vk vk t ˆ1 T , k T ; (2)计算 g t t vk vk
(3)返回(1), 直至 P 的所有 s 个分量计算结束。 (4)取对应 k 最大的索引,令其为 k * 。最终选取 q1 =vk * 。
(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节