MATLAB训练神经网络小结
创始人
2024-05-27 17:44:55
0

MATLAB训练神经网络小结

  • 1、一个典型例子
    • 1.1 可视化神经网络
    • 1.2 指定某一层的激活函数
    • 1.3 训练神经网络时使用L1正则化
    • 1.4返回训练过程中的参数
    • 1.5 查看训练好的权重系数
    • 1.6 如何使用早停法来防止过拟合

1、一个典型例子

例如输入特征为10维,想训练一个10x20x10x1的三层ANN,代码可以这样写:

% 直接生成两个隐藏层即可
net=feedforwardnet([20,10]);
% 定义好输入和输出数组X,Y
net=train(net,X,Y)
% 这里要注意的一个问题,例如X原始定义的是[10000,10],Y定义的是[10000,1],
% 因为我们都喜欢定义列向量,这个时候需要改变代码
net=train(net,X',Y'); % 需要将X和Y进行转置

1.1 可视化神经网络

% 这个很简单
view(net)

1.2 指定某一层的激活函数

注意,这里必须设置的是每层统一的激活函数。不可能设置每个神经元不同的激活函数。

% 例如将最后一层激活函数设置为线性函数
net.layers{end}.transferFcn='purelin';

注意,matlab中很多激活函数与普通激活函数命令不一样,例如tanh激活函数在matlab中为tansig,这个问题需要额外注意。

1.3 训练神经网络时使用L1正则化

net.trainParam.regularization.type='L1'

1.4返回训练过程中的参数

[net,tr]=train(net,X,Y);
% tr中包含每轮训练epoch过程中的训练集、验证集、测试集误差变化

1.5 查看训练好的权重系数

net.Iw % 由输入权重值组成的 numLayers x numInputs 元胞数组
net.Lw % 由层权重值组成的numLayers x numLayers 元胞数组
net.b % 由偏置值组成的numLayers x 1 元胞数组

1.6 如何使用早停法来防止过拟合

net.trainParam.max_fail=10 % 指定最大连续失败次数,如果网络连续10次验证集没有改善,
% 则停止训练

相关内容

热门资讯

解读|2026年多省调整公务员... 进入2026年以来,全国已有湖南、湖北、河南、安徽、海南、福建等省发布考试录用公务员公告,公共科目笔...
从惊艳问世到被多款APP禁用 ... 央广网北京1月17日消息(记者张鸿昊)据中央广播电视总台经济之声《天下财经》报道,近期,一批搭载AI...
云南自贸试验区15项制度创新成... 记者近日从省商务厅(省自贸办)获悉,云南自贸试验区深入贯彻落实党中央、国务院决策部署,积极开展首创性...
以制度完善激活监督效能 以制度完善激活监督效能 ——专访二级大检察官,贵州省检察院党组书记、检察长王永金 贵州省检察院党组...
EUDR法规合规服务:如何选择... 在当今的商业环境中,EUDR法规的重要性日益凸显,众多企业都在寻求专业的EUDR法规合规服务。那么,...
【福贡大队】马吉所扎实开展矛盾... 为深入践行新时代“枫桥经验”,筑牢边境辖区安全稳定屏障,连日来,马吉边境派出所聚焦边境地区社情复杂、...
厄瓜多尔部署约1万名军人打击犯... 当地时间15日,厄瓜多尔国防部发布紧急通告,宣布在瓜亚斯、洛斯里奥斯和马纳比三省启动名为“全面进攻”...
【理响中国】更加科学有效地把权... 【理响中国】更加科学有效地把权力关进制度笼子 权力是一把“双刃剑”,依法依规行使可以造福人民,违法...
吕梁市创新“社区矫正+人民调解... 如何帮助社区矫正对象卸下思想包袱、顺利回归社会,是基层社会治理的一道民生考题。近年来,我市积极探索基...
EUDR法规咨询公司推荐及违反... 在当今严格的法规环境下,EUDR法规对于相关企业的重要性日益凸显。了解违反EUDR法规的后果以及选择...