【机器学习】RBF神经网络原理与Python实现

本文深入探讨了RBF神经网络的原理,包括其结构、RBF神经元及求解过程,详细阐述了正向传播计算误差和反向传播调整参数的方法。并提供了RBF神经网络的Python实现参考链接。
摘要由CSDN通过智能技术生成

一、RBF神经网络原理

1. RBF神经网络结构与RBF神经元

RBF神经网络结构图
RBF神经网络的结构图如上图所示,其结构与简单的BP神经网络相同都是三层网络结构:输入层、隐含层和输出层。不同的是,RBF神经网络的隐含层节点的激活函数为径向基(RBF)函数。
假设训练数据集为 X = { x 1 , x 2 , ⋯   , x m } X = \left\{ { {x^1},{x^2}, \cdots ,{x^m}} \right\} X={ x1,x2,,xm},其中第i个训练样本为 x i = { x 1 i , x 2 i , ⋯   , x n i } {x^i} = \left\{ {x_1^i,x_2^i, \cdots ,x_n^i} \right\} xi={ x1i,x2i,,xni},也就是说样本数为m,特征数为n,所以输入层的节点个数为n。假设隐含层节点个数为s,第i个训练样本 x i {x^i} xi从隐含层的第j个节点( j = 1 , 2 , ⋯   , s j = 1,2, \cdots ,s j=1,2,,s)的输出为:

G ( x i , c j ) = exp ⁡ ( − 1 2 ( σ j ) 2 ∥ x i − c j ∥ ) G\left( { {x^i},{c^j}} \right) = \exp \left( { - \frac{1}{ {2{ {\left( { {\sigma ^j}} \right)}^2}}}\left\| { {x^i} - {c^j}} \right\|} \right) G(xi,cj)=exp(2(σj)21xicj)

其中 c j {c^j} cj σ j {\sigma ^j} σj分别是RBF神经网络第j个隐含层RBF激活函数的中心参数和宽度参数【参考资料1】。
隐含层输出通过权重矩阵映射到输出层的输入,本博文中输出层节点的激励函数为线性函数( y = x y = x y=x)。

RBF神经网络的数据流向为:训练样本—RBF隐含层—权重矩阵—输出层

2. RBF神经网络求解

RBF神经网络是BP神经网络的特殊形式,因此求解过程也与BP神经网络相同,分为两个部分:正向传播计算误差和反向传播调整参数。

2.1 正向传播:计算误差

对于样本 x i {x^i} xi,RBF神经网络的输出为 y i {y^i} yi

y ^ i = ∑ j = 1 s w j G ( x i , c j ) { {\hat y}^i} = \sum\limits_{j = 1}^s { {w_j}G\left( { {x^i},{c^j}} \right)} y^i=j=1swjG(xi,cj)

样本标签为 { y 1 , y 2 , ⋯   , y m } \left\{ { {y^1},{y^2}, \cdots ,{y^m}} \right\} { y1,y2,,ym},RBF神经网络的损失函数为:

L o s s = 1 2 ∑ i = 1 m e i 2 = 1 2 ∑ i = 1 m ( y i − y ^ i ) 2 = 1 2 ∑ i = 1 m (

评论 37
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值