【数学建模】华为杯研究生数学建模备赛的一些建议

news2024/12/29 8:46:40

文章目录

  • 前言
  • 一、建模题目介绍
    • 1.1、题目数量
    • 1.2、题目种类
    • 1.3、题目难度
    • 1.4、题目选择
  • 二、笔者的备赛过程
    • 2.1.简单的题目(本科比赛,学科大作业)
    • 2.2.真题
  • 三、编程的备赛建议
    • 3.1.matlab和python的基础语法
    • 3.2.数据预处理
    • 3.3.常用的机器学习算法
    • 3.4.常见的智能优化算法
    • 2.5.画图能力
    • 2.6.统计学分析软件SPSS(可选,强烈建议学,很简单)
    • 2.7.优化软件lingo(可选,前期学了,但笔者比赛没用)


前言

第一次开竞赛的经验贴,如果有写错的地方,还望各位同学理解。

这一篇文章写于比赛结果公布的第二天,也是对上一篇数学建模心得体会的补充
(上一篇心得体会写于比赛完成后的第二天:华为杯心得体会)

首先介绍一下笔者队伍的情况:
1)获奖情况:国二等奖
2)选题:E题 锡林郭勒草原放牧
3)三人基础:差不多都是零基础。笔者赛前会使用python(笔者课题是深度学习)
4)比赛中用到的软件:python3.6(pycharm),matlab2021a,spss。
5)熬夜情况:倒数第二晚三点睡 最后一晚五点睡 其余时候正常作息
在这里插入图片描述

在这里插入图片描述

一、建模题目介绍

1.1、题目数量

2022年共有ABCDEF六个题目,选择其中一个完成即可。
其中每道题目有数量不等的小问。
2个小问,3个小问,4个,5个,6个…都有可能
每个小问里拆开也可能还有小小问

1.2、题目种类

如果简单分类的话,我会把每年的建模题ABCDEF分为下面几类:
1)华为/中兴专项题
这种题目可能会涉及到通信工程,信号处理,芯片等工程问题,感觉这是华为和中兴公司自己做工程时遇到的一些真实问题,然后改编成了数学建模题。
2)“涉及到优化,纯数学性质较强的一些题目
比较典型的:2022年一个题目:切木板

3)大数据题目
这种题目会提供很多excel表格数据,可以大量使用统计学方法,机器学习乃至深度学习的方法来解决问题。
比较经典的:2021年题目D:抗胰腺癌候选药物的优化建模
在这里插入图片描述

但是,一个完整题目有很大可能有一定穿插
大数据的题目中,也可能存在某个小问是优化问题。
优化的题目中,也可能存在某个小问题属于统计学问题

1.3、题目难度

从个人感觉上来说(仅仅是个人感觉)
1)大数据题最简单,报的人也是最多的
2)优化题,纯数学题这些难度位于二者之间
3)华为/专项题最难

1.4、题目选择

笔者最开始知道自己水平不够,再加上本身研究生课题方向涉及到了深度学习,所以只准备了“大数据题”的一些解题方法。

二、笔者的备赛过程

2.1.简单的题目(本科比赛,学科大作业)

在比赛开始前一到两个月,学校带着大家一起练题。题目源自于本科的竞赛题,一些数学专业的作业题,目的就是为了让我们对数学建模有一定的基础储备。

2.2.真题

练习完简单的题目之后,就可以着手准备真题了。
如果时间来不及的话,建议就只把对应题目的方法准备一下就行了。比如笔者知道自己只会选择大数据的题目,所以我就只看大数据的准备方法,尤其是把机器学习的代码从头到尾运行了一遍,保存好。

三、编程的备赛建议

由于笔者本论参赛主要以“大数据题”来准备的,所以备赛这里也主要以大数据题为主。

3.1.matlab和python的基础语法

下面给出一部分建模过程中,用的较多的一些基础语法(个人觉得用的多的,因为篇幅原因只展示一部分)
1)比如说读取CSV,excel文件
具体也可以参考我这篇博客,就是当时准备数学建模的时候写的:python读取CSV文件
样例:

import pandas as pd
file_name='D:/数学建模2022/算法/SVM/iris.csv'
names=['separ-length','separ-width','petal_length','petal_width','class']
data=pd.read_csv(file_name,names=names)
print(data)
print(data.shape)

matlab中也有对应的方法,这里就不单独列出了。
2) 循环,遍历,zip,数组,列表,字典等一系列基础语法,需要熟练
比如for循环

for row in sheet[3:sheet.max_row]:

比如zip函数

list1=[1,2,3]
list2=[4,5,6]
list3=zip(list1,list2)
print(list3)

这些语法用熟练了,比赛时候写代码才不会卡顿,从而节省时间。
怎么去练习呢:
我练习方法是,做真题时会在网上看一些优秀的论文,看看它们的代码是什么样子的,然后将里面不会的语法进行重新编程,熟悉一下。多做几套,基础语法自然而然就牢固了。

3.2.数据预处理

数据预处理包括处理缺失值,离群值等等
这次比赛,数据预处理,我主要用的是matlab2021a中自带的数据预处理包

如何使用它,我这里就不赘述了,大家可以去网上找找教程,非常简单智能,画图也非常好看

3.3.常用的机器学习算法

在网上的视频,博客都有非常详细的教学,如果只考虑会调用,大家花两到三天就可以学会,一点都不难。
笔者的博客里也有一些现成的代码。

3.4.常见的智能优化算法

同理,在B站也有很多教程,会调用,改参数就行。

2.5.画图能力

个人觉得python画出的图像更鲜艳(相比于matlab),所以重点学了如何用python画图。
有一些比较基础的内容需要提前看一下,比如的python的大画布小画布区别这些,以及中文无法正常显示的这些问题

2.6.统计学分析软件SPSS(可选,强烈建议学,很简单)

回归分析,相关性检验,时间序列预测等等,这个软件是非常好用的,而且造图也非常快。

2.7.优化软件lingo(可选,前期学了,但笔者比赛没用)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/174115.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

win10系统新增的几款非常有用的基础快捷键

win就是键盘的这个键winq或wins 打开搜索winw 打开白板、全屏截图wint 配合左右箭头←→,来回切换最小化窗口在任务栏的缩略图winu 设置显示器wini 打开设置winp 屏幕投影、扩展屏幕wina 查看最近消息通知winh 语音输入法wink 查找设备(如:打…

线程池默认大小为CPU核数的2倍

1、前言 有位工作5年的小伙伴问我说,为什么Netty线程池默认大小为CPU核数的2倍,今天,我花2分钟时间给大家专门分享一下我对这个问题的理解。 另外,我花了1个多星期把往期的面试题解析配套文档准备好了,想获取的小伙伴…

Introduction to Multi-Armed Bandits——03 Thompson Sampling[1]

Introduction to Multi-Armed Bandits——03 Thompson Sampling[1] 参考资料 Russo D J, Van Roy B, Kazerouni A, et al. A tutorial on thompson sampling[J]. Foundations and Trends in Machine Learning, 2018, 11(1): 1-96. ts_tutorial 在线学习(MAB)与强化学习(RL)[…

JavaScript基础知识点整理(一)——数据类型、判定、转换、this指向

JavaScript是每一位前端开发者都必备的技能,接下来会分章节文章阐述介绍每一部分的内容。 JavaScript基础整理①1、JavaScript类型2、原始(primitive)类型3、对象(Object)类型4、类型判定4.1、typeof4.2、instanceof4.…

Vue2基础、组件化编程、脚手架、Vuex、Vue路由、UI组件库

尚硅谷张天禹老师讲课 学习视频 1、Vue简介 Vue2中文官网 1.1 Vue 介绍 一套用于构建用户界面的渐进式JavaScript框架 构建用户界面:把数据通过某种办法变成用户界面渐进式:可以自底向上逐层的应用,简单应用只需要一个轻量小巧的核心库&…

SQL--DQL

目录 1、基础查询 1. 查询多个字段 1. 举例 2. 举例 2. 字段设置别名 1. 举例 2. 举例 3. 去除重复记录 1. 举例 2、条件查询 1. 等于&#xff08;&#xff09; 2. 小于&#xff08;<&#xff09; 3. 小于等于&#xff08;<&#xff09; 4. 没有&#xff…

Java设计模式中命令模式是怎么回事/命令模式如何使用,什么场景适用

继续整理记录这段时间来的收获&#xff0c;详细代码可在我的Gitee仓库SpringBoot克隆下载学习使用&#xff01; 6.4 命令模式 6.4.1 定义 将一个请求封装为一个对象&#xff0c;使发出请求的责任和执行请求的责任分隔开&#xff0c;方便了将命令对象进行存储&#xff0c;传递…

激活函数(26个)

最近在学习网络&#xff0c;发现一会这个网络用了这个激活函数&#xff0c;一会那个网络用了那个激活函数&#xff0c;这些激活函数都有什么作用啊&#xff0c;不知道&#xff0c;这里学习一下&#xff0c;整理下来&#xff0c;方便以后查阅。 激活函数&#xff08;26个&#x…

Elasticsearch7.8.0版本高级查询——组合查询文档

目录一、初始化文档数据二、组合查询文档2.1、概述2.2、示例一、初始化文档数据 在 Postman 中&#xff0c;向 ES 服务器发 POST 请求 &#xff1a;http://localhost:9200/user/_doc/1&#xff0c;请求体内容为&#xff1a; {"name":"张三","age"…

ruoyi_cloud==启动

1-下载ruoyi_cloud源码&#xff0c;新建数据库 下载ruoyi_cloud源码&#xff0c; 新建数据库ry-config&#xff0c;并在数据库中执行ruoyi-cloud源码中ry_config_20220929.sql &#xff0c; 即导入若依这个项目的一些交给nacos管理的配置信息&#xff0c;后面nacos会来读取。…

[java/初学者]类的继承

前言 继承是OOP的三大特征之一&#xff0c; 它的作用是在现有类的基础上派生出一个新的类&#xff0c;这个类中继承了现有类的数据属性和行为&#xff0c;并且能进行扩展。 基于这一特性&#xff0c;我们将前者命名为“父类”或者“基类”&#xff0c;而后者则因此命名为“子…

【matplotlib】20.其他图

#【matplotlib】20.其他图 2023.1.20 polt为点线图&#xff0c;后面我们看看plt里面的其他图 20.1 Scatter 散点图 plt.scatter() import matplotlib.pyplot as plt import numpy as npn 1024x np.random.normal(0,1,n) y np.random.normal(0,1,n)# 颜色 这个应该是个tan值…

Java多线程02(生命周期,线程安全synchronized(),锁Lock )

目录1.线程的生命周期2.线程安全和同步代码块synchronized()3.Lock锁1.线程的生命周期 2.线程安全和同步代码块synchronized() synchronized(锁){ 操作共享数据的代码 }//保证线程安全 锁默认打开&#xff0c;有一个线程进去了&#xff0c;锁自动关闭。里面的代码全部执行完毕…

DFS(一)深度优先搜索(Depth First Search)一条道走到黑

目录 一、盒子与扑克牌 二、员工的重要性 三、图像渲染 一、盒子与扑克牌 假如有编号为1~3的3张扑克牌和编号为1~3的3个盒子&#xff0c;现在需要将3张牌分别放到3个盒子中去&#xff0c;且每个盒子只能放 一张牌&#xff0c;一共有多少种不同的放法。 当走到一个盒子面前的…

【Python-Django】医疗辅助平台-数据库设计-day2.1

操作需知&#xff1a; MySQL存储很长500的汉字选用字符类型_mysql字符串太长用什么存_信息时代弄潮儿的博客-CSDN博客 mysql中的Varchar(255)可以放多少个汉字_Ecloss的博客-CSDN博客_varchar255能存多少汉字 MySQL中的Text类型_SlowIsFastLemon的博客-CSDN博客_text类型 …

自制win10 PE usb启动盘教程

拿出祖传的U盘&#xff08;16GB&#xff09;安装老白菜根据教程制作U盘然后在U盘ios文件夹里面放入从系统之家下载的win10 ios文件包然后把U盘插入需要安装的电脑上面重启电脑按住F10打开BIOS设置界面USB启动设置为<启用>将UEFI和传统模式下的&#xff1a;U盘/USB硬盘USB…

【数据结构前言】

前言&#xff1a; 在之前我们已经有了C语言的基础&#xff0c;掌握了一些基本知识过后我们就可以进行其他方面的学习了&#xff0c;继我们学完C语言之后我们将会学习数据结构的相关知识&#xff0c;今天先让大家对其进行初步的认识&#xff01; 目录1. 什么是数据结构&#xff…

SpringCloud(13):分布式配置中心

1 为什么需要分布式配置中心&#xff1f; 在分布式系统中&#xff0c;由于服务数量巨多&#xff0c;为了方便服务配置文件统一管理&#xff0c;所以需要分布式配置中心组件。在Spring Cloud中&#xff0c;有分布式配置中心组件spring cloud confifig &#xff0c;它支持配置服…

增量式PID控制算法及仿真

当执行机构需要的是控制量的增量&#xff08;例如驱动步进电机&#xff09;时&#xff0c;应采用增量式PID控制。根据递推原理可得&#xff1a;增量式PID控制算法:根据增量式PID控制算法&#xff0c;设计了仿真程序&#xff0c;被控对象如下:PID控制参数:kp8&#xff0c;ki 0.1…

普中科技MicroPython基于esp32的基础教程-02

容器类型数据 序列 存放多值的连续内存空间&#xff0c;并且通过编号访问&#xff0c;其实就是类似于C语言的数组&#xff0c;相同数据类型、连续内存空间、使用下标访问 序列索引 支持正负操作&#xff0c;0到N&#xff0c;-N到-1 &#xff0c;但是C语言不支持负操作 个人觉…