码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • matlab rbf手写


    1. clc;clear;format long;
    2. trainD=0:0.1:10;
    3. outD=sin(trainD).*trainD;
    4. outD=outD';
    5. dnum=length(trainD);
    6. %初始化参数学习率
    7. lr_w0=0.1;%权值
    8. lr_c0=0.1;%中心点
    9. lr_sigma0=0.1;%神经节点的方差参数
    10. iters=10000;%最大迭代次数
    11. minE=1e-2;%误差小于他就停止
    12. cnum=150;%神经元个数
    13. c=linspace(0,10,cnum);%神经节点均匀分配在范围内
    14. sigmas=ones(cnum,1)*(c(end)-c(1))/sqrt(2*cnum);%公式,所有sigma都取这个数,训练的好
    15. wmat=rand(cnum,1);%权值随机取
    16. ys=[];%存结果
    17. errs=[];%存误差
    18. for i=1:iters
    19. decay=1/(1+i*2/iters);%学习率不断下降
    20. lr_c=lr_c0*decay;
    21. lr_w=lr_w0*decay;
    22. lr_sigma=lr_sigma0*decay;
    23. %首先计算每个样本对每个神经节点距离
    24. dists=zeros(cnum,dnum);
    25. for j=1:cnum
    26. dists(j,:)=sqrt((bsxfun(@minus,trainD,c(j)').^2)');
    27. end
    28. gauss=zeros(cnum,dnum);%径向基函数输出(隐层输出)
    29. for j=1:cnum
    30. gauss(j,:)=exp(-dists(j,:)./(2*sigmas(j)^2));
    31. end
    32. y=gauss'*wmat;
    33. ys=[ys,y];
    34. err=y-outD;
    35. errs=[errs,err];
    36. mse=sum(err.^2)/(2*dnum);
    37. if sum(mse)
    38. break
    39. end
    40. dw=zeros(1,cnum);
    41. dc=0;
    42. for j=1:cnum
    43. dw(j)=gauss(j,:)*err/dnum;
    44. end
    45. for k=1:dnum
    46. dc=dc+err(k)*(gauss(j,k)*(trainD(k)-c(j))');
    47. end
    48. ds=((gauss.*dists)*err.*wmat)./(sigmas.^3)/dnum;
    49. dc=wmat./(sigmas.^2)*dc;
    50. wmat=wmat-lr_w*dw';
    51. c=c-lr_c*dc';
    52. sigmas=sigmas-lr_sigma*ds;
    53. end
    54. plot(trainD,outD);
    55. set(gca,'YLim',[-10 10]);
    56. hold on;
    57. fig1=plot(trainD,y(:,1));
    58. for i=1:size(ys,2)
    59. fig1.YData=ys(:,i);
    60. pause(0.05);
    61. legend(num2str(i));
    62. end
    63. figure();
    64. plot(1:length(errs),errs);

  • 相关阅读:
    centos7的yum修改为阿里源
    Zig标准库:最全数据结构深度解析(1)
    SpringCloud01
    Zookeeper中的Watch机制的原理?
    可视化 | (一)数据基础及基本数据可视化方法
    线程的状态
    如何用度量数据驱动代码评审的改善
    【word密码】word设置只读方式的四个方法
    Linux中安装vnStat和vnStati监视网络流量
    网络资源模板--基于 Android Studio 实现的天气预报App
  • 原文地址:https://blog.csdn.net/K_ZhJ18/article/details/132270143
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号