基于径向基神经RBF的空调功率预测,RBF神经网络的详细原理,RBF回归预测代码

目录

完整代码和数据下载链接:基于MATLAB的RBF的空调能耗预测_模糊空调matlab资源-CSDN文库 https://download.csdn.net/download/abc991835105/87833598
RBF的详细原理
RBF的定义
RBF理论
易错及常见问题
RBF应用实例,基于rbf的空调功率预测
代码
结果分析
展望

RBF的详细原理

RBF的定义

径向基函数(Radical Basis Function,RBF)方法是Powell在1985年提出的。所谓径向基函数,其实就是某种沿径向对称的标量函数。通常定义为空间中任一点x到某一中心c之间欧氏距离的单调函数,可记作k(||x-c||),其作用往往是局部的,即当x远离c时函数取值很小。例如高斯径向基函数:

RBF理论

RBF神经网络算法是由三层结构组成,输入层至隐层为非线性的空间变换,一般选用径向基函数的高斯函数进行运算;从隐层至输出层为线性空间变换,即矩阵与矩阵之间的变换。
rbf神经网络原理是用RBF作为隐单元的“基”构成隐含层空间,这样就可以将输入矢量直接映射到隐空间,而不需要通过权连接。当RBF的中心点确定以后,这种映射关系也就确定了。
RBF是一种前馈型的神经网络,也就是说他不是通过不停的调整权值来逼近最小误差的,的激励函数是一般是高斯函数和BP的S型函数不一样,高斯函数是通过对输入与函数中心点的距离来算权重的。
简而言之,RBF神经网络其实就是,具有不同激活函数和应用方向的前馈网络。

RBF应用实例

基于RBF的空调功率预测MATLAB代码

%% I. 清空环境变量
clc
clear
close all
%% II. 训练集/测试集产生
%%
load maydata.mat
num(15,61)=13285;
m=45;
n = randperm(length(num));
input_train=num(n,1:60)‘;%训练数据的输入数据
output_train=num(n,61)’;%训练数据的输出数据
input_test=num((1:end),1:60)‘;%测试数据的输入数据
output_test=num((1:end),61)’; %测试数据的输出数据

%选连样本输入输出数据归一化
[inputn_test,inputps]=mapminmax(input_test,-1,1);%训练数据的输入数据的归一化
% [inputn,inputps]=mapminmax(input_train,0,1);%训练数据的输入数据的归一化
% inputn_test=mapminmax(‘apply’,input_test,inputps);
inputn=mapminmax(‘apply’,input_train,inputps);

[outputn,outputps]=mapminmax(output_train,0,1);%训练数据的输出数据的归一化de

%% III. RBF神经网络创建及仿真测试
%%
% 1. 创建网络
net=newrb(inputn,outputn,0.0001,5,60);
% net.trainFcn=‘trainrp’;
%%
% inputn_test=mapminmax(‘apply’,input_test,inputps);
test_output1=sim(net,inputn_test); %$生成测试数据
test_output=mapminmax(‘reverse’,test_output1,outputps);
%% IV. 性能评价
figure(1)
plot(output_test(1,:),‘r-o’);%期望数据,即真实的数据画图,-代表实现,就是代表的标识
hold on
plot(test_output(1,:),‘b-*’);%预测数据,即rbf仿真出来的的数据画图,-代表实现,就是代表的标识
hold off
legend(‘实际数据’,‘预测输出’)%标签
title(‘RBF神经网络’,‘fontsize’,12)%标题 字体大小为12
ylabel(‘当日能耗’,‘fontsize’,12)%Y轴
xlabel(‘日期’,‘fontsize’,12)%X轴

set(gca,‘XTick’,[1 5:5:25])
set(gca,‘XTickLabel’,{‘9.15’,‘9.20’,‘9.25’,‘10.1’,‘10.6’,‘10.11’})

figure(2)
plot(output_test(1,:)-test_output(1,:),‘k-*’);%期望数据,即真实的数据画图,-代表实现,就是代表的标识

title(‘RBF神经网络’,‘fontsize’,12)%标题 字体大小为12
ylabel(‘误差’,‘fontsize’,12)%Y轴
xlabel(‘日期’,‘fontsize’,12)%X轴

set(gca,‘XTick’,[1 5:5:25])
set(gca,‘XTickLabel’,{‘9.15’,‘9.20’,‘9.25’,‘10.1’,‘10.6’,‘10.11’})

%
% net1.b{1}
% net1.iw{1,1}
% net1.b{2}
% net1.lw{2,1}

效果图

在这里插入图片描述
在这里插入图片描述

结果分析

从效果图看,RBF进行空调功率预测,效果比较好

扩展

如果需要改进,欢迎扫描二维码联系

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
径向神经网络RBF)是一种常用的神经网络,常用于回归和分类任务。其特点是具有自适应的非线性映射能力,能够拟合各种复杂的非线性函数,并且具有较好的泛化能力。 在MATLAB中,可以通过以下代码进行RBF回归预测: 1. 加载数据 首先需要加载需要进行回归预测的数据,可以使用MATLAB中的load函数,例如: data = load('data.txt'); 其中,data.txt是存储数据的文件名,需要保证数据的格式正确。 2. 分离数据 将数据分成训练集和测试集,可以使用MATLAB中的crossvalind函数,例如: cv = crossvalind('Kfold', size(data, 1), 10); trainData = data(cv ~= 1, :); testData = data(cv == 1, :); 其中,将数据分成了10份,cv~=1表示排除第一份,cv==1表示第一份。 3. 训练模型 使用MATLAB中的newrb函数进行RBF网络的训练,例如: net = newrb(trainData(:, 1:end-1)', trainData(:, end)', 0, 1, 10, 1); 其中,trainData(:, 1:end-1)表示取数据的前n-1列作为输入,trainData(:, end)表示取数据的最后一列作为输出。0, 1, 10, 1分别表示误差目标、学习速率、隐藏层神经元个数和正则化参数。 4. 进行预测 使用MATLAB中的simulate函数进行预测,例如: predict = sim(net, testData(:, 1:end-1)'); 其中,testData(:, 1:end-1)表示取数据的前n-1列作为输入。 5. 评价模型 使用MATLAB中的regperf函数对模型进行评价,例如: MSE = regperf(predict', testData(:, end)) 其中,MSE表示均方误差。 以上就是使用MATLAB实现径向神经网络RBF回归预测的全部代码

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神经网络机器学习智能算法画图绘图

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值