matlab rbf手写

news2025/1/7 18:32:04
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);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/999703.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

山西电力市场日前价格预测【2023-09-12】

日前价格预测 预测说明&#xff1a; 如上图所示&#xff0c;预测明日&#xff08;2023-09-12&#xff09;山西电力市场全天平均日前电价为344.48元/MWh。其中&#xff0c;最高日前电价为405.81元/MWh&#xff0c;预计出现在19: 15。最低日前电价为302.50元/MWh&#xff0c;预计…

电脑文件批量重命名:高效操作技巧

随着时间的推移&#xff0c;我们积累的文件和文件夹数量越来越多&#xff0c;需要对它们进行合理的命名和管理&#xff0c;以便更方便地查找和利用。而文件批量重命名功能可以帮助我们更高效地管理文件夹。下面介绍五种方式&#xff0c;帮助你更好地利用文件批量重命名工具&…

02_Flutter自定义Sliver组件实现分组列表吸顶效果

02_Flutter自定义Sliver组件实现分组列表吸顶效果 一.先上效果图 二.列表布局实现 比较简单&#xff0c;直接上代码&#xff0c;主要使用CustomScrollView和SliverToBoxAdapter实现 _buildSection(String title) {return SliverToBoxAdapter(child: RepaintBoundary(child: C…

Doodles版洞洞鞋3天售罄 蓝筹NFT卖货自救

加密资产市场仍在寒冬&#xff0c;上个牛市爆火的NFT正在经历第一次深熊&#xff0c;无数NFT项目遭市场清洗&#xff0c;玩家争相出逃。市场冷清到惨烈&#xff0c;哪怕是价值认可度最高的蓝筹NFT&#xff0c;也未能逃过持续暴跌的窘境&#xff0c;一些项目开始自救。 近期&am…

C# 反射机制

图片来自&#xff1a;https://www.cnblogs.com/tangge/p/3440605.html

体育场馆LED显示屏的分类及应用

体育场馆LED显示屏是用于体育场馆、体育赛事和体育娱乐活动的重要设备&#xff0c;它们具有不同的分类和应用。免费为你提供体育馆LED屏幕指南。 以下是体育场馆LED显示屏的一些常见分类和应用&#xff1a; 按用途分类&#xff1a; 比赛信息显示屏&#xff1a; 用于显示比赛的得…

Unit 2 uni-app入门

1 uni-app 介绍 1.1 什么是uni-app uni-app 是一个使用 Vue.js 开发所有前端应用的框架&#xff0c;开发者编写一套代码&#xff0c;可发布到Android、iOS、Web&#xff08;响应式&#xff09;、以及各种小程序&#xff08;微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝&…

[框架设计之道(二)]设备、任务设置及业务流程

[框架设计之道&#xff08;二&#xff09;]设备、任务设置及业务流程 说明 此文档是开发中对设备设置项的管理。因为硬件在使用的过程中涉及大量设置项&#xff0c;因此需要单独开一篇文档说明设备的设置和任务的设置。 一、设备设置 1.基础接口 /// <summary> /// 配置…

Python有向图从起点到终点遍历所有路径

参考文章&#xff1a;https://blog.csdn.net/weixin_39797176/article/details/121776940 输入数据说明&#xff1a; graph[1] [2, 3] 表示顶点1有边指向顶点2和3&#xff0c;将所有的边录入start(1,8)表示遍历从顶点1到顶点8的所有路径 graph {} allpaths [] solopath …

空气减压阀QAR2000-02 QAR2500-02 QAR2500-03 QAR3000-02

空气减压阀QAR1000-M5、QAR2000-01、QAR2000-02、QAR2500-02、QAR2500-03、QAR3000-02、QAR3000-03、QAR4000-03、QAR4000-04、QAR4000-06、QAR5000-06、QAR5000-10、QPR2000-01、QPR2000-02、XR4&#xff0c;空气过滤减压阀QPW2000-01、QPW2000-02、XFRU4&#xff0c;精密减压…

C# Onnx Yolov8 Seg 分割

效果 项目 代码 using Microsoft.ML.OnnxRuntime; using Microsoft.ML.OnnxRuntime.Tensors; using OpenCvSharp; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System…

数字孪生警务3D可视化系统有哪些作用?

数字孪生警务3D可视化系统是利用先进的数字技术和模拟技术&#xff0c;将真实的公安运行环境、设施和人员以虚拟的形式呈现出来的系统。它可以模拟公安部门的各种工作场景&#xff0c;为公安人员提供更直观、全面的信息&#xff0c;并发挥以下作用&#xff1a; 一、仿真演练和培…

第三章 Linux文件系统

第三章 Linux文件系统 ​ 文件系统是操作系统用于确定磁盘或分区上的文件的方法和数据结构&#xff0c;即文件在磁盘上的组织方法。文件系统由3部分组成&#xff1a;与文件管理有关的软件、被管理的文件以及实施文件管理所需的数据结构。 1.Ubuntu的文件系统 ​ 文件系统负责…

AI是风口还是泡沫?

KlipC报道&#xff1a;狂热的人工智能追捧潮有所冷静&#xff0c;投资者在“上头”的追涨之后&#xff0c;开始回归到对基本面的关注。 KlipC的合伙人Andi D表示&#xff1a;“近日&#xff0c;有关英伟达二季度“破纪录”财报涉嫌造假的话题正在社交媒体和投资者论坛中甚嚣尘上…

【转存】从 JMM 透析 volatile 与 synchronized 原理

在面试、并发编程、一些开源框架中总是会遇到 volatile 与 synchronized 。synchronized 如何保证并发安全&#xff1f;volatile 语义的内存可见性指的是什么&#xff1f;这其中又跟 JMM 有什么关系&#xff0c;在并发编程中 JMM 的作用是什么&#xff0c;为什么需要 JMM&#…

java spring cloud 企业电子招标采购系统源码:营造全面规范安全的电子招投标环境,促进招投标市场健康可持续发展

项目说明 随着公司的快速发展&#xff0c;企业人员和经营规模不断壮大&#xff0c;公司对内部招采管理的提升提出了更高的要求。在企业里建立一个公平、公开、公正的采购环境&#xff0c;最大限度控制采购成本至关重要。符合国家电子招投标法律法规及相关规范&#xff0c;以及审…

肖sir__项目管理工具之禅道__013

项目管理工具之禅道 一、项目管理工具介绍 1、禅道是一个项目管理软件&#xff0c;它是易软天创公司&#xff0c;为了解决众多企业在管理中出现混乱&#xff0c;无序的现象&#xff0c;开发出来的 它是基于产品管理&#xff0c;项目管理&#xff0c;测试管理于一身&#xff0c…

同城线下约玩陪玩系统线下达人系统源码

结构:TINKPHP框架公众号H5;系统开源,方便二次开发 编译:前端使用UNIAPP开发,可快速编译成APP及微信小程序和公众号H5组件:ICONFONT-UI,基于阿里图库团队UI库,用户体验棒 终端:前后端分离开发模式&#xff0c;开发更清晰分工更明确、提升开发效率、前端使用UNIAPP可快速编译各类…

[Linux 基础] linux基础指令(1)

文章目录 1、Linux下基本指令1.ls指令2.pwd指令3.cd指令4.touch指令5.mkdir指令6.rmdir指令 && rm指令7.man指令8.cp指令9.mv指令10.cat指令11.more指令12.less指令 Linux学习笔记从今天开始不断更新了。第一篇我们从基础指令开始学起。 1、Linux下基本指令 好多人都说…

Swift页面添加水印

本文主要讨论的是给图片或者视图添加全屏水印。比较常见的是添加单个水印,这个比较好处理,网络上也有很多参考的方法。本文实现的是铺满的全屏水印,具体参考效果如下: 实现思路: 1、根据水印文本以及相应样式生成水印图片,水印图大小根据文本计算而来 2、生成需要铺满水…