声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1118|回复: 0

[综合讨论] 如何对训练后的神经网络进行最优化处理??

[复制链接]
发表于 2006-9-27 21:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
各位大侠:
     如何对下面例子中得到的网络进行最优化处理,求得使t达到最小值的P值。
     急需指教!! 感谢非常!!
输入矢量为   
             p =[-1 -2 3  1
                 -1  1 5 -3]
            目标矢量为   t = [-1 -1 1 1]
            解:本例的 MATLAB 程序如下:

            close all
            clear
            echo on
            clc
            % NEWFF——生成一个新的前向神经网络
            % TRAIN——对 BP 神经网络进行训练
            % SIM——对 BP 神经网络进行仿真
            pause        
            %  敲任意键开始
            clc
            %  定义训练样本
            % P 为输入矢量
            P=[-1,  -2,    3,    1;       -1,    1,    5,  -3];
            % T 为目标矢量
            T=[-1, -1, 1, 1];
            pause;
            clc
            %  创建一个新的前向神经网络
            net=newff(minmax(P),[3,1],{'tansig','purelin'},'traingdm')
            %  当前输入层权值和阈值
            inputWeights=net.IW{1,1}
            inputbias=net.b{1}
            %  当前网络层权值和阈值
            layerWeights=net.LW{2,1}
            layerbias=net.b{2}
            pause
            clc
            %  设置训练参数
            net.trainParam.show = 50;
            net.trainParam.lr = 0.05;
            net.trainParam.mc = 0.9;
            net.trainParam.epochs = 1000;
            net.trainParam.goal = 1e-3;
            pause
            clc
            %  调用 TRAINGDM 算法训练 BP 网络
            [net,tr]=train(net,P,T);
            pause
            clc
            %  对 BP 网络进行仿真
            A = sim(net,P)
            %  计算仿真误差
            E = T - A
            MSE=mse(E)
            pause
            clc
            echo off
回复
分享到:

使用道具 举报

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-12 18:09 , Processed in 0.059918 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表