【matlab神经网络30个案例分析及源码】 案例1 BP神经网络的数据分类-语音特征信号分类...
这些案例源码里藏着大量教科书不会讲的实战技巧,比如遗传算法优化BP网络时,交叉概率设置超过0.7就容易早熟收敛;最近在整理神经网络实战项目的时候,翻出了几个特别有意思的案例。比如数据预处理时有个特别容易被忽视的细节——特征向量的归一化处理。用parfor循环在服务器上并行跑了上百组参数,发现最优值会随数据季节性波动变化,季度数据建议0.2,月度数据0.35左右效果更佳。最近在复现Adaboost增
【matlab神经网络30个案例分析及源码】 案例1 BP神经网络的数据分类-语音特征信号分类 案例2 BP神经网络的非线性系统建模-非线性函数拟合 案例3 遗传算法优化BP神经网络-非线性函数拟合 案例4 神经网络遗传算法函数极值寻优-非线性函数极值 案例5 基于BP_Adaboost的强分类器设计-公司财务预警建模 案例6 PID神经元网络解耦控制算法_多变量系统控制 案例7 RBF网络的回归-非线性函数回归的实现 案例8 GRNN的数据预测-基于广义回归神经网络货运量预测 案例9 离散Hopfield神经网络的联想记忆—数字识别 案例10 离散Hopfield神经网络的分类——高校科研能力评价 案例11 连续Hopfield神经网络的优化-旅行商问题优化计算 案例12 SVM神经网络的数据分类预测-葡萄酒种类识别 ……………… 案例28 灰色神经网络的预测算法—订单需求预测 案例29 kohonen网络的聚类算法—网络入侵聚类 需要的小伙伴可以加好友或直接联系。
最近在整理神经网络实战项目的时候,翻出了几个特别有意思的案例。就拿语音特征分类这个事来说,用BP网络处理其实藏着不少门道。比如数据预处理时有个特别容易被忽视的细节——特征向量的归一化处理。直接上代码片段:
% 语音特征信号数据归一化
[inputn,inputps] = mapminmax(input_train);
[outputn,outputps] = mapminmax(output_train);
这个mapminmax函数看起来平平无奇,实际上决定了后续训练能不能顺利收敛。有次偷懒没做归一化,结果网络迭代了200次loss还在蹦迪,加上这步之后20个epoch就老实了。
说到非线性拟合,RBF网络和BP网络的表现差异很有意思。在MATLAB里用newrb创建RBF网络时,扩展速度参数(spread)的设定是个玄学:
% 创建RBF神经网络
net = newrb(inputn, outputn, 0.001, 0.95, 50, 5);
这个0.95的spread值调起来特别魔性,太大导致过平滑,太小又容易过拟合。实测发现当输入维度较高时,把spread值设置成输入变量标准差的1.5倍左右效果比较稳定。
Hopfield网络做数字识别那个案例更有意思。权值矩阵的计算看似简单:
% 创建标准数字模板
T = [1 1 1 1 1 1 -1 -1 -1 1;...];
% 计算权值矩阵
W = T' * T - size(T,2)*eye(10);
但实际测试时发现对噪声的容忍度比想象中脆弱。有次故意在测试数据里加了15%的随机噪声,结果网络开始把6认成8。后来在模板设计阶段加入冗余模式才解决,这暴露出Hopfield网络存储容量有限的老毛病。
【matlab神经网络30个案例分析及源码】 案例1 BP神经网络的数据分类-语音特征信号分类 案例2 BP神经网络的非线性系统建模-非线性函数拟合 案例3 遗传算法优化BP神经网络-非线性函数拟合 案例4 神经网络遗传算法函数极值寻优-非线性函数极值 案例5 基于BP_Adaboost的强分类器设计-公司财务预警建模 案例6 PID神经元网络解耦控制算法_多变量系统控制 案例7 RBF网络的回归-非线性函数回归的实现 案例8 GRNN的数据预测-基于广义回归神经网络货运量预测 案例9 离散Hopfield神经网络的联想记忆—数字识别 案例10 离散Hopfield神经网络的分类——高校科研能力评价 案例11 连续Hopfield神经网络的优化-旅行商问题优化计算 案例12 SVM神经网络的数据分类预测-葡萄酒种类识别 ……………… 案例28 灰色神经网络的预测算法—订单需求预测 案例29 kohonen网络的聚类算法—网络入侵聚类 需要的小伙伴可以加好友或直接联系。
最近在复现Adaboost增强BP网络时踩了个坑:boost循环中如果没及时清除旧网络参数,会导致各弱分类器相关性过高。正确的操作应该是:
for i=1:20
net = newff(...);
% 必须重新初始化权重
net = init(net);
% 训练当前网络
...
end
这种细节在论文里往往一笔带过,但实操时漏掉这步直接导致集成效果还不如单个网络。
货运量预测那个GRNN案例用到了概率神经网络,核心就一句:
net = newgrnn(inputn, outputn, 0.25);
但这个光滑因子0.25的设定其实需要做参数扫描。用parfor循环在服务器上并行跑了上百组参数,发现最优值会随数据季节性波动变化,季度数据建议0.2,月度数据0.35左右效果更佳。
这些案例源码里藏着大量教科书不会讲的实战技巧,比如遗传算法优化BP网络时,交叉概率设置超过0.7就容易早熟收敛;SVM分类葡萄酒时RBF核的gamma参数用默认值准确率直接掉10个点。每个案例都像开盲盒,拆开既有惊喜也可能被bug暴击。需要源码的老铁直接私,备注下具体案例编号免得发错文件。

更多推荐


所有评论(0)