【智能算法】基于BP的神经网络变量筛选实现
2023-09-14 09:05:31 时间
神经网络变量筛选—基于BP的神经网络变量筛选
%% 清空环境变量
clc
clear
%% 产生输入 输出数据
% 设置步长
interval=0.01;
% 产生x1 x2
x1=-1.5:interval:1.5;
x2=-1.5:interval:1.5;
% 产生x3 x4(噪声)
x=rand(1,301);
x3=(x-0.5)*1.5*2;
x4=(x-0.5)*1.5*2;
% 按照函数先求得相应的函数值,作为网络的输出。
F =20+x1.^2-10*cos(2*pi*x1)+x2.^2-10*cos(2*pi*x2);
%设置网络输入输出值
p=[x1;x2;x3;x4];
t=F;
%% 变量筛选 MIV算法的初步实现(增加或者减少自变量)
p=p';
[m,n]=size(p);
yy_temp=p;
% p_increase为增加10%的矩阵 p_decrease为减少10%的矩阵
for i=1:n
p=yy_temp;
pX=p(:,i);
pa=pX*1.1;
p(:,i)=pa;
aa=['p_increase' int2str(i) '=p;'];
eval(aa);
end
for i=1:n
p=yy_temp;
pX=p(:,i);
pa=pX*0.9;
p(:,i)=pa;
aa=['p_decrease' int2str(i) '=p;'];
eval(aa);
end
%% 利用原始数据训练一个正确的神经网络
nntwarn off;
p=p';
% bp网络建立
net=newff(minmax(p),[8,1],{'tansig
相关文章
- 解决ORA-01008: 并非所有变量都已绑定(详解问题所在)
- R语言缺失数据变量选择LASSO回归:Bootstrap重(再)抽样插补和推算
- R语言Lasso回归模型变量选择和糖尿病发展预测模型|附代码数据
- 如何编写yaml格式的Ansible主机清单(inventory)及清单变量使用Demo
- 使用MySQL定义并声明变量(mysql声明变量)
- Oracle中使用变量操作表 实现高效率(oracle变量表)
- MySQL的三种变量类型详解(mysql三种变量类型)
- 解密 MySQL变量定义束缚的谜团(mysql 不能定义变量)
- php中变量及部分适用方法
- 关于javascript回调函数中变量作用域的讨论
- javascript中的变量作用域以及变量提升详细介绍