zoukankan      html  css  js  c++  java
  • MCM/ICM 2021 参赛日记

    公布奖项

    H 奖,算是和想象中的差不多吧,大概在前 1/3 的水平,和前面的大佬们比不了,但是作为第一次参赛的选手已经很满意了。

    前期工作

    趁着过年前的这段空闲时间,第一次了参加正式的数模竞赛,由于之前就有对数模竞赛有一定了解,不能说是纯小白,但也是抱着学习的态度参加的。

    很开心能和 YG and XZ 这两位现实中的熟人组队,三个人的技能点点得比较平均,感觉还是很有信心的。

    寒假期间大家都在家里蹲,只能用线上会议交流(还好在过去的一年已经习惯了)。

    YG 作为经验丰富的前辈,给我们录了好几段解析往年美赛摘要的视频;

    同时我们两个大二的也在独立看一些优质的数模论文,当然带数学符号的基本看不下去,插图倒是看得很欢乐。

    由于 OI 只用得到模拟退火,之前没接触过太多智能算法,趁这次备赛的时间了解了一下粒子群蚁群等几个算法,浅尝辄止。

    另外把 Pytorch 中文文档看了一遍(不过后来用的是 sklearn ),基本上这就是我的全部准备。

    Day0

    上 B 站和知乎上看了一些美赛的注意事项,然后开始摸鱼。

    下载好了 C 题的数据集(几百兆的压缩包),知乎上有人预测是医学影像基因图谱啥的,好好笑。

    之后开了赛前电话会议,YG 给写了一个 schedule,交流了一下分工,我们两个纷纷点头。

    Day1

    三个人约好早上七点半一起起床,虽然很艰难,但都没有鸽。

    吃完早饭赛题已经遍布全网了,机翻出来内容还算能看,花了一个小时把 A 到 F 题都看了一遍,对 D 题比较青睐。

    九点多的时候电话会议讨论了一下,初选出了 ABCD 三个题,然后因为 C 题图像数据噪声太多给弃了。

    最后还是觉得 D 这种大数据+运筹学的赛题比较适合我们这种没有什么数学基础的,正好题目也给了数据集,不用全网去找了。

    用 pandas 清洗了一下数据集,对着数字们瞪了半天,先做了一些直观的分析吧。

    剩下的时间就在查资料和初步建模,下了一堆知网的基于机器学习的音乐特征识别的论文,好家伙都是 CNN,并不会用哈哈。

    Day2

    建立第一个模型是 YG 提出的数据降维,把音乐的各个特征参数拟合成了三个关键参数。

    用的都是一些基础方法,但是结合公式和图示体现在论文里还是呈现的效果还是很好的。

    第二个模型就是基于异常点检测算法的 K-Means 聚类,无监督学习后的结果再和原始标签比较。

    下午和晚上都在用各种工具绘各种各样的图,出于强迫症一般 plot 之后还要拿 PS 修半天。

    Day3

    第三个模型是结合年代变迁分析音乐的变革历程,我们用了大量的数据作为支撑搞出了一些有趣的结论。

    写作上也花了不少时间,因为要丝滑地通过模型阐述结论,还要把前后文都解释通,给自己定了比较严苛的要求。

    每次开始时都毫无头绪,抓耳挠腮的,但发现逼着自己思考最终还是能有优质的产出。

    同时 XZ 也开始全面开工(工作到凌晨三点,心疼),英译我们两个写好的大段文案。

    优化模型,制图和写作是交叉进行的,到傍晚的时候想到两天没出门了出去运动了一下。

    Day4

    果然 DDL 是第一生产力,此时的 paper 还是千疮百孔的,于是三个人拼命增增补补删删改改。

    我又 coding 了一些图和表格(matplotlib 好朋友),然后继续写写写。

    这一天除了吃饭都在怼着电脑屏幕,产出了不少东西,有点佩服自己的工作效率。

    由于异地作战,在微信传文件的时候有遇到一些版本控制上的小问题,不过很好得解决了(下次是不是要用 git )。

    YG 最辛苦了,负责最终 paper 的拟合和格式调整,最终是凌晨五点多完成的(那时我们两个刚刚去睡觉了)。

    最后 paper 加上附录的页数刚好到 25 页,看起来很完美了。

    最后给 solutions@comap.com 发了邮件,标志着我们团队四天的建模工作顺利结束。

    Then

    作为一个不是很能熬夜的人,也没习惯迟起床,所以早上只睡到了十点多,

    可能是睡觉前零食吃太多了肚子好涨,象征性地吃了点东西,等待中午开饭。

    YG 中午给我发消息说附录代码块导出的时候出了一点格式上的小问题,我觉得没啥事,反正是附录里的内容。

    但是下午一点多重新看 paper 的时候发现了一个不太妙的事情 ———— 最终 paper 的 Title 没改,仍是模板里面的内容。

    就是这样:

    由于标题实在是太明显,所以就很尴尬了,有点担心评委因此把论文降级了。

    (这个故事告诉我们不要在深夜赶 DDL,容易出纰漏)

    总结

    本文概括了本人第一次参加正式数模竞赛的经历,其实整个过程中还有不少细节,具体成果可以在文末下载我们的 paper。

    1)相比于国赛,我更喜欢美赛的试题风格,既区别了各赛题涉及的学科领域,又给人足够的自由发挥的空间,或许我们的成果确实对现实世界有所帮助。

    2) Matlab 和 Python 做数据分析时各有优势,未来如果想学习AI仿真的话 Matlab 还是要掌握。

    3) 感觉自己的美工水平又进步了,未来如果失业了可以去淘宝开店帮忙制图233。

    4) 整个过程中 YG 耐心和经验给团队的帮助很大,三个人都全力以赴了,后来 YG 也说这是他在数模竞赛写过最好的一篇 paper。

    5) 数模这比赛水分还是大...大部分队伍和我们一样是非专业的,但感觉 O/F 奖是要留给那些真正研究数据科学的人。

    6) 最后要感谢两位队友的关照,整个过程虽然很累但也很开心,撇开奖项不谈,依然收获满满。

    完整论文(修改后)

  • 相关阅读:
    [CareerCup] 11.6 Search a 2D Matrix 搜索一个二维矩阵
    [CareerCup] 11.5 Search Array with Empty Strings 搜索含有空字符串的数组
    [CareerCup] 11.4 Sort the File 文件排序
    [CareerCup] 11.3 Search in Rotated Sorted Array 在旋转有序矩阵中搜索
    VTK 6.3.0 Qt 5.4 MinGW 4.9.1 Configuration 配置
    [CareerCup] 11.2 Sort Anagrams Array 异位词数组排序
    [CareerCup] 11.1 Merge Arrays 合并数组
    Matlab Delete Row or Col 删除矩阵的行或列
    [CareerCup] 10.7 Simplified Search Engine 简单的搜索引擎
    [LeetCode] Nim Game 尼姆游戏
  • 原文地址:https://www.cnblogs.com/zhwer/p/14393070.html
Copyright © 2011-2022 走看看