2020华为杯数学建模比赛总结

2020华为杯数学建模比赛总结

这次比赛我准备了一个月的时间,看了《神经网络43例》还有《matlab数据挖掘》这两本书,比赛想要速成的话,最好通过跑自己的数据集应用,最后结果调优。
在准备中,需要全面的了解算法和算法的应用范围,为以后的题目解决方案做好充足的准备。 本队中我主要负责建模,本人主攻方向是分类预测调优,对BP、遗传、粒子群算法有一定了解,
所以选题的时候选择了B题:关于汽油辛烷值的优化问题,该问题设计数据处理, 变量筛选,辛烷值损失预测,待约束条件的非线性寻优等主要问题,
在建模中,需要充分考虑题目之间的联系,如本题的第二问、第三问、第四问、第五问存在相互关联,由于第五问的要求在处理模型时需要在第二问中筛选的主要操作变量中带入原始数据进行预测产品辛烷值,导致在第二问降维处理中不能使用到传统PCA的模型(PCA降维后的变量解释性不强,无法直接关联到原始数据),因此参考变量筛选的主要方法,选择PLS-VIP的方法,使用专业软件达到求解目的。

顺便吐个槽,粒子群算法在带约束非线性寻优上表现真的不稳定并且算法运行速度贼慢,使用时需要谨慎,在求助数学学院大佬后,得知,该算法的收敛性与个体初始化有很大的关系,当随机初始化的个体中大部分个的适应度函数被罚函数惩罚时,需要小心,算法极易陷入局部最优解,导致算法表现不佳,还有一个很坑的地方,类似的智能算法由于存在训练的过程,导致每一次学习都会有不同的效果,所以随机性很强,模型解释性也比较差,怎么说呢,就是觉得算法在数学上解释的很完美,但是在实际操作上不尽人意,可能也是算法需要改进的地方吧,最后感谢自己的俩位数院大佬队友,在我编程的时候,提供理论支持,像我这种应用型选手,需要搭配理论型选手是最佳搭配,希望能获一个国赛吧。

小结:
1、提前准备
2、建模过程,需要充分读题,考虑题目间的联系
3、最好在固定文件中写比赛文件
4、编程时,需要做好变量内存的预分配,且在不同样本循环中,需要将变量初始化!!!

你可能感兴趣的:(数学建模,数学建模,数据挖掘,神经网络)