首页 > 编程语言 >基于RBF网络的信任值预测算法matlab仿真实现

基于RBF网络的信任值预测算法matlab仿真实现

时间:2022-11-02 16:00:44浏览次数:86  
标签:仿真 10 60 Train fprintf matlab func RBF 2.6

目录

一、理论基础

二、核心程序

三、测试结果

一、理论基础

测试的数据集有三种趋势型(trend),周期型(seasonal)还有混乱型的(noisy data)。三种类型要做训练集增加的测试(increasing testing set),测试集增加的测试(increasing testing set)和选择点测试(the optional point). 其中得出预测信任值(见照片图表)。

测试标准有4个:

1.误方差(mean squared error)小于1.

2.标准差(standard deviation)

3.标准差率(standard Deviation Ratio)即预测标准差除以实际标准差,小于1.0.

4.皮尔逊相关系数 person’s correlation coefficient -1到1.

RBF神经网络是一种三层神经网络,包括输入层、隐层、输出层。从输入空间到隐层空间的变换是非线性的,而从隐层空间到输出层空间的变换是线性的。

 

 

 

RBF网络是一种局部逼近网络,对于每个训练祥本,它只需要对少量的权值和阈值进行修正,因此训练速度快。RBF神将网络是一种三层神经网络,其包括输入层、隐层、输出层。从输入空间到隐层空间的变换是非线性的,而从隐层空间到输出层空间变换是线性的。RBF网络的基本思想是:用RBF作为隐单元的“基”构成隐含层空间,这样就可以将输入矢量直接映射到隐空间,而不需要通过权连接。当RBF的中心点确定以后,这种映射关系也就确定了。而隐含层空间到输出空间的映射是线性的,即网络的输出是隐单元输出的线性加权和,此处的权即为网络可调参数。

二、核心程序

clc;
clear;
close all;
warning off;
load data1.mat
%%
%选择100个数据作为输入
Data = data1(1:100);
%%
%选择20个训练数据
t11 = 1:10;
Train_data1 = Data(1:10);
t12 = 1:10;
spread = 1;
goal = 0.01;
df = 1;
mn = length(t11);
net = newrb(t11,Train_data1,goal,spread,mn,df);
yc1 = sim(net,t12);
%%
%选择70个训练数据
t21 = 1:60;
Train_data2 = Data(1:60);
t22 = 1:60;
spread = 1;
goal = 0.01;
df = 1;
mn = length(t21);
net = newrb(t22,Train_data2,goal,spread,mn,df);
yc2 = sim(net,t22);
figure;
plot(t21,Train_data2,'b-o');
hold on;
plot(t22,yc2,'r-*');
hold off;
grid on;
%%
%%对比计算结果
mser11 = func_mse(Train_data1);
mser12 = func_mse(yc1);
sder1 = func_sd(yc1);
sdrer1 = func_sdr(yc1,Train_data1);
coeff1 = func_pcc(yc1,Train_data1);
fprintf('Inputs Train data points MSE training MSE testing PCC SDR SD\n');
fprintf('-----------------------------------------------------------------------------------------------\n');
fprintf('100 20 ');
fprintf('%2.6f ',mser11);
fprintf('%2.6f ',mser12);
fprintf('%2.6f ',coeff1);
fprintf('%2.6f ',sdrer1);
fprintf('%2.6f ',sder1);
fprintf('\n');
fprintf('-----------------------------------------------------------------------------------------------\n');
mser21 = func_mse(Train_data2);
mser22 = func_mse(yc2);
sder2 = func_sd(yc2);
sdrer2 = func_sdr(yc2,Train_data2);
coeff2 = func_pcc(yc2,Train_data2);

fprintf('100 70 ');
fprintf('%2.6f ',mser21);
fprintf('%2.6f ',mser22);
fprintf('%2.6f ',coeff2);
fprintf('%2.6f ',sdrer2);
fprintf('%2.6f ',sder2);
fprintf('\n');
fprintf('-----------------------------------------------------------------------------------------------\n');
%%
%下面的程序是画图
cnt = 0;
for i = 10:2:60
i
cnt = cnt + 1;
t01 = 1:i;
Train_data0 = Data(1:i);
t02 = 1:i;
spread = 1;
goal = 0.01;
df = 1;
mn = length(t01);
net = newrb(t02,Train_data0,goal,spread,mn,df);
yc0 = sim(net,t02);
%%
%%对比计算结果
mser01(cnt) = func_mse(Train_data0);
mser02(cnt) = func_mse(yc0);
sder0(cnt) = func_sd(yc0);
sdrer0(cnt) = func_sdr(yc0,Train_data0);
end
figure;
plot(10:2:60,mser01,'b-o');hold on;
plot(10:2:60,mser02,'r-^');hold on;
plot(10:2:60,sder0,'k-o');hold on;
plot(10:2:60,sdrer0,'m-*');hold on;
grid on;
legend('MSER1','MSER2','SD','SDR');
xlabel('training increasing');
ylabel('error value');

三、测试结果

 

 

 

 

 

 

 

 

 

标签:仿真,10,60,Train,fprintf,matlab,func,RBF,2.6
From: https://www.cnblogs.com/matlabfpga/p/16851292.html

相关文章

  • Matlab中plot函数参数解析
    功能二维曲线绘图 语法1234567plot(Y)plot(X1,Y1,...)plot(X1,Y1,LineSpec,...)plot(...,'PropertyName',PropertyValue,...)plot(axes_hand......
  • Matlab Simulink仿真工具的应用
     招募大量matlab技术人员,有大量matlab需求订单,均为个人短期可以完成,有时间的朋友可以加我微信:nn505203,有需求也可以联系此微信。加好友备注博客园matlab技术即可。S......
  • 基于单片机的水质监测(串口)仿真设计(#0007)
    水资源是人类宝贵的财富,水是生命之源,随着经济的飞速发展,环境问题逐渐出现,水资源受到污染和过度的开发,水的需求量更是大大的增加,为了保护珍贵水源,有必要对水质进行监测。功能......
  • 基于单片机的热电偶测温仿真设计(#0003)
    温度是我们日常生产和生活中实时在接触到的物理量,但是它是看不到的,仅凭感觉只能感觉到大概的温度值,传统的指针式的温度计虽然能指示温度,但是精度低,显示不够直观,数字温度计的......
  • 基于单片机的温度气压仿真设计(#0006)
    在工农业生产中,温度检测及其控制占有举足轻重的地位,随着现代信息技术的飞速发展和传统工业改造的逐步实现,能够独立工作的温度检测和显示系统已经应用于诸多领域。功......
  • 基于单片机的温湿度检测热电偶仿真设计(#0001)
    功能描述采用51/52单片机(通用)作为主控芯片;采用DHT11传感器检测温度/湿度;采用PT100传感器检测温度;采用PCF8591芯片对PT100信号进行AD模数转换处理;采用LCD12864作为显示器件......
  • 基于单片机的PT100热电偶测温仿真设计(#0002)
    功能描述采用51单片机作为主控单元芯片;采用PT100热电偶检测温度,测量范围:-50℃~200℃;采用LM324作为信号放大电路;采用ADC0804芯片对温度信号进行AD模数转换处理;采用4位数码管......
  • LMS算法MatLab实现
      LMS自适应滤波器是使滤波器的输出信号与期望响应之间的误差的均方值为最小,因此称为最小均方(LMS)自适应滤波器。其原理及推导见http://download.csdn.net/source/432206......
  • Matlab神经网络函数newff()新旧用法差异
    在MatlabR2010a版中,如果要创建一个具有两个隐含层、且神经元数分别为5、3的前向BP网络,使用旧的语法可以这样写:        net1=newff(minmax(P),[53 1]);注意......
  • MATLAB约束最优化之罚函数法、障碍函数法和SQP方法
    1.罚函数法罚函数方法包括外点法和内点法。外点法又叫外罚函数法,顾名思义,迭代点再约束条件的可行域之外,既用于不等式约束又可用于等式约束。同样地,罚函数方法又叫序列无......