数学建模经验分享会For浙商大管工学院

数学建模介绍

数学建模与数学

  1. 数学建模和数学没有必然的关系
  2. 一个队里至少有一个数学较好
  3. 注重运筹学、统计学这两门课

数学建模做什么

  • 时间:一般每年9月开学三周内
  • 时长:3天3夜
  • 目标:完成一份排版精美、模型准确、解决了题目规定的问题的PDF文本
  • 组队人数:3人一组,不分先后,其中1人(队长)有权提交报告和支撑材料
  • 竞赛题目:两道偏向理工科类的题目和一道(交叉学科)综合类型的题目。
  • 参赛对象:大学生(专科生2题、本科生3题可选)。
  • 评分标准:满分100分,各项指标的参考分值如右表,不局限于此。
项目 分值
摘要 10
假设和符号说明 5
问题的分析 10
模型的建立 30
模型的求解 20
模型的总结 15
参考文献及附录 5
论文的结构与排版 5

数模生涯

含金量最高的比赛一共4次,珍惜每一次参赛机会

浙江省国赛获奖比例

奖项 累积比例
国一 1.61%
国二 4.20%
省一 10.30%
省二 22.99%
省三 44.15%

全国美赛获奖比例

奖项 累积比例
O:特等奖 0.2%
F:特等奖提名 2.5%
M:一等奖 6.6%
H:二等奖 21.3%
S:成功参与奖 65.8%

为什么选择数学建模?

性价比高

A类竞赛:共同一作

终身受益

小论文、毕业论文

走上工作岗位常常要做的工作,需要多方面的综合知识和能力。

充分考验学生的洞察能力、创造能力、数学语言翻译能力、文字表达能力、综合应用分析能力、联想能力、使用当代科技最新成果的能力等等。

同舟共济的团队精神和协调组织能力,以及诚信意识和自律精神的塑造。

数学建模的方法

经验分享

关于组队

  • 长期磨合的稳定团队能达到更高的高度

  • 主要看擅长什么、会什么,专业名称不重要

  • 长期的学习态度是首位,不要待在舒适区

  • 关系融洽,最好不要有利益冲突

  • 管工学院内组队也行,最好男女生都有

关于文本协作

image-20221120110422469 image-20221120110441821

排版:

​ 模板:好的模板可以让撰写流程简单很多。

​ 在方法和结果差不多的情况下,论文排版更重要(得分更高)。

如何完成一场比赛

信息检索(0-1天)

  1. 去网上搜这道题目,看有没有相关的博客
  2. 去cnki搜这个研究领域,筛选出有用的参考文献
  3. 每隔一段时间去知乎、csdn、B站看看有没有人分享思路,请勿付费购买。
  4. 第二天中午去github逛一逛,看看有没有大佬开源自己的code
  5. 确定好自己的方法后去kaggle上面找一找别人相关方法的notebook看看有没有能用的,代码就可以写快一点。

优化自己的模型(1天-结束)

  1. 对网上的思路嗤之以鼻,并做出自己的不同的模型。
  2. 检查自己的模型有没有问题,审题有没有问题,是否从各个角度完整完成了题目。
  3. 使用各种方法检查自己的结果是不是合理正确,如果错误很低级可能第一轮就被淘汰,不能获奖。
  4. 把自己论文与众不同的点全部展示出来,把摘要写完美。

学习路线:

分工

建议管工学生建模、文本、编程三种技能每人至少掌握两种

建模:

  • 最好系统的学一下建模(清风、老哥等等网上的网课和书)
  • 学好运筹学
  • 学好线性代数
  • 学好统计学

文本

  • 学好Word【Office高级应用必学!】
  • 学好Visio——画图
  • 学好学术英语——美赛文本
  • 学好latex——排版

编程:

  • 大一上:学好python基础(列表、循环、函数、字典)

  • 大一下:

    • 简单机器学习方法:决策树、随机森林、逻辑回归...
    • pyhton数据分析:numpy,pandas,folium,matplotlib,seaborn
  • 大二上:

    • python数据结构(class),魔法函数等…
    • 启发式算法:模拟退火、遗传算法、蚁群算法...
  • 大二下:

    • 深度学习:bp神经网络、LSTM、循环神经网络网络、卷积神经网络网络

机器学习算法

主流的机器学习算法

算法 类型 简介
朴素贝叶斯 分类 贝叶斯分类法是基于贝叶斯定定理的统计学分类方法。它通过预测一个给定的元组属于一个特定类的概率,来进行分类。朴素贝叶斯分类法假定一个属性值在给定类的影响独立于其他属性的——类条件独立性。
决策树 分类 决策树是一种简单但广泛使用的分类器,它通过训练数据构建决策树,对未知的数据进行分类。
SVM 分类 支持向量机把分类问题转化为寻找分类平面的问题,并通过最大化分类边界点距离分类平面的距离来实现分类。
逻辑回归 分类 逻辑回归是用于处理因变量为分类变量的回归问题,常见的是二分类或二项分布问题,也可以处理多分类问题,它实际上是属于一种分类方法。
线性回归 回归 线性回归是处理回归任务最常用的算法之一。该算法的形式十分简单,它期望使用一个超平面拟合数据集(只有两个变量的时候就是一条直线)。
回归树 回归 回归树(决策树的一种)通过将数据集重复分割为不同的分支而实现分层学习,分割的标准是最大化每一次分离的信息增益。这种分支结构让回归树很自然地学习到非线性关系。
K邻近 分类+回归 通过搜索K个最相似的实例(邻居)的整个训练集并总结那些K个实例的输出变量,对新数据点进行预测。
Adaboosting 分类+回归 Adaboost目的就是从训练数据中学习一系列的弱分类器或基本分类器,然后将这些弱分类器组合成一个强分类器。
神经网络 分类+回归 它从信息处理角度对人脑神经元网络进行抽象,建立某种简单模型,按不同的连接方式组成不同的网络。

优化求解算法

主流的启发式算法

1.遗传算法 2.粒子群算法 3.蚁群算法 4.禁忌搜索 5.模拟退火
群体/单体 群体 群体 群体 单体 单体
使用问题范围 离散优化连续优化 连续优化 离散优化 离散优化 离散优化连续优化
新解的产生方式 (选择)交叉变异 速度更新公式产生增量,增量添加到当前解上 依据信息素和城市间距,以概率产生新解 构造邻域,邻域中选取 构造偏移量,偏移量加到当前解上
逐步靠近优解(优解对于新解的产生过程的引导性) 选择过程中的轮盘赌,更优的解保留的几率更大 群体最优解、单体最优解都影响每个解的更新过程 信息素越浓、城市间距越短的路径被选中的概率越大 选用最优解产生领域 更优的解一定接受
劣解概率接受(跳出局部最优) 交叉变异都会产生新解,种群更新时采用轮盘赌,劣解有几率保留 解的更新过程中产生的新解会覆盖群体最优解、单体最优解的周边解空间 信息素不浓、城市间距不短的路径也有概率被选中 只能取和禁忌表中保存的解不相同的解,有几率取到次优解或劣解 Metropolis准则,以概率接受劣解
算法中的随机性 1.初始解2.选择环节某个解是否保留3.交叉环节某个基因是否用于交叉,交叉位置4.变异环节某个基因是否变异,变异位置 1.初始解2.初始速度3.速度更新公式里的随机权重 蚂蚁在某城市选择下一个要去的城市的概率 初始解 1.初始解2.产生的新解3.接受劣解时概率
核心思路(思想内涵)(算法特色) 选择环节保留优解,交叉变异环节产生新解 解的更新同时利用全局最优解和局部最优解信息 反馈机制,且搜索机制深入到具体问题层面 通过禁忌表避开已经搜索到的最优解,迫使算法搜索新的最优解 搜索到的更好的解一定接受,搜索到的更差的解以概率接受

学习方法

理论与实践相结合是最好的学习方法

学习一个算法不仅要理解算法原理,能够画出算法流程图,还要把代码看懂,进一步的能够根据实际问题改写代码。

参加比赛(包括学校集训的模拟赛)是最快的学习方法

参加数学建模80%的知识都来源于比赛,在比赛的过程中学习,要有目标驱动

如何入门

2021校赛B题 完整代码+解析【分类预测】:深度分析|《电信用户流失预测模型》(所有分类模型精度平均得分在0.8以上)_猫有九条命*的博客-CSDN博客

先学习一下EDA(探索性数据分析 怎么画图读数据):Search EDA Notebook | Kaggle

泰塔尼克预测代码【分类预测】:

A Data Science Framework: To Achieve 99% Accuracy | Kaggle

Titanic Top 4% with ensemble modeling | Kaggle

Top 4% Approach with RandomForest | Kaggle

房价预测代码【数值预测】:

House Prices - Advanced Regression Techniques | Kaggle

启发式算法代码:ranxi2001/MCM-Model-Learning: 数学建模算法学习仓库 (github.com)

总结拓展

一些数模建议

  1. 拿奖是在实力的基础上有运气浮动的,如果希望一定获几等奖,那就必须做得超越几等奖。
  2. 如果希望在数学建模上做出很大的成果,比如争取国奖,那就尽量不要成为创业比赛的核心成员。
  3. 如果希望获得国奖,那么一定要走出舒适区瓶颈。
  4. 模拟赛有时间就多参加,即使能够免去集训,自学的效率完全比不上模拟赛。
  5. 暑假、寒假不要安排学车等事情,社会实践可以用数学建模集训替代。
  6. 数学建模是含金量很高的比赛,也是有难度的比赛,但总比ACM简单,打个小比赛也是很加分的。
  7. 多做总结,形成知识库,到比赛的时候直接跑代码。

一些大学建议

  1. 课内课外多做总结,形成知识文档,可以写成博客,推荐博客园平台。

  2. 选择适合自己的赛道做一下内容输出,知乎、微信公众号、小红书、B站。

  3. 学习一些前后端知识,学习一点Linux服务器知识。

  4. 重视学习成绩,上课坐前排。

  5. 可以搭建一个云端 Python jupyter notebook环境,手机平板也能写代码。

    使用云服务器从0开始搭建云端Jupyter Lab|Notebook - 孤飞 - 博客园 (cnblogs.com)

  6. PS、Pr\剪映、Office都要学会,并且学好。

    林清学院PS VIP课程等

    链接:https://pan.baidu.com/s/1KV32hSroAHOWhGjfO9LmAQ?pwd=544e
    提取码:544e

    Adobe(PS Acrobat PR Ai...)最新软件破解版下载:

    Adobe CC 2023 Win/Mac免费版下载 (superso.top)

  7. 学会使用github寻找学习资源,学会使用github做开源项目。

    Github和git使用指南:以PyCharm为例 | 孤飞的博客 (onefly.top)

原创作者:孤飞-博客园

本文禁止以任何形式转载!

原文链接:https://www.cnblogs.com/ranxi169/p/16908102.html

posted @ 2022-11-20 11:26  孤飞  阅读(457)  评论(0编辑  收藏  举报