参加2018APMCM B赛题 四天复述以及对数模和机器学习赛的个人感想

     首先感谢我的队友——曹学姐以及王学长,让我第一次数模赛圆满结束(没有什么遗憾吧,尽力了!)。其次,感谢田学长(csdn:Font Tian)给我的两份题目分析,以及王学长(csdn:那岐)对我算法的指导。

     这次亚太赛,个人认为AB两题给的数据集都有问题。但是A总体而言,只要有思路,A赛题就能作出,而且并不复杂。参考神经网络或者是此处博客:http://blog.sina.com.cn/s/articlelist_5975650474_0_1.html   (如果打数模赛都可以关注这个老师一下!)此处不多复述。再讲讲B赛题。

     B赛题是人才方面的问题。而我从一进大学开始,就开始着手人才类的研究(因为当初猎场火爆以及抢人才大战的社会舆论火爆),并且我在暑期做过人才类实地调研。故看到赛题就拟定是B。后来发现,B题和我当初的调研有非常大的不同。B赛题更多的是对岗位应聘人的学历不同以及时间序列来给的数据集。有三个不同的变量:1,行业(48个可用,有一个行业是空);2,时间(2015到2018,还有一份不懂为什么用的2011数据集,我们没有放入使用是一个缺点。);3,应聘人学历(非常大的问题就是,总需求人数和后面所有学历相加人的人数不对等)。这样是我所说,赛题有问题。

    刚开始那天(星期四),我们因上午全有课,改为下午讨论,上午各自思考赛题。然后我们在下午做的过程中,我们选择先清洗数据。这里因为我以前是先接触的机器学习后学的数模算法,故我对数据的质量要求非常高,花了太多太多时间,导致了后面的一些问题(时间消耗严重,和队友上课时间冲突,沟通不够等等)然后做好数据清洗,时间已经比较晚了。我们开语音聊天后,先选择多元线性回归。但是结果并不理想(我并不知道队友的做法是如何,沟通不够,因为并不是我做而后面队友有事情,好像放弃了导致第一题我到第三题才有完整思路。)然后我们探讨了SVM的可行性,发现也不行。第一天陷入困境。我感到非常的焦躁,感觉自己什么都没做,拖累了他们。但是队友还是给于鼓励。第一天我们的进度,是第一题圈定算法和第二题算法设想。

    第二天,我早上一直在搜索算法(这里发现是不能这样做的,而应该去搜索文献资料,因为后面了解到,有类似现成文章,但是时间已经来不及了。后悔!)我认为第二题可以用时间序列去分析。然后告诉了队友我的想法后,他表示肯定,然后让我先做。在这个时间我突然回看第一题,发现如果用聚类降维思路,划分出行业规则再拟合回归线,可能有奇效。然后,下午,我找了kmeans和pca代码,降维度后,又陷入困境,因为不知道如何去拟合回归线(不知道目标是什么,约束条件是什么)到晚上,我突然感觉,如果拟合总需求人数,将后面学历背景作为参数,拟合,反向求出行业人才学历结构。(因为机器学习做多了,思想上一直是特征工程,但其实并不是。后面论述数模和机器学习区别)。发现利用分类后,拟合回归的参数比较理想。然后确定,第一题思路——聚类后回归。而后回到第二题,因为先前思路是时间序列,我们在第一天尝试了BP神经网络后,发现结果不理想,后重新找算法。我当初看到田学长分析,可以借助ARIMA模型,后找资料(http://www.10tiao.com/html/284/201608/2652390079/1.html  类似文章)发现拟合结果,呈现下降趋势后平缓。怀疑代码问题,但是时间来不及了(我并么有事先了解时间序列模型。因为机器学习掌握了RNN对这些没有关注)

    第三天,第二题,白天没有丝毫进度,自暴自弃打王者去了。晚上观看博客,发现灰度预测模型,然后找了一篇matlab代码,直接输入36个时许后,被告知精度等级不够,改用年为单位输入,发现精度等级一级,果断使用,跑出人数,虽然个人感觉非常扯淡。但是时间来不及多想了。期间队友做了48个行业人数需求图,9个学历需求图。我将此作为依据,逐个分析,然后圈定沿海二线城市(珠三角,长三角),根据IT业发达,手工业没人的情况,圈定杭州。

   第四天,第四题和第五题思考已经力不从心了。因为队友临时有事,不再参与,我就直接套用了我在暑期做的人才吸引力模型以及当初做的数据集。后加班加点,和另一队友熬夜写论文。(是的,没错!一个晚上,写好论文提交。估计成绩很差。)

  感想以及对数模和机器学习赛的认知:

1.要有耐心。数模赛不是一个长期比赛的东西。他不像机器学习赛,不需要多少可靠的精度要求。所以他的满足感是缺少的。而且持续时间短,没有多少时间给你细致的去思考。最重要的是,他的分析是多变的,可用模型是多量的,没有正确答案。但是机器学习赛,只需要会python,了解keras,sklearn和pandas三个库就足够应付所有的比赛了。但是数模,你需要了解10多个不同模型。总体而言,机器学习赛更多偏向是统计模型,而数模是运筹模型。是两个不对等的比赛。风格类似,其思维大致相同,都是为了解决某个问题去找到优化。所以需要掌握多个模型,以便随时更换。

2.是最重要的,要能坚持!我看到很多人放弃比赛了。数模赛更多的是对思维的培养。如何找到一个可变量,一个自变量;如果找到一个优化点。是非常主观的。但是机器学习赛是客观的,他是冷冰冰的他只管你精度,不管其模型不管其分析思维不管其文案(不用写论文,适合所有年龄段的学生)。但是数模不仅要知其然还要知其所以然,要能论述要了解这个模型的好处在哪,要指出来。所以,数模获奖,有一大部分是论文写的好。这样侧面突出机器学习的客观和获奖的难度性(权威性!只有topn,但它是小众!)数模赛水平参差不齐,很多人是混的,而且有老师暗中帮助,也是我最唾弃的一点。但是没办法,真香。所以只要坚持写完,基本上数模都能获奖,虽然很水,但也可以有满足。

3.如果你对数据分析感兴趣那就研究机器学习赛吧。如果是为了获奖,那就参与数模。说句大实话,数模只是将一些论文改掉,就是参赛了。他其实可以完全不懂数学,可以完全不懂代码,只要能语文建模,天花乱坠,那就能获奖。因为分析,可能是非常直观的,可能就几句话而已但是要写成千把来的字。。。(学校老师的参与就像是外挂,而学校、老师为了荣誉,作出如此不公平的选择真是)

以上是我个人的感觉,不喜勿喷

猜你喜欢

转载自blog.csdn.net/qq_36142114/article/details/84555485