MATLAB神经网络2-配置

无论什么时候要注意输入数据的组织形式,列表示每个样本的维度,而行表示样本的个数

configure

相当于配置网络,输入网络输入与输出的大小、范围、输入输出预处理、初始权重,从而匹配输入与目标数据(标签)

注意:如果没有进行单独configure,那么在调用train时会自动配置。再有上述内容均可单独创建

net = configure(net,x,t) x为输入,t为目标输出
net = configure(net,x) 仅配置输入

net = configure(net,'inputs',x,i) i表x中的索引,表示指定x中的项为输入
net = configure(net,'outputs',t,i)

init

netsum 输入函数

属于layers层函数
相当于带权的输入+偏置(netsum定义的是+操作)

属于输入函数 help nnnetinput

net.layers{1}.netInputFcn='netsum'

dotprod 权重函数

输入权重函数help nnweight
相当于输入与权重的关系定义,输出的是带权输入
表示的是权重与输入(特征)进行乘积运算

learnp

感知器学习规则,
学习规则就是计算权重和偏置的改变
注意:权重和偏置均有学习函数

learnpn

感知器学习规则,消除外点的影响

initzero

感知器初始权重为0

输入输出

一般来讲,大多数网络自动的转换输入和目标的值来使网络更好的进行训练
但是也开始在configure后进行配置

输入数据类型转换

并行输入组织成矩阵,序列输入组织成元胞数组

con2seq和seq2con函数

并行输入与序列输入之间的转换

输入数据的组织

训练集:计算梯度并更新网络权重和偏置
验证集:在训练过程中,验证集的误差被监视。训练初期,训练即的误差减少,验证集的误差也会减小,但是当网络开始过拟合数据后,验证集的误差会上升,对应于验证集误差最小时的权重和偏置会被保存。
测试集:不在训练中使用,而用于比较不同的模型,也被用来绘制训练过程中的误差,
如果测试集达到最小误差时的迭代次数与验证集达到最小误差迭代次数不同时,数据集的划分可能不太好???

组织函数

一般不用人为指定,在train时自动执行

dividerand 默认,随机划分数据
divideblock
divideint
divideind

net.divideFcn
net.divdeParam

输入属性(处理函数)

net.inputs{1}.processFcns %表示第一个输入向量,我觉得这里尽管是元胞数组定义的,但是每个元胞元素都可以是一个由多个样本组成的输入矩阵,

net,inputs{1}.processParmas{i} %处理函数的参数,

输出属性(处理函数)

net.outputs{2}.processFcns
net,outputs{2}.processParmas{i}

注意索引表示的含义

输入处理函数(同理输出处理函数)

下面是默认的函数
一般情况下不需要人为去指定,仿真或训练train时会自动执行

removeconstantrows

剔除无用的信息

mapminmax

将输入和目标归一化到[-1,1]范围

下面是不是默认的函数

mapstd

将输入和目标归一化到0均值单位方法

processpca

对输入向量执行PCA

fixunknows

处理未知输入,与NaN数值有关

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值