QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2124|回复: 1
打印 上一主题 下一主题

神经网络Matlab程序

[复制链接]
字体大小: 正常 放大

1

主题

7

听众

39

积分

升级  35.79%

  • TA的每日心情
    开心
    2014-9-26 16:49
  • 签到天数: 30 天

    [LV.5]常住居民I

    自我介绍
    wwqq

    群组2013年国赛赛前培训

    跳转到指定楼层
    1#
    发表于 2013-8-26 15:00 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    % 读入训练数据和测试数据
    Input = [];
    Output = [];
    str = {'Test','Check'};
    Data = textread([str{1},'.txt']);
    %
    读训练数据
    Input = Data(:,1:end-1);
    %
    取数据表的前五列(主从成分)
    Output = Data(:,end);
    %
    取数据表的最后一列(输出值)
    Data = textread([str{2},'.txt']);
    %
    读测试数据
    CheckIn = Data(:,1:end-1);
    %
    取数据表的前五列(主从成分)
    CheckOut = Data(:,end);
    %
    取数据表的最后一列(输出值)
    Input = Input';
    Output = Output';
    CheckIn = CheckIn';
    CheckOut = CheckOut';
    %
    矩阵转置
    [Input,minp,maxp,Output,mint,maxt] = premnmx(Input,Output);
    %
    标准化数据

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %
    神经网络参数设置
    %====
    可以修正处
    Para.Goal = 0.0001;
    %
    网络训练目标误差
    Para.Epochs = 800;
    %
    网络训练代数
    Para.LearnRate = 0.1;
    %
    网络学习速率
    %====
    Para.Show = 5;
    %
    网络训练显示间隔
    Para.InRange = repmat([-1 1],size(Input,1),1);
    %
    网络的输入变量区间
    Para.Neurons = [size(Input,1)*2+1 1];
    %
    网络后两层神经元配置
    Para.TransferFcn= {'logsig' 'purelin'};
    %
    各层的阈值函数
    Para.TrainFcn = 'trainlm';
    %
    网络训练函数赋值
    % traingd :
    梯度下降后向传播法
    % traingda :
    自适应学习速率的梯度下降法
    % traingdm :
    带动量的梯度下降法
    % traingdx :
    %
    带动量,自适应学习速率的梯度下降法
    Para.LearnFcn = 'learngdm';
    %
    网络学习函数
    Para.PerformFcn = 'sse';
    %
    网络的误差函数
    Para.InNum = size(Input,1);
    %
    输入量维数
    Para.IWNum = Para.InNum*Para.Neurons(1);
    %
    输入权重个数
    Para.LWNum = prod(Para.Neurons);
    %
    层权重个数
    Para.BiasNum = sum(Para.Neurons);
    %
    偏置个数
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    Net = newff(Para.InRange,Para.Neurons,Para.TransferFcn,...
    Para.TrainFcn,Para.LearnFcn,Para.PerformFcn);
    %
    建立网络
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    Net.trainParam.show = Para.Show;
    %
    训练显示间隔赋值
    Net.trainParam.goal = Para.Goal;
    %
    训练目标误差赋值
    Net.trainParam.lr = Para.LearnRate;
    %
    网络学习速率赋值
    Net.trainParam.epochs = Para.Epochs;
    %
    训练代数赋值
    Net.trainParam.lr = Para.LearnRate;

    Net.performFcn = Para.PerformFcn;
    %
    误差函数赋值
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %
    调试
    Out1 =sim(Net,Input);
    %
    仿真刚建立的网络
    Sse1 =sse(Output-Out1);
    %
    刚建立的网络误差

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    [Net TR] = train(Net,Input,Output);
    %
    训练网络并返回
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    Out3 =sim(Net,Input);
    %
    对学习训练后的网络仿真
    zan
    转播转播 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    别离        

    0

    主题

    7

    听众

    79

    积分

    升级  77.89%

  • TA的每日心情
    奋斗
    2014-2-6 12:55
  • 签到天数: 18 天

    [LV.4]偶尔看看III

    自我介绍
    菜鸟一个
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2025-8-19 13:11 , Processed in 0.903649 second(s), 59 queries .

    回顶部