当前位置:   article > 正文

BP_Adaboost设计公司账务预警【神经网络二十四】_input_train=t1'; output_train=v1'; input_test=t2';

input_train=t1'; output_train=v1'; input_test=t2'; output_test=v2';

对于案例来说,共有1350组公司财务状态数据,每组数据的输入为10维,代表11.3.3节提及的10个指标,输出为1维,代表公司的财务状态,取值为1时表示财务状况良好,取值为-1时表示财务出现问题。从中随机选取1000组数据作为训练数据,350组数据作为测试数据。根据数据维数,采用的BP神经网络结构为“10-6-1”,共训练生成10个BP神经网络弱分类器,最后用10个弱分类器组成强分类器对公司财务状况进行分类。
使用MATLAB实现BP_Adaboost模型的预警系统的步骤如下。
(1)选择数据集。从样本空间中选择训练样本和测试样本,并对测试样本分配权重,其中训练数据和测试数据存储在data文件中,input_train、output_train分别为训练输入数据和输出数据,input_test、output_test分别为测试输入数据和输出数据。
(2)弱分类器学习分类。把BP神经网络看作弱分类器,对训练后的样本进行分类,并且根据训练样本的分类结果调整权重,最终得出一系列弱分类器及其权重。
(3)强分类器分类和结果统计。由10组弱分类器的BP神经网络组成强分类器对样本进行分类,并统计分类误差。
实现的MATLAB代码如下:

>> clear all;
load data input_train output_train input_test output_test  %载入数据
%%权重初始化
[mm,nn]=size(input_train);
D(1,:)=ones(1,nn)/nn;
%%弱分类器分类
K=10;
for i=1:K    
    %训练样本归一化
    [inputn,inputps]=mapminmax(input_train);
    [outputn,outputps]=mapminmax(output_train);
    error(i)=0;    
    %构建BP神经网络
    net=newff(inputn,outputn,6);
    net.trainParam.epochs=5;
    net.trainParam.lr=0.1;
    net.trainParam.goal=0.00004;    
    %训练BP神经网络
    net=train(net,inputn,outputn);    
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

在这里插入图片描述
实现的MATLAB代码如下:

>> clear all;
load data1 input output  %载入数据
%%权重初始化
k=rand(1,2000);
[m,n]=sort(k);
%训练样本
input_train=input(n(1:1900),:)';
output_train=output(n(1:1900),:)';
%测试样本
input_test=input(n(1901:2000),:)';
output_test=output(n(1901:2000),:)';
%样本权重
[mm,nn]=size(input_train);
D(1,:)=ones(1,nn)/nn;
%训练样本归一化
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/105676
推荐阅读
相关标签
  

闽ICP备14008679号