一、广义回归神经网络(GRNN)

广义回归神经网络是径向基神经网络的一种,GRNN具有很强的非线性映射能力和学习速度,比RBF具有更强的优势,网络最后普收敛于样本量集聚较多的优化回归,样本数据少时,预测效果很好,还可以处理不稳定数据。虽然GRNN看起来没有径向基精准,但实际在分类和拟合上,特别是数据精准度比较差的时候有着很大的优势。

1 GRNN网络结构
GRNN是RBF的一种改进,结构相似。区别就在于多了一层求和层,而去掉了隐含层与输出层的权值连接(对高斯权值的最小二乘叠加)。


文字解析:
1.输入层为向量,维度为m,样本个数为n,线性函数为传输函数。
2.隐藏层与输入层全连接,层内无连接,隐藏层神经元个数与样本个数相等,也就是n,传输函数为径向基函数。
3.加和层中有两个节点,第一个节点为每个隐含层节点的输出和,第二个节点为预期的结果与每个隐含层节点的加权和。
4.输出层输出是第二个节点除以第一个节点。

二、部分源代码

%% grnn
%% 1.初始化环境
clc;clear;close all;format compact;
%% 2.加载数据
data=xlsread('三维数据.xlsx');
input=data(:,1:3);
output=data(:,4);
%% 划分数据集
n=randperm(size(input,1));m=floor(0.7*size(input,1));p_train=input(n(1:m),:)';%取转置 编成一列一个样本spread=0.1;
net=newgrnn(p_train,t_train,spread);
pred_train=sim(net,p_train);
pre
grid on
hold on
plot(J1,'r*');
legend('测试输出','真实标签')
title('测试集')
xlabel('样本数')
ylabel('分类标签')
hold offfunction ret=select(individuals,sizepop)
% 该函数用于进行选择操作
% individuals input    种群信息
% sizepop     input    种群规模
% ret         output   选择后的新种群
%求适应度值倒数
[a bestch]=min(individuals.fitness);
fitness1=10./individuals.fitness; %individuals.fitness为个体适应度值
%个体选择概率
sumfitness=sum(fitness1);
sumf=fitness1./sumfitness;
%采用轮盘赌法选择新个体
index=[];
for i=1:sizepop   %sizepop为种群数pick=rand;while pick==0pick=rand;endfor i=1:sizepoppick=pick-sumf(i);if pick<0index=[index i];break;endend
end
%新种群
individuals.chrom=individuals.chrom(index,:);
individuals.fitness=individuals.fitness(index);
ret=individuals;function ret=Code(lenchrom,bound)
%本函数用于随机初始化一条染色体
% lenchrom   input : 染色体长度
% bound      input : 变量的取值范围
% ret        output: 染色体的编码值
flag=0;
while flag==0pick=rand(1,length(lenchrom));ret=bound(:,1)'+(bound(:,2)-bound(:,1))'.*pick;flag=test(lenchrom);     %检验染色体的可行性
end
function ret=Mutation(pmutation,lenchrom,chrom,sizepop,num,maxgen,bound)
% 本函数完成变异操作
% pcorss                input  : 变异概率
% lenchrom              input  : 染色体长度
% chrom     input  : 染色体群
% sizepop               input  : 种群规模
% opts                  input  : 变异方法的选择
% pop                   input  : 当前种群的进化代数和最大的进化代数信息
% bound                 input  : 每个个体的上届和下届
% maxgen                input  :最大迭代次数
% num                   input  : 当前迭代次数
% ret                   output : 变异后的染色体
for i=1:sizepop   %每一轮for循环中,可能会进行一次变异操作,染色体是随机选择的,变异位置也是随机选择的,%但该轮for循环中是否进行变异操作则由变异概率决定(continue控制)% 随机选择一个染色体进行变异pick=rand;while pick==0pick=rand;endindex=ceil(pick*sizepop);% 变异概率决定该轮循环是否进行变异pick=rand;if pick>pmutationcontinue;endflag=0;while flag==0% 变异位置pick=rand;while pick==0pick=rand;endpos=ceil(pick*sum(lenchrom));  %随机选择了染色体变异的位置,即选择了第pos个变量进行变异pick=rand; %变异开始fg=(rand*(1-num/maxgen))^2;flag=test(lenchrom);end
end
ret=chrom;

三、运行结果

四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 包子阳,余继周,杨杉.智能优化算法及其MATLAB实例(第2版)[M].电子工业出版社,2016.
[2]张岩,吴水根.MATLAB优化算法源代码[M].清华大学出版社,2017.
[3]周品.MATLAB 神经网络设计与应用[M].清华大学出版社,2013.
[4]陈明.MATLAB神经网络原理与实例精解[M].清华大学出版社,2013.
[5]方清城.MATLAB R2016a神经网络设计与应用28个案例分析[M].清华大学出版社,2018.

【优化分类】基于matlab GA优化GRNN超参数分类【含Matlab源码 1399期】相关推荐

  1. 【Matlab肌电信号】肌电信号处理【含GUI源码 966期】

    一.代码运行视频(哔哩哔哩) [Matlab肌电信号]肌电信号处理[含GUI源码 966期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 包子阳,余继周,杨 ...

  2. 【Matlab语音处理】声音信号频谱分析仪【含GUI源码 325期】

    一.代码运行视频(哔哩哔哩) [Matlab语音处理]声音信号频谱分析仪[含GUI源码 325期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]韩纪庆,张磊, ...

  3. 【Matlab图像检索】综合特征图像检索【含GUI源码 395期】

    一.代码运行视频(哔哩哔哩) [Matlab图像检索]综合特征图像检索[含GUI源码 395期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅.MAT ...

  4. 【Matlab条形码识别】二维条形码识别【含GUI源码 607期】

    一.代码运行视频(哔哩哔哩) [Matlab条形码识别]二维条形码识别[含GUI源码 607期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅.MAT ...

  5. 【Matlab验证码识别】遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别【含GUI源码 1694期】

    一.代码运行视频(哔哩哔哩) [Matlab验证码识别]遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别[含GUI源码 1694期] 二.matlab版本及参考文献 1 matlab ...

  6. 【Matlab电力负荷预测】粒子群优化支持向量机短期电力负荷预测【含GUI源码 751期】

    一.代码运行视频(哔哩哔哩) [Matlab电力负荷预测]粒子群优化支持向量机短期电力负荷预测[含GUI源码 751期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 ...

  7. 【Matlab树叶分类】BP神经网络植物叶片分类【含GUI源码 916期】

    一.代码运行视频(哔哩哔哩) [Matlab树叶分类]BP神经网络植物叶片分类[含GUI源码 916期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅 ...

  8. 【Matlab图像融合】小波变换遥感图像融合【含GUI源码 744期】

    一.代码运行视频(哔哩哔哩) [Matlab图像融合]小波变换遥感图像融合[含GUI源码 744期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 包子阳,余 ...

  9. 【Matlab指纹识别】指纹识别门禁系统【含GUI源码 1692期】

    一.代码运行视频(哔哩哔哩) [Matlab指纹识别]指纹识别门禁系统[含GUI源码 1692期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 包子阳,余继 ...

  10. 【Matlab指纹识别】指纹识别匹配门禁系统【含GUI源码 587期】

    一.代码运行视频(哔哩哔哩) [Matlab指纹识别]指纹识别匹配门禁系统[含GUI源码 587期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 包子阳,余 ...

最新文章

  1. css y轴溢出滚动条,x轴溢出显示
  2. html form label标签基础语法结构与使用案例教程(转载)
  3. QRadioButton Toggled() 使用方法
  4. html网页语言是什么,HTML是什么?
  5. JavaEE 资源注入
  6. 也许,这样理解HTTPS更容易
  7. JM8.5中的7种宏块模式问题 - zhoujunming的专栏 - CSDN博客
  8. python3类的继承详解_python3 多重继承机制
  9. C++灵活易错特性-02
  10. 检测代码运行时间(微秒级)
  11. HCI实验数据分析之数据可靠性计算,绘制箱图,描述性变量统计,ANOVA,Bonferroni 的连续变量方差分析
  12. 保存MATLAB工作区的矩阵为TXT文件
  13. 怎么做好企业网站关键词优化
  14. java事务和分布式事务详解
  15. 译文|LogDevice 与 Apache Pulsar 之间的对比
  16. 图解110配线架打线方法
  17. VS2019报本次安装Visual Studio 所用的安装程序不完整错误
  18. [转载]W3C XML Schema 与文档类型定义
  19. Java基础学习笔记
  20. Square, Inc.公布收购Afterpay的计划,将加强并促进卖家与Cash App生态系统之间的进一步融合

热门文章

  1. Visual Studio中从应用程序中调试SQL脚本
  2. decodeURI decodeURIComponent
  3. 云存储20181101-16讲
  4. 【目录】数据结构与算法
  5. Spring Boot 学习笔记(一)
  6. 〖Python〗-- 函数闭包的理解
  7. Excel表复制、取消工作表保护、解除冻结操作
  8. AutoCAD2020左键单击长按套锁功能
  9. 七月算法机器学习4 凸优化初步
  10. 20191219每日一句