文章目录

  • 使用RBF网络进行函数拟合
    使RBF网络进行对f(x)函数的拟合功能,其中输入为x,输出为预测的f(x)
  • RBF网络简介
    RBF网络的结构与多层前向网络类似,它是一种三层前向网络。 输入层由信号源结点组成;第二层为隐含层,隐单元数视所描述问题的需要而定,隐单元的变换函数是RBF径向基函数,它是对中心点径向对称且衰减的非负非线性函数;第三层为输出层,它对输入模式的作用作出响应
  • 使用python代码实现
import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl
from scipy.linalg import norm , pinvclass RBF:def __init__(self,input_dim=1,num_centers=2,out_dim=1):self.input_dim = input_dimself.num_centers = num_centersself.out_dim = out_dimself.beta = 8self.centers = [np.random.uniform(-1,1,input_dim) for i in  range(num_centers)]self.W = np.random.random((self.num_centers,self.out_dim))def _basisfunc(self,c,d):return np.exp(-self.beta * norm(c-d)**2)def _calcAct(self,X):G = np.zeros((X.shape[0],self.num_centers),dtype = np.float)for ci , c in enumerate(self.centers):for xi , x in enumerate(X):G[xi , ci] = self._basisfunc(c,x)return Gdef train(self,X,Y):rnd_idx = np.random.permutation(X.shape[0])[:self.num_centers]self.centers = [X[i] for i in rnd_idx]G = self._calcAct(X)self.W = np.dot(pinv(G),Y)def predict(self,X):G = self._calcAct(X)Y = np.dot(G,self.W)return Ypassif __name__ == "__main__":x = np.arange(-1,1.1,0.1).reshape(-1,1)y = np.array([-.09602,-0.5770,-0.0729,0.3771,0.6405,0.6600,0.4609,0.1336,-0.2013,-0.4344,-0.5,-0.3930,-0.1647,0.0988,0.3072,0.3960,0.3449,0.1816,-0.0312,-0.2189,-0.3201])y_pred = np.random.rand(21)net = RBF(1,15,1)net.train(X=x,Y=y)y_pred = net.predict(x)plt.title("Radial Basis Transfer Function")plt.plot(x,y,color="green",label="f(x)")plt.plot(x,y_pred,color="blue",label = 'fitted f(x)')plt.legend()plt.xlabel("x axis")plt.ylabel("y axis")plt.savefig("RBF.jpg")

使用RBF神经网络完成函数拟合相关推荐

  1. 《MATLAB 神经网络43个案例分析》:第3章 遗传算法优化BP神经网络——非线性函数拟合

    <MATLAB 神经网络43个案例分析>:第3章 遗传算法优化BP神经网络--非线性函数拟合 1. 前言 2. MATLAB 仿真示例 3. 小结 1. 前言 <MATLAB 神经网 ...

  2. 基于粒子群算法的神经网络非线性函数拟合

    基于粒子群算法的神经网络非线性函数拟合 文章初心 最近在学机器学习,自己的方向是智能算法,课程报告需要,于是试着把机器学习和粒子群算法相结合,写出来供大家参考,交流. 文末有这部分内容相关的代码,已开 ...

  3. BP神经网络非线性函数拟合

    基于BP神经网络的非线性函数拟合算法流程可以分为BP神经网络构建.BP神经网络训练和BP神经网络预测三步. BP神经网络构建:根据拟合非线性函数特点确定BP神经网络结构. BP神经网络训练:用非线性函 ...

  4. RBF(径向基)神经网络 非线性函数回归的实现

    径向基神将网络的神经元模型:   径向基神经王阔的节点激活函数采用径向基函数,通常定义空间任意一点到某一中心之间的欧氏距离的单调函数. 从模型可以得到,径向基神经网络的激活函数的输入向量是 输入向量和 ...

  5. 基于径向基函数RBF神经网络的非线性函数拟合研究-含Matlab代码

    目录 一.RBF神经网络基本原理 二.模型建立 三.RBF网络拟合结果分析 四.注意事项 五.参考文献 六.Matlab代码获取 一.RBF神经网络基本原理 1988年Broomhead和Lowe将径 ...

  6. matlab RBF 神经网络拟合

    (1)newrb() https://www.mathworks.com/help/deeplearning/ref/newrb.html 该函数可以用来设计一个近似径向基网络(approximate ...

  7. Matlab/Simulink中的S函数模块嵌入人工智能、神经网络算法设计仿真案例详解(以基于RBF神经网络算法的VSG转动惯量自调节为例)

    参考文献 An improved virtual synchronous generator power control strategy  Deep reinforcement learning b ...

  8. 利用BP神经网络教计算机进行非线函数拟合

    利用BP神经网络教计算机进行非线函数拟合 本图文已经更新,详细地址如下: http://blog.csdn.net/lsgo_myp/article/details/54425751

  9. 利用BP神经网络教计算机进行非线函数拟合(代码部分多层)

    利用BP神经网络教计算机进行非线函数拟合(代码部分多层) 本图文已经更新,详细地址如下: http://blog.csdn.net/lsgo_myp/article/details/54425751

最新文章

  1. HDOJ-2062 :Subset sequence(DP)
  2. 初识html语言,初识 “HTML”
  3. Ubuntu 16.04下使用VMware安装CentOS 6.9然后在里面再安装KVM之后配置网桥无法上网的问题...
  4. Happy Number 十进制转特殊三进制
  5. Filebeat配置module采集nginx日志
  6. 搭建自动安装的linux,RedHat7搭建无人值守自动安装Linux操作系统(PXE+Kickstart)
  7. JMeter场景设置与监控
  8. 数据库学习--wildfly配置postgreSQL数据源
  9. Springmvc集成CXF请看教程二
  10. poj 2329 Nearest number - 2 这道题广搜为什么就是wa啊!!求解
  11. excel 转html 样式丢失,excel2010繁体转简体不见了
  12. 【转】腾讯云PCDN:从P2P到万物互联服务框架
  13. git 不abandon的办法
  14. 题解 CF1389B 【Array Walk】
  15. OEM产品验收测试用例如何编写
  16. 7-114 用if-else语句编程百分制成绩转换为五分制成绩
  17. 数组的定义与使用(一)
  18. php标签打印机,PHP连接打印机
  19. java容器都有哪些
  20. component has been registered but not used

热门文章

  1. 每日一题:DNA序列
  2. Java 中的取近似值的方法
  3. windows java ekho_Java粤语语音合成系统
  4. 如何将jpg转换成PDF转换器教程
  5. speedoffice如何将表格竖向变成横向
  6. Etherum进行Pos合并后该如何选择ETH质押服务?
  7. 【阿里云】ECS 使用 Ossfs 挂载 OSS 存储
  8. Oracle 11g自带的sqldeveloper.exe打不开问题
  9. HTML缩写标签对应的英文单词
  10. PHP学生成绩管理,使用MySQL数据库,界面简洁,适合当做学生期末课设作业,有数据库和PHP文件源码,没有使用任何框架,都是使用简单的PHP代码