数学建模简单入门
一、 分工
3人,1人论文,1人代码主力,1人论文+代码(前一半时间主代码,后一半时间主论文)
Tips: 不养闲人,论文必须要在对代码和题目极其了解并且能跟上队友思路的情况下才能写好,混子是写不来的。
二、时间安排
day1 18:00
day5 8:00或9:00,一般day4晚上就完成
第一天拿到题目,一般是审题,选题,第一天的任务就是把题目定下来
不要急着做题,中途发现做不出来换题,非常浪费时间。
论文千万不要憋到最后写。一般是定下来题目就可以开始写题目概述之类的部分了
一般除非三个人实力都非常强,否则至少熬夜1天
一般选在最后一晚通宵搞论文,因为其他时间通宵会影响第二天效率
三、审题
题目一般分为
- 数据分析
- cv题(图像处理)
- 物理题
- 规划题
- …
一般来说,最多选的都是数据分析题。但是如果对其它几类问题更为擅长,也可以选择。
四、做题技巧
4.0 数据预处理
数据预处理相当重要,甚至可能比后续方法的选择更重要。首先拿到数据,先要了解每一列的含义。不同列的数据有不同含义。
比如有的列,空可能为缺失值。但有的列,可能空代表0。
有的列0,1可能代表数值,有的列0,1,2…可能代表颜色种类等类别信息。
对于缺失值,一般要做处理。通常处理方式如下:
- 填0
- 平均值填充
- 众数填充
- 直接删去
有些列,数量级不一样。比如前一列为类似2.7这样的小数,而后一类数据则以百万为单位。
这样的数据一般要做归一化处理。
对于类别变量,比如《多、少》、《红色、蓝色》、《A类、B类、C类》等等
一般要使用**独热向量(One Hot)**进行编码,才能运用到模型中。
对于要预测的内容,一般要与其它列做关联性分析。比如要预测明天天气质量指数,我们手头有温度、湿度、经纬度、以及一氧化碳、二氧化碳等等数十种指标,这个时候我们一般要筛选部分指标,而筛选的依据就是这些指标与我们要预测的内容之间的关联程度。关联性分析一般有以下方法:
- 皮尔逊系数、
- 斯皮尔曼系数、
- 卡方检验
- …
有些方法只适用于定量数据的关联性分析,不能用于定性数据,所以需要了解该方法后再进行正确选择。
也可以使用PCA降维的方式,使用已有特征构建新特征。
如果有图像题(CV),就要使用数据增强等方式进行预处理。
4.1 回归问题
回归问题一般题干中是让你对某些指标进行精确值的预测等等,也有可能表达的比较隐晦。
比如降雨量的预测、天气的预测、动物数量的预测、温度的预测等等。
一般分为传统机器学习、深度学习以及线性插值三种方式。
线性插值:
- 最小二乘法
- 插值拟合
- 其它拟合方式
机器学习
- 岭回归
- 决策树回归(回归树)
- knn回归
- xgboost回归
- 其它回归模型
深度学习
- bp神经网络
- 卷积神经网络(CNN)
- 循环神经网络(RNN、LSTM、GRU)
- 其它神经网络
一般可以使用寻优算法进行参数寻优(调节超参数),常用算法:
- 遗传算法
- 模拟退火算法
- 其他优化算法
正确率视题目而定,在数据量大的情况下,至少能达到95%以上算优。
数据量小,就选择传统插值回归;数据量大,深度学习和机器学习模型的效果就会好一些。
4.2 分类问题
一般是题目中问你一些定性的问题,比如未来是否会下雨、关键词《是否、什么颜色、什么类别》等等。有时会比较隐晦。
常用的分类方法:
- kmeans
- knn
- 决策树
- 神经网络(CNN、RNN、BP)
- logistic
- 支持向量机
- XGBOOST
- 其它分类模型
一般可以使用寻优算法进行参数寻优(调节超参数),常用算法:
- 遗传算法
- 模拟退火算法
- 其他优化算法
正确率视题目而定,在数据量大的情况下,至少能达到95%以上算优。
数据量小,就选择传统插值回归;数据量大,深度学习和机器学习模型的效果就会好一些。
4.3 评价问题
一般使用Topsis,或查阅文献中相关权威评价方式,切忌主观定义评价法。你认为的好不一定是好。
4.4 优化问题
不太了解,一般不是我做,链接↓
数学建模 优化问题——数学规划_数学建模优化问题_斌狗的博客-CSDN博客
4.5 其它问题
见招拆招。比如灵敏性分析,一般要得较好的奖项必须要做,通常通过向数据集中添加噪音等方式进行实现。
又比如2020年的供货商问题,可以使用优化问题的思路。
这种一般是经验来看了,没什么太好的方法,也可以在建模时添加一些发答案的群,把他们的答案当做参考,但是不要抄,一般不靠谱。