MATLAB神经网络工具箱输入输出预处理相关参数设置

本文介绍了在MATLAB神经网络工具箱中如何修改输入输出的预处理参数,包括如何保持原始数据不变和自定义映射范围。通过设置exampleInput和exampleOutput属性,或使用configure函数,可以实现对预处理函数和参数的调整,以适应不同的数据需求。
摘要由CSDN通过智能技术生成

问题由来

毕业论文中用到神经网络了,我用的MATLAB的神经网络工具箱nntoolbox去开发。nntoolbox默认会对输入输出进行映射变换,将输入和输出映射到[-1, 1]的区间中,也就是我们常说的“归一化”。这本身是一件好事,因为如果输入输出范围相差很大的话会对训练效果产生不良影响,并且这个过程是由MATLAB自动完成的,十分方便。
但是,我在使用过程中有两种情况需要对此映射做出一些修改:第一是不希望进行映射变换,就是在某些特殊情况下,我希望输入输出就是我的原始数据;第二是nntoolbox默认把训练集作为映射的定义域,在某些情况下,我希望自己定义映射的定义域。在这两个需求的驱动下,对nntoolbox的神经网络配置进行了一番探究,在这里总结一下。

预处理相关属性

nntoolbox生成的network类对象关于输入输出预处理的属性都存放在其中的inputs和outputs属性中,照例还是生成一个net1作为后续的展示对象。

net1 = feedforwardnet(10);

这里net1依然是一个隐含层具有10个节点的两层BP网络。

预处理函数

首先我们来看一下预处理函数,预处理函数的信息存放在

net1.inputs{
   1, 1}.processFcns

中,回车之后可以看到
在这里插入图片描述
这里表明输入有两个预处理函数,第一个是移除常值,而第二个则是值域映射函数,归一化的主要操作就是由这个mapminmax函数完成。
至于输出的预处理函数,自然也可以通过下面代码来查看。

net1.outputs{
   1, 2}.processFcns

预处理参数

对于每一个预处理函数,它的相关设置参数可以通过

net1
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值