美文网首页我爱编程
2018华为软件精英挑战赛总结

2018华为软件精英挑战赛总结

作者: 采风JS | 来源:发表于2018-04-17 11:05 被阅读0次
    智能世界云动

        又是一年花开。2018年华为软件精英挑战赛,在荡漾的春季开始了。17年的今天,应该还沉浸在惊喜之中,今天或许有点小遗憾,仍然倍感幸运,简单聊一聊这个春天的美好故事。

    一、赛题解读

        给定历史数据,预测一个时段的虚拟机请求数量。预测完成后,有效将虚拟机部署在物理服务器上。

        前者为时间序列预测问题。给定历史数据,学习其中的历史趋势,季节性,周期性等,预测在未来时间内的量值。常用的模型有移动平均(MA),自回归模型(AR),自回归滑动平均模型(ARMA),指数平滑(一次/二次/三次等),Garch等;

    我在哪里见过你

        后者为二维背包问题。虚拟机有不同的规格,CPU和MEM规格不同,给定的物理服务器的规格相同,有CPU和MEM的限制,在满足CPU和MEM的前提下,优化其中一个维度;

        总体来说,2017年是一个组合优化问题,2018年是机器学习加优化问题,或许由于机器学习的原因,有了一定的门槛,不知为什么感觉身边的参与人员没有上一年多,或许是错觉吧!

    二、数据解读

        初赛中提供的历史数据为2015年1月到2015年5月,同时还有2015年12月到2016年1月。主要有以下几个特点:

    (1)数据量小。15种规格的虚拟机,一共不到3000行数据,且前期多数为0值;

    (2)数据特征小。每条历史数据有用信息仅包括时间和请求规格,训练数据特征较小;

    (3)异常值复杂。异常值的出现完全随机,主要影响对象包括周末,节假日,大促活动,企业临时需求等,由此产生的异常值,数据分布无特征,且异常值范围特征小;

    给你一份蒲公英的约定

    初赛阶段,个人认为高分的关键在于异常值的处理,从历史数据能看到虚拟机的请求量呈上升趋势,且有不小波动性,后期多数采用二次指数平滑来完成,异常值的处理在指数平滑中也是占有重要比重,一种做法是当前值超过前面一周平均值的固定倍数被视为异常值,然后取其平均来替换。异常值如何处理,关乎到算法学习到的规律,确实是一门哲学课。

    三、参赛感受

        最大的感受是语言Python的选择,这是Python第一次作为参赛语言加入,或许是顺应云计算智能时代的需要。Python作为程序员的小语言,已经是毋庸置疑了。

        程序员的技能储备?作为一名后端开发人员,很有必要储备一定的机器学习和深度学习知识。可能很多同学因为对于Python和机器学习零储备,所以上来第一关就难以下手。明显感受到,时代对于一个合格程序员的需求是,一专多强。在自己固有领域要有自己的独特,在其他多方面要有一定程度的认知,快速变革的时代,自我提高是不变的主旋律。于我而言,做好后端逻辑是专,参与大数据处理和机器学习算法是强,前路慢慢,且行且珍惜。

    没有你的午后我也懂得自处

        其实还有一个强烈的感受是代码风格。良好的代码注释,这应该是程序员必备的,别人阅读代码的难易程度,也是考量代码优秀与否的一个方面。扎实的算法功底,找工作时大家疯狂刷题,找完工作,全部扔掉,刷题的本质是在于学习简洁有力的代码,有效代码效率,坚持刷题,锻炼好思路。

        团队管理的难度要优于技术实现难度。合作共赢的时代,技术管理尤为重要。技术的实现,方案的实现优先级,后期的检查,环环相扣。

        感谢队友的支持,感谢一个多月的努力,本命年,希望一切不要太坏。

        忽然想起一个故事,山里面有一个老和尚和一个小和尚。小和尚问老和尚,“师傅,得道之前你每天做什么呢?”,老和尚回答到,“砍柴,种菜,浇水”。小和尚又问到,“那得道之后呢?”,老和尚笑着答道,“砍柴,种菜,浇水”,小和尚不解的问,“有什么区别呢?”,老和尚笑着到,“得道前,我砍柴的时候想着种菜,种菜的时候想着浇水,浇水的时候想着砍柴,得道后呢,砍柴的时候只是砍柴,种菜的时候只是种菜,浇水的时候只是浇水。”

        一步步做好每一天,或许就是属于自己的胜利。

    你在看我吗

    相关文章

      网友评论

        本文标题:2018华为软件精英挑战赛总结

        本文链接:https://www.haomeiwen.com/subject/xvltkftx.html