Matlab神经网络训练函数train

0 前言

    本文基于MatlabR2009a分享神经网络的训练过程。

1 启动训练

    在Matlab中使用train函数对神经网络进行训练的时候,会弹出以下窗体:

图1.1

     由上图中的Netrual Network项可见,这是一个两层的网络。

2 算法规则

    在Algorithms下面,描述了本神经网络的一些算法。

    Trainning:训练的算法,在本例子中,采用的是BP算法

    Performance:性能检测算法,在本例中,采用的是均方差(mse)

3 进度

    在Progress下面,显示了当前的训练状态。

3.1 Epoch

    训练次数,在其右边显示的是最大的训练次数,可以设定,上面例子中设为300;而进度条中显示的是实际训练的次数,上面例子中实际训练次数为146次。 一般情况下,训练的次数都会达到最大的训练次数才会停止训练(点击Stop Trainning按键的除外)。但是,如果在train参数中,指定了确定样本,则可能会提前停止训练。

3.2 Time

    训练时间,也就是本次训练中,使用的时间

3.3 Performance

    性能指标,本例子中为均方误差(mse)的最大值。精度条中显示的是当前的均方误差;进度条右边显示的是设定的均方误差(如果当前的均方误差小于设定值,则停止训练),这个指标可以用用.trainParam.goal参数设定。

3.4 Gradiengt

    梯度,进度条中显示的当前的梯度值,其右边显示的是设定的梯度值。如果当前的梯度值达到了设定值,则停止训练。

3.5 Validation Checks

    校验检查

4 绘图

    在Plots下面,有3个按键,分别用于绘制当前神经网络的性能图,训练状态和回归分析。分别如下图所示。

图2.1
图2.2
图2.3

参考资料

  • 52
    点赞
  • 247
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
现有训练集数据,1000 × 7,如下: xxxxxxxxxxxxxxxxxxxx 有测试集数据,100 × 7,如下: xxxxxxxxxxxxxxxxxxxx 以上数据分别是从某系统采集的数据,  训练数据集中,分别是采集的数据和标注结果,其中1、2分别表示该系统有无故障;  测试数据集中,分别是采集的数据和真实结果,其中1、2分别表示该系统有无故障; 现在需要使用训练数据集训练BP神经网络,然后用训练好的神经网络对测试数据集进行测试,并与真实结果进行对比,最终分析出神经网络的性能。 % --- Executes on button press in pushbutton6. function pushbutton6_Callback(hObject, eventdata, handles) % hObject handle to pushbutton6 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global output_test inputn_train outputn_train inputn_test ... outputps BPoutput_test xunlian_num Error input_train output_train %创建网络 %获得gui_set中值 num_yinhan=str2num(get(findobj('tag','edit_yinhan'),'string')); TF=get(findobj('tag','transfer'),'string'); %传递函数 valueTF=get(findobj('tag','transfer'),'value'); TF=TF{valueTF}; BTF=get(findobj('tag','train'),'string'); %训练函数 valueBTF=get(findobj('tag','train'),'value'); BTF=BTF{valueBTF}; BLF=get(findobj('tag','learn'),'string'); %学习函数 valueBLF=get(findobj('tag','learn'),'value'); BLF=BLF{valueBLF}; tic;%启动一个定时器 net=newff(inputn_train,outputn_train,num_yinhan,{TF},BTF,BLF); net.trainParam.epochs=str2num(get(findobj('tag','cishu'),'string')); net.trainParam.goal=str2num(get(findobj('tag','goal'),'string')); net.trainParam.lr=str2num(get(findobj('tag','rate'),'string')); net=train(net,inputn_train,outputn_train); an=sim(net,inputn_test); t=toc;%关闭定时器,获取程序运行时间 %网络输出反归一化
MATLAB中,训练神经网络需要使用train函数。通过train函数可以进行神经网络训练,并得到训练后的网络模型和训练记录等信息。具体使用方法如下: [net, tr, Y, E, Pf, Af] = train(net, P, T, Pi, Ai, VV, TV); 其中,各参数的含义如下: 1. net:训练后的BP网络模型; 2. tr:训练记录,包括训练次数(net.epoch)、训练误差性能(net.perf)等; 3. Y:网络输出(S*Q即神经元数*样本数); 4. E:网络误差; 5. Pf:最终输入延迟; 6. Af:最终层延迟; 7. P:输入数据(R*Q即特征数*样本数); 8. T:期望输出(或目标输出,S*Q即神经元数*样本数); 9. Pi:初始输入延迟; 10. Ai:初始层延迟; 11. VV:验证集(结构体); 12. TV:测试集(结构体)。 在训练神经网络之后,可以使用训练好的网络模型进行仿真预测。使用sim函数可以进行仿真预测,具体方法如下: Y = sim(net, X); 其中,net是训练好的BP网络模型,X是输入数据。通过sim函数可以得到网络的输出结果Y。 综上所述,MATLAB中可以使用train函数神经网络进行训练,使用sim函数进行仿真预测。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Matlab训练BP神经网络的一般步骤](https://blog.csdn.net/C_xxy/article/details/126838544)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [Matlab神经网络训练函数train](https://blog.csdn.net/Q1302182594/article/details/8790613)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

OneSea

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

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

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

打赏作者

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

抵扣说明:

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

余额充值