神经网络学习笔记(一) RBF径向基函数神经网络
神经网络学习笔记(一) RBF径向基函数神经网络
2018年08月06日 13:34:26 吃机智豆长大的少女乙 阅读数:2735
RBF径向基函数神经网络
初学神经网络,以下为综合其他博主学习材料及本人理解所得。
一、RBF神经网络的基本思想
1. 用RBF作为隐单元的“基”构成隐含层空间,将输入矢量直接(不通过权映射)映射到隐空间。
2.当RBF的中心点确定后,映射关系也就确定。(中心点通常通过K-MEANS聚类获得)
3.隐含层空间到输出空间的映射是线性的。(其中的权值通过最小二乘法获得)
4.将低维度映射到高维度,使得线性不可分转化为线性可分。
二、RBF神经网络模型
RBF神经网络神经元结构
1.输入层为向量,维度为m,样本个数为n,传输函数为线性函数。
2.隐藏层与输入层全连接,层内无连接,隐藏层神经元个数与样本个数相等,也就是n,传输函数为径向基函数。
输入的X1-Xm为离散点,我们要得到平滑函数,即通过基函数对样本点附近的点做插值。
通常我们将基函数设为高斯函数。
高斯函数: exp(-d^2/(2*sigma^2));
sigma:平滑因子,又称为基函数的拓展函数或者宽度。平滑因子控制高斯函数的平滑度。当平滑因子较低时,高斯函数就会尖锐,也就是边缘点的权值会很小,导致过拟合。
距离d:距离d就是向量离每一个隐含层中心的距离,通常隐含层的中心对应每个节点,所以每个距离就是节点矩阵自身相对自身每个点的距离。距离表示着离节点越近,所受该节点的输出影响就越大。
三、径向基神经网络结构
总体表达:
通俗过程:
求输入样本和隐藏层点(中心点)的范数,得到范数后,将其带入径向基函数。得到一个数值,再与之后的权值相乘加和,就得到了相应的输出。
四、RBF网络的学习算法
经过上面的学习,我们得到了该学习算法需要求解的参数
1.径向基函数的中心(隐含层中心点)
中心的选取主要有三个方法
(1) 固定中心法
(2)自组织选取中心法
(3)有监督选取中心法
常用K-means聚类方法求取基函数中心
原理:算法首先随机选择K个对象,每个对象初始地代表了一族的平均值或中心。对剩余的每个对象根据其余各个族中心的距离,将它赋给最近的族,然后重新计算每个族的平均值。这个过程不断重复,知道准则函数收敛。
K-means算法过程图
2.方差(sigma)
上文已介绍。
3.隐含层到输出层的权值
通过最小二乘法求得。
下面从MATLAB实例中给出最小二乘法求权值的运用。
%给出变量
%实际数据
data=-9:1:8;
%测试数据
x=-9:.2:8;
%目标输出
label=[129,-32,-118,-138,-125,-97,-55,-23,-4,2,1,-31,-72,-121,-142,-174,-155,-77];
%sigma值
spread=2;
plot(data, label,'o');
%拟合这条曲线的权值
dis=dist(data',data);
gdis=exp(-dis.^2/spread);%gauss
G=[gdis,ones(length(data(1,:)),1)];%广义rbf网络 (加入一个恒为1的隐含层节点)
w=G\label';%最小二乘的矩阵求解
%测试所拟合的权值
chdis=dist(x',data);
chgdis=exp(-chdis.^2/spread);
chG=[chgdis,ones(length(x(1,:)),1)];
chy=chG*w;
plot(x,chy);
五、RBF网络学习算法的MATLAB实现
通过matlab自带的函数做RBF网络学习
1. newrb() 新建一个径向基神经网络
2.newrbe() 新建一个严格的径向基神经网络
3.newrnn() 新建一个广义回归径向基神经网络
4.newpnn() 新建一个概率径向神经网络
格式:net=newrb(P,T,GOAL,SPREAD,MN,DF)
P:输入向量
T:目标向量
SPREAD:径向基函数的分布密度,默认为1
MN:神经元的最大数目
DF:两次显示之间所添加的神经元数目
六、RBF网络学习算法的范例
例、建立一个径向基神经网络,对非线性函数y=sqrt(x)进行逼近,并作出网络的逼近误差曲线。
%输入从0开始变化到5,每次变化幅度为0.1
x=0:0.1:5;
y=sqrt(x);
%建立一个目标误差为0,径向基函数的分布密度为0.5
%隐含层神经元个数的最大值为20,每增加5个神经元显示一次结构
net=newrb(x,y,0,0.5,20,5)t=sim(net,x)
%作出误差函数
plot(x,y-t,'*-')
神经网络学习笔记(一) RBF径向基函数神经网络相关推荐
- MATLAB神经网络学习笔记之:对线性神经网络进行自适应训练
为什么80%的码农都做不了架构师?>>> % 对线性神经网络进行自适应训练 clear all; p1 = { -1 0 1 0 1 1 -1 0 -1 1 0 1}; t1 ...
- 径向基(Radial Basis Function:RBF)神经网络学习笔记
原创不易,转载前请注明博主的链接地址:Blessy_Zhu https://blog.csdn.net/weixin_42555080 一. 从BP神经网络到RDF神经网络 在上一篇文章BP(Back ...
- python编写自己的RBF径向基神经网络
目录 前言 一.RBF神经网络 1.代码 总结 前言 径向基函数神经网络是一种前馈式神经网络,包含输入层.隐含层和输出层,其多输入单输出网络结构如图2所示.根据径向基函数中心确定的方法不同,径向基神经 ...
- RBF径向基神经网络
RBF径向基函数神经网络的优点:逼近能力,分类能力和学习速度等方面都优于BP神经网络,结构简单.训练简洁.学习收敛速度快.能够逼近任意非线性函数,克服局部极小值问题. RBF是具有单隐层的三层前向网络 ...
- 神经网络学习笔记(五) 径向基函数神经网络
径向基函数神经网络 首先介绍一下网络结构: 1.输入层为向量,维度为m,样本个数为n,线性函数为传输函数. 2.隐藏层与输入层全连接,层内无连接,隐藏层神经元个数与样本个数相等,也就是n,传输函数为径 ...
- 机器学习:西瓜书 神经网络 学习笔记
文章目录 神经元模型 感知机与多层网络 误差逆传播算法 全局最小和局部极小 其他常见神经网络 RBF网络 ART网络 SOM网络 级联相关网络 Elman网络 Boltzmann机 深度学习 神经元模 ...
- 径向基函数神经网络RBFNN
概述 径向基函数(Radial Basis Function)神经网络是具有唯一最佳逼近(克服局部极小值问题).训练简洁.学习收敛速度快等良好性能的前馈型神经网络,目前已证明RBFNN能够以任意精度逼 ...
- 径向基函数神经网络(RBFNN)详解
径向基函数神经网络RBFNN 前言 1.基础知识 1.1 径向基函数(RBF) 1.2 非线性问题 1.3 高级的径向基函数 1.4 RBFNN的结构 2.RBFNN的原理 2.1基本原理 2.2径向 ...
- 径向基函数神经网络简述
径向基函数神经网络是不同于BP神经网络的另一种的前馈神经网络,由输入层.一层非线性隐层(径向基层)和线性输出层组成的. 关于径向基函数神经网络,首先要介绍一个定理,cover定理,对于一个复杂的在低维 ...
最新文章
- 使用ASP.NET Core 实现Docker的HealthCheck指令
- 依赖: ros-melodic-desktop 但是它将不会被安装_npm系列之依赖管理
- 《计算机网络》学习笔记 ·006【应用层】
- 给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数
- 华中农业大学第五届程序设计大赛 (7/12)
- 遥感学习教学课件分享
- Python网页抓取教程
- 简记_高频变压器基础知识(一)
- java后台实现批量打印功能
- 如何***内网windows xp的几种思路和方法
- 数据分析里面的一些常用指标的特点(最大、最小、平均、中位数、....)
- 重绘回流个人理解版本
- imageio不存在java,Java自带的ImageIO留下的坑
- c语言:(指针)实现输入三个整数从小到大排序
- 【转】我从罗振宇、脱不花得到的10点
- [企业管理]宽容与尊严
- PowerBuilder打印QRCode
- pmp中ram和raci的区别_【PMP考前冲刺】知识点大全(四)
- 深度学习—BP神经网络
- mysql导入导出语句6_mysql的导入导出 | 吴老二
热门文章
- 遥感图像场景分类方法总结
- 华芯投资40亿现金收购美芯片测试设备厂商Xcerra
- sql compact 转mysql_如何将数据导入到 SQL Server Compact Edition 数据库中(三)
- 跟我学springboot(十五)springboot日志选型
- tb6600 两相四线步进电机相关参数计算关系
- 原型设计(结对第一次)--社团管理系统
- 以考代评职称需要聘任嘛_如何以正确的方式聘用:工程师对技术招聘的看法
- 基于星环TDH数据仓库典型总和场景数据流转设计
- 转文:华为鸿蒙操作系统全景解构
- 两轮差速移动机器人从A点移动到B点的C++语言代码