基于BP/GRNN神经网络的安全性数据预测matlab仿真

目录

一、理论基础

1.1 安全性数据预测概述

1.2 基于BP/GRNN神经网络的安全性数据预测理论研究

二、核心程序

三、测试结果


一、理论基础

1.1 安全性数据预测概述

       安全性数据预测是一种基于数据驱动的方法,它可以帮助企业和组织更好地了解和预测系统的安全性能。基于BP/GRNN神经网络的安全性数据预测是一种常见的预测方法,它结合了人工神经网络和安全性数据的特性,通过学习和训练,实现对安全性数据的预测。

安全性数据预测是一种基于数据驱动的方法,它通过分析和建模安全性数据来预测未来的安全趋势和风险。这种方法可以帮助企业和组织更好地了解和预测系统的安全性能,从而做出更有效的安全决策和措施。

一、安全性数据预测的基本原理

       安全性数据预测的基本原理是:通过收集和分析安全性数据,发现其中的模式、趋势和关联性,利用这些信息来预测未来的安全形势和风险。这种方法基于数据科学、统计学、机器学习等领域的技术和方法,对安全性数据进行深入挖掘和分析,从中提取出有用的信息,并构建出能够反映实际情况的预测模型,用于未来的安全性预测。

二、安全性数据预测的数学公式

     安全性数据预测的方法和技术多种多样,其中常用的技术包括线性回归、逻辑回归、支持向量机、神经网络等。在构建预测模型时,需要利用历史数据来训练模型,并使用交叉验证等技术来评估模型的性能和精度。预测模型建立好之后,就可以利用该模型来预测未来的安全性数据。

三、安全性数据预测的实现步骤

安全性数据预测的实现步骤一般包括以下几个步骤:

  1. 数据收集:收集相关领域的安全性数据,包括安全事件数据、漏洞数据、攻击数据等。
  2. 数据清洗和处理:对收集到的数据进行清洗和处理,包括去除重复数据、处理缺失值、去除异常值等。
  3. 数据分析和挖掘:利用数据分析和挖掘技术,发现数据中的模式、趋势和关联性,提取出有用的信息。
  4. 特征工程:根据数据分析和挖掘的结果,选择重要的特征,并构建出能够反映实际情况的特征工程。
  5. 模型构建和训练:根据所选用的预测模型,利用历史数据来训练模型,并使用交叉验证等技术来评估模型的性能和精度。
  6. 模型评估和优化:根据模型训练的结果,评估模型的性能和精度,并对模型进行优化和调整,以提高预测的准确性。
  7. 预测应用:构建好预测模型后,可以将其应用于未来的安全性预测中,为企业和组织的安全性评估和管理提供有价值的参考依据。

       安全性数据预测是一种基于数据驱动的方法,它可以帮助企业和组织更好地了解和预测系统的安全性能,从而做出更有效的安全决策和措施。实现安全性数据预测需要经过数据收集、清洗和处理、分析和挖掘、特征工程、模型构建和训练、模型评估和优化、预测应用等步骤。在构建预测模型时,需要根据实际情况选择合适的模型和技术,以提高预测的准确性和可靠性。

1.2 基于BP/GRNN神经网络的安全性数据预测理论研究

        广义回归神经网络的理论基础是非线性核回归分析,非独立变量y相对于独立变量x的回归分析实际上是计算具有最大概率值的y。设随机变量x和y的联合概率密度函数为f (x ,y),已知x的观测值为X,则y相对于X的回归,即条件均值为:

对于未知的概率密度函数f (x, y),可由x和y的观测样本经非参数估计得: 

根据式子1和2可以得到: 

 简化后可得: 

       GRNN通常被用来进行函数逼近。它具有一个径向基隐含层和一个特殊的线性层。第一层和第二层的神经元数目都与输入的样本向量对的数目相等。GRNN结构如图1所示,整个网络包括四层神经元:输入层、模式层、求和层与输出层。 

二、核心程序

............................................................

SAFE=[0.4659, 0.4542, 0.4366, 0.4042, 0.3854, 0.3801, 0.3820, 0.3857, 0.3722, 0.3665, 0.3843, 0.3688, 0.3900, 0.4000, 0.4522, 0.4692,0.4953, 0.5184, 0.5243];

% 基本安全
% 基本安全
% 基本安全
% 基本安全
% 危险
% 危险
% 危险
% 危险
% 危险
% 危险
% 危险
% 危险
% 危险
% 基本安全
% 基本安全
% 基本安全
% 基本安全
% 基本安全
% 基本安全
SAFE10=[1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1];

%GRNN神经网络训练
char    = [D]';
T       = [SAFE];
Net     = newgrnn(char,T,25);
save Grnn.mat Net;
 
%%
%通过拟合的方法,得到未来的指标的数据
X0=Time';
%设置预测年份
X1=[Time,2016,2017,2018,2019,2020];

Y1=D(:,1);
Y2=D(:,2);
Y3=D(:,3);
Y4=D(:,4);
Y5=D(:,5);
Y6=D(:,6);
Y7=D(:,7);
Y8=D(:,8);
Y9=D(:,9);
Y10=D(:,10);
Y11=D(:,11);
Y12=D(:,12);
Y13=D(:,13);
Y14=D(:,14);
Y15=D(:,15);

%开始拟合
p=polyfit(X0,Y1,5);Y1_=p(1)*X1.^5+p(2)*X1.^4+p(3)*X1.^3+p(4)*X1.^2+p(5)*X1.^1+p(6);
p=polyfit(X0,Y2,5);Y2_=p(1)*X1.^5+p(2)*X1.^4+p(3)*X1.^3+p(4)*X1.^2+p(5)*X1.^1+p(6);
p=polyfit(X0,Y3,5);Y3_=p(1)*X1.^5+p(2)*X1.^4+p(3)*X1.^3+p(4)*X1.^2+p(5)*X1.^1+p(6);
p=polyfit(X0,Y4,5);Y4_=p(1)*X1.^5+p(2)*X1.^4+p(3)*X1.^3+p(4)*X1.^2+p(5)*X1.^1+p(6);

p=polyfit(X0,Y5,5);Y5_=p(1)*X1.^5+p(2)*X1.^4+p(3)*X1.^3+p(4)*X1.^2+p(5)*X1.^1+p(6);;
p=polyfit(X0,Y6,5);Y6_=p(1)*X1.^5+p(2)*X1.^4+p(3)*X1.^3+p(4)*X1.^2+p(5)*X1.^1+p(6);;
p=polyfit(X0,Y7,5);Y7_=p(1)*X1.^5+p(2)*X1.^4+p(3)*X1.^3+p(4)*X1.^2+p(5)*X1.^1+p(6);;
p=polyfit(X0,Y8,5);Y8_=p(1)*X1.^5+p(2)*X1.^4+p(3)*X1.^3+p(4)*X1.^2+p(5)*X1.^1+p(6);;

p=polyfit(X0,Y9,5);Y9_=p(1)*X1.^5+p(2)*X1.^4+p(3)*X1.^3+p(4)*X1.^2+p(5)*X1.^1+p(6);;
p=polyfit(X0,Y10,5);Y10_=p(1)*X1.^5+p(2)*X1.^4+p(3)*X1.^3+p(4)*X1.^2+p(5)*X1.^1+p(6);;
p=polyfit(X0,Y11,5);Y11_=p(1)*X1.^5+p(2)*X1.^4+p(3)*X1.^3+p(4)*X1.^2+p(5)*X1.^1+p(6);;
p=polyfit(X0,Y12,5);Y12_=p(1)*X1.^5+p(2)*X1.^4+p(3)*X1.^3+p(4)*X1.^2+p(5)*X1.^1+p(6);;

p=polyfit(X0,Y13,5);Y13_=p(1)*X1.^5+p(2)*X1.^4+p(3)*X1.^3+p(4)*X1.^2+p(5)*X1.^1+p(6);;
p=polyfit(X0,Y14,5);Y14_=p(1)*X1.^5+p(2)*X1.^4+p(3)*X1.^3+p(4)*X1.^2+p(5)*X1.^1+p(6);;
p=polyfit(X0,Y15,5);Y15_=p(1)*X1.^5+p(2)*X1.^4+p(3)*X1.^3+p(4)*X1.^2+p(5)*X1.^1+p(6);;



figure;
subplot(4,4,1);plot(X0,Y1,'r*');hold on;plot(X1,Y1_,'b');
subplot(4,4,2);plot(X0,Y2,'r*');hold on;plot(X1,Y2_,'b');
subplot(4,4,3);plot(X0,Y3,'r*');hold on;plot(X1,Y3_,'b');
subplot(4,4,4);plot(X0,Y4,'r*');hold on;plot(X1,Y4_,'b');
subplot(4,4,5);plot(X0,Y5,'r*');hold on;plot(X1,Y5_,'b');
subplot(4,4,6);plot(X0,Y6,'r*');hold on;plot(X1,Y6_,'b');
subplot(4,4,7);plot(X0,Y7,'r*');hold on;plot(X1,Y7_,'b');
subplot(4,4,8);plot(X0,Y8,'r*');hold on;plot(X1,Y8_,'b');

subplot(4,4,9);plot(X0,Y9,'r*');hold on;plot(X1,Y9_,'b');
subplot(4,4,10);plot(X0,Y10,'r*');hold on;plot(X1,Y10_,'b');
subplot(4,4,11);plot(X0,Y11,'r*');hold on;plot(X1,Y11_,'b');
subplot(4,4,12);plot(X0,Y12,'r*');hold on;plot(X1,Y12_,'b');
subplot(4,4,13);plot(X0,Y13,'r*');hold on;plot(X1,Y13_,'b');
subplot(4,4,14);plot(X0,Y14,'r*');hold on;plot(X1,Y14_,'b');
subplot(4,4,15);plot(X0,Y15,'r*');hold on;plot(X1,Y15_,'b');

chars = [Y1_',Y2_',Y3_',Y4_',Y5_',Y6_',Y7_',Y8_',Y9_',Y10_',Y11_',Y12_',Y13_',Y14_',Y15_'];


char2 = [D;chars(size(D,2)+1:end,:)]';
%%
%开始预测
y=sim(Net,char2);
figure;
plot(T,'b-s','linewidth',2);
hold on
plot(y(1:length(T)+5),'r--','linewidth',2);
legend('安全性数据','预测安全性数据');
grid on
axis([0,32,0.3,0.6]);
title('GRNN神经网络预测结果');


%预测误差
Err = mean(abs(T-y(1:length(T))))


 

三、测试结果

A05-51

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

fpga和matlab

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

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

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

打赏作者

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

抵扣说明:

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

余额充值