matlab rbf手写

2023-10-27

clc;clear;format long;
trainD=0:0.1:10;
outD=sin(trainD).*trainD;
outD=outD';
dnum=length(trainD);
%初始化参数学习率
lr_w0=0.1;%权值
lr_c0=0.1;%中心点
lr_sigma0=0.1;%神经节点的方差参数
iters=10000;%最大迭代次数
minE=1e-2;%误差小于他就停止
cnum=150;%神经元个数
c=linspace(0,10,cnum);%神经节点均匀分配在范围内
sigmas=ones(cnum,1)*(c(end)-c(1))/sqrt(2*cnum);%公式,所有sigma都取这个数,训练的好
wmat=rand(cnum,1);%权值随机取
ys=[];%存结果
errs=[];%存误差
for i=1:iters
    decay=1/(1+i*2/iters);%学习率不断下降
    lr_c=lr_c0*decay;
    lr_w=lr_w0*decay;
    lr_sigma=lr_sigma0*decay;
    %首先计算每个样本对每个神经节点距离
    dists=zeros(cnum,dnum);
    for j=1:cnum
        dists(j,:)=sqrt((bsxfun(@minus,trainD,c(j)').^2)');
    end
    gauss=zeros(cnum,dnum);%径向基函数输出(隐层输出)
    for j=1:cnum
        gauss(j,:)=exp(-dists(j,:)./(2*sigmas(j)^2));
    end
    y=gauss'*wmat;
    ys=[ys,y];
    err=y-outD;
    errs=[errs,err];
    mse=sum(err.^2)/(2*dnum);
    if sum(mse)<minE
        break
    end
    dw=zeros(1,cnum);
    dc=0;
    for j=1:cnum
        dw(j)=gauss(j,:)*err/dnum;
    end
    for k=1:dnum
        dc=dc+err(k)*(gauss(j,k)*(trainD(k)-c(j))');
    end
    ds=((gauss.*dists)*err.*wmat)./(sigmas.^3)/dnum;
    dc=wmat./(sigmas.^2)*dc;
    wmat=wmat-lr_w*dw';
    c=c-lr_c*dc';
    sigmas=sigmas-lr_sigma*ds;
end
plot(trainD,outD);
set(gca,'YLim',[-10 10]);
hold on;
fig1=plot(trainD,y(:,1));
for i=1:size(ys,2)
    fig1.YData=ys(:,i);
    pause(0.05);
    legend(num2str(i));
end
figure();
plot(1:length(errs),errs);

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

matlab rbf手写 的相关文章

  • 命令 A(~A) 在 matlab 中的真正作用是什么

    我一直在寻找找到矩阵非零最小值的最有效方法 并在论坛上找到了这个 设数据为矩阵A A A nan minNonZero min A 这是非常短且高效的 至少在代码行数方面 但我不明白当我们这样做时会发生什么 我找不到任何关于此的文档 因为它
  • Numpy 相当于 MATLAB 的 hist [重复]

    这个问题在这里已经有答案了 由于某种原因 Numpy 的 hist 总是返回比 MATLAB 的 hist 少 1 个 bin 例如在 MATLAB 中 x 1 2 2 2 1 4 4 2 3 3 3 3 Rep Val hist x un
  • matlab中更快的插值方法

    我正在使用 interp1 来插值一些数据 temp 4 30 4 rand 365 10 depth 1 10 dz 0 5 define new depth interval bthD min depth dz max depth ne
  • MATLAB 除法...29/128 应该返回 0 吗?

    我真的不认为这是一个精度问题 答案应该是0 226左右 这是确切的代码 val I i j bucketSize pos val bucketSize I只是我从中获取值的矩阵 以下是 MATLAB 的输出 val 29 bucketSiz
  • 通过 cuFFT 进行逆 FFT 缩放

    每当我使用 cuFFT 绘制程序获得的值并将结果与 Matlab 的结果进行比较时 我都会得到相同形状的图形 并且最大值和最小值位于相同的点 然而 cuFFT 得到的值比 Matlab 得到的值大得多 Matlab代码是 fs 1000 s
  • 如何选择面积最大的对象?

    我用过bwconvhull检测图像的某个部分 正如您在图像中看到的那样 有许多具有特定质心的对象 我想做的是检测面积最大的物体 左起第一个大物体 并忽略其他物体 我应该遵循哪种方法 我将非常感谢您的帮助 以下是代码 由于我仍在努力 所以写得
  • 如何从 matlab 调用 Qtproject?

    我在 matlab 中有一个函数可以写入一个 file txt 我在 qt 项目中使用它 So 当我使用 unix 获取要运行的 qt 编译可执行文件时 我有一个 Matlab 文件 但出现错误 代码 unix home matt Desk
  • 绘制布朗运动 matlab

    首先 我只想说我不太习惯使用matlab 但我需要一个作业 我应该创建一个 布朗运动 我的代码目前如下所示 clf hold on prompt Ge ett input size input prompt numParticles inp
  • 在矩阵中找到叉的最快方法

    定义 A i j 1 是十字的中点 如果元素A i 1 j 1A i 1 j 1A i j 1 1A i j 1 1 这些元素和中点一起形成矩阵 A 中的十字 其中 A 至少是一个 3 3 矩阵 并且i j 0 假设上图是 8 8 矩阵 A
  • 霍夫变换检测和删除线

    我想使用霍夫变换检测图像中的线条 但是我不想绘制线条 而是想删除原始图像中检测到的每条线条 image imread image jpg image im2bw image BW edge image canny imshow BW fig
  • 在 Python 上显示 Matlab mat 文件中的图像

    我目前正在尝试显示从此下载的 Mat 文件中的图像site http www rctn org bruno sparsenet 这是一个 mat 文件 所以我尝试使用 scipy io loadmat 函数加载它 但我似乎无法绘制图像 我究
  • 如何从 Matlab 运行 R 脚本 [重复]

    这个问题在这里已经有答案了 我有 m 文件 我想用它来运行 R 脚本 我怎样才能做到这一点 Matlab文件 caller m some matlab code need to call a R script some matlab cod
  • Matlab 中的 3D 堆叠条形图

    我想在一个图中绘制多个堆叠条形图 detached 条形图 例如 准确地想象一下bar http mathworks com help matlab ref bar3 detached png绘图 但堆叠在一起 而不是单一颜色 Set up
  • 将值从 C++ MEX 文件返回到 MATLAB

    我正在编写一个从 C 代码中检索数据的 MATLAB 程序 为此 我在 MATLAB 中创建了一个 MEX 文件和一个网关 mexFunction 虽然可以在 MATLAB 中读取读取值 但我无法检索它来使用它 如果不清楚 我有与这里完全相
  • 在 numpy/scipy 中查找 matlab 函数

    是否有一个等价的函数find A gt 9 1 来自 numpy scipy 的 matlab 我知道有nonzeronumpy 中的函数 但我需要的是第一个索引 以便我可以在另一个提取的列中使用第一个索引 Ex A 1 2 3 9 6 4
  • matlab中简单正弦波的傅里叶变换

    我尝试显示简单正弦波的频谱 因为我们知道具有固定频率的单个正弦波必须在其频谱中出现峰值我编写了这段代码 但我无法得到这个峰值我的代码中有什么问题 clc nsteps 200 number of signal elements in tim
  • Matlab的uicontrol在Octave中的实现?

    我正在尝试在 Octave 中运行我们实验室中使用的图形程序的 m Matlab 代码 Octave 告诉我代码中使用的函数 uicontrol 没有定义 经过一番搜索 我发现 JHandles 包有一个 uicontrol GUI 功能的
  • 如何从列中创建对称矩阵?

    例如 我想转动以下列 90 175 600 650 655 660 代入矩阵 90 175 600 650 655 660 175 600 650 655 660 655 600 650 655 660 655 650 650 655 66
  • 可以避免迭代元胞数组时的“s{1} 烦恼”吗?

    The s 1 标题的 烦恼 指的是下面的 for 块中的第一行 for s some cell array s s 1 unpeel the enclosing cell do stuff with s end This s s 1 业务
  • MATLAB 图形渲染:OpenGL 与 Painters?

    当谈到使用哪个渲染器来处理 MATLAB 图形或何时它很重要时 我一无所知 但我遇到过某些示例 其中does matter plot 0 0 ko markersize 50 linewidth 8 set gcf renderer ope

随机推荐

  • 报错注入(主键重复)攻击原理

    基本原理 利用数据表中主键不能重复的特点 通过构造重复的主键 使得数据库报错 并将报错结果返回到前端 SQL说明函数 以pet数据表为例进行说明 rond 返回 0 1 区间内的任意浮点数 count 返回每个组的列行数 如 返回test表
  • 饿了么 (Element)的 日历(Calendar)组件 自定义

    笔记 由于本人用vue elementui 写了一个关于日历的项目 需求是每个日期对应不同的价格并且点击两次之后取其区间的值并计算出总价 后来翻了很多资料才找到一些思路 由于在饿了么ui的日历组件库里面没有这些方法 所以很奇怪 具体实现的方
  • CSS——三种导入方式

    h1 h1
  • Linux服务器安装anaconda和pytorch

    Linux服务器安装anaconda 参考链接 如何在Linux服务器上安装Anaconda 超详细 在官网上下载需要的版本 https repo anaconda com archive 注意尽量安装最新版本 Linux服务器安装pyto
  • 【计算机视觉

    文章目录 一 检测相关 16篇 1 1 Contextual Object Detection with Multimodal Large Language Models 1 2 Towards minimizing efforts for
  • 2023年直播行业的困境是什么?未来有哪些发展趋势?

    仅仅两年 现场直播货物完全着火 疫情再次将现场直播货物推向新的热潮 现场直播货物真的是未来的趋势吗 从比亚 李佳琦的货物神话到网红 明星 主持人 创业者 选手 企业干部 社长 法官 县长 市长等都陆续进入 与其他电子商务模式相比 直播电子商
  • 李宏毅2021年机器学习作业5(Seq2seq)实验记录

    李宏毅2021年机器学习作业5学习笔记 前言 一 问题描述 二 实验过程 2 1 基于RNN 2 2 基于Transformer 三 总结 前言 声明 本文参考了李宏毅机器学习2021年作业例程 开发平台是colab 一 问题描述 机器翻译
  • ClickHouse数据库与PHP的无缝集成

    ClickHouse数据库是一种基于列的数据库 支持高效数据的存储和查询 而PHP是一种流行的Web编程语言 被广泛应用于Web开发 在实际应用中 我们经常需要将PHP与ClickHouse进行集成 以实现高效的数据处理和查询 本文将探讨如
  • QT中事件及事件处理

    QT中事件及事件处理 什么是事件 事件与Qt中信号的区别 个人所见 事件是应用程序对内部或者外部的动作的统称 信号是事件的后续响应通知 例如你点击了一个按钮 物理上的鼠标点击动作就是事件 而程序收到事件时 就会发出按钮被按下的信号 通知按钮
  • mybatis+MySQL 新增数据返回主键id问题

    今天遇到个问题 怕自己又忘记 记录一下 有个需求 需要存入数据到MySQL后要返回主键id 我按照以前设置的方式得到的结果始终是1 就非常奇怪 找了原因 记录一下 int count userMapper insert user 拿到的是插
  • BigDecimal处理 四舍五入

    最近项目中遇到了关于BigDecimal取舍精度的问题 还遇到了一些坑 在此记录一下 public static void main String args BigDecimal bd new BigDecimal 10 5 int cou
  • python 微信授权 昵称乱码解决

    微信采用的是 ISO 8859 1 编码 所以只需要进行下面的转码 就可以了 先iso8859 1 解码 然后转换成 utf8 即可 print info nickname encode iso8859 1 decode utf8
  • oracle SGA

    三 实例内存结构和进程结构 由于内存结构和进程结构关系较紧密 进程会作用到对应的内存区域 比如数据库写入器作用到数据库缓冲区缓存中 日志写入器会作用到日志缓冲区 所以内存结构和进程结构会相互配合地进行描述 oracle实例内存结构由两部分组
  • Tensorboard打不开的解决方法

    最近在学习tensorflow 遇到了tensorboard打不开的现象 在网上在了一些方法 把他们全部总结在这里 1 如果在调用tensorboard之后 cmd中的链接打不开的话 可以试试127 0 0 1 6006或者localhos
  • 深度学习入门之SGD随机梯度下降法

    SGD SGD为随机梯度下降法 用数学式可以将 SGD 写成如下的式 6 1 这里把需要更新的权重参数记为W 把损失函数关于W的梯度记为 L W 表示学习率 实际上会取 0 01 或 0 001 这些事先决定好的值 式子中的 表示用右边的值
  • 群晖NAS的公网、NAT、DDNS、证书等配置一

    一 群辉NAS应用场景 你是否有过这样的需求 1 远程办公 日常的工作资料太多太杂乱 换个电脑根本没法工作 团队间资料共享太麻烦 Drive套件这个远程办公神器都能解决 我的文件相当于远程的 我的文档 团队文件 是可以与团队成员共享 在PC
  • 将ajax的值传给控制器,通过Ajax将三个下拉选择值作为参数传递给控制器

    您可以将变量searchRooms定义为全局 或其他一些合适的封闭范围 超出 change函数范围 并且在您进行AJAX调用时可以使用它 或者 您可以在执行AJAX调用时获取所需的值 与在 change函数中执行此操作的方式完全相同 事实上
  • powershell激活conda失败;无法加载文件 C:\Users\user\Documents\WindowsPowerShell\profile.ps1,因为在此系统上禁止运行脚本

    在执行vscode中 按F5调试python脚本时报以下错误 Exception has occurred ImportError DLL load failed 找不到指定的程序 File F Github ImageDiff Pytho
  • 获取宝塔Linux面板登陆地址账号和密码

    在ssh终端输入 etc init d bt
  • matlab rbf手写

    clc clear format long trainD 0 0 1 10 outD sin trainD trainD outD outD dnum length trainD 初始化参数学习率 lr w0 0 1 权值 lr c0 0