由于对于机器学习相关方面的兴趣以及自身专业的原因,在暑假中我参加了Datawhale联合科大讯飞举办的AI夏令营。老实说,在一开始听到要参加科大讯飞平台举办的AI开发者大赛时,我的反应是:”我打开发者大赛?真的假的?“
但是在看到了Datawhale团队为我们准备的飞书指引时,我便知道是我多虑了。
以下便是我参加夏令营的一些收获。
Task 1
在一开始,因为对于这一方面的了解十分有限(可以说是玩完完全全的小白),我便跟着Datawhale的飞书指引跑了一遍baseline,虽然很快地得到了一个submit,但是说实话,根本没有搞明白发生了什么。
但随着我往下继续学习,了解到了时间序列预测模型及相关应用,简单地了解了许多解决时间序列预测问题的模型:
虽然依旧有点懵(因为之前对于这一方面只有非常粗浅地认识,一下子出现的许多专有名词让我理解起来有些许的困难),但是这并不是问题,之后的时间可以慢慢地进行学习。
紧接着,Datawhale飞书之后的内容为我解释了我运行的代码到底做了什么。(虽然在代码里的解析其实已经很详细了)
不过我在本地运行时发现了编译器提醒我numpy库并没有被用到,我猜这个库应该是用来进行后续提升所用。
总的来说,Task 1的学习为我打开了一扇新世界大门,有着许多新的知识等待着我去了解,期待着下一部分的学习。
Task 2
在这一阶段的学习中,我跟着手册指引了解并学习了基础的机器学习模型lightgbm:
在学习了数据分析与特征工程后,对于Task 1中的均值我也有了一些新的认识,主要可以用下面的一张图来说明:
这一张图可以说明为什么Task 1中可以吗用前十天的均值来预测下一次的target,具体解释就是,用一条直线来拟合这一条折线,虽然拟合效果比较差,但是确实可以。
同时,结合着一些数学知识我也对特征工程有所理解,将数据以时间为分割后考虑每一小段时间的一些特征:最大值、最小值、均值、趋势(导数)……
这里我也联想到了傅里叶变换,因为老师讲过可以把一般的函数看作是周期无限大的函数。(但是这样似乎容易出现过拟合。。)
对于原理有了一定的基础认知后,我便试着运行了飞书中的代码,开始时也遇到了许多人都碰到的问题:
不过在Datawhale助教们的帮助下修改了几个报错后便顺利的运行:
总的来说,经过Task 2的学习后我知道了一般的模型训练所需要的过程,也明白了如何进行简单地数据处理和特征工程,有了一些提分的想法,但是实践起来有些难度,期待Task 3中大佬的教学与讲解。
Task 3
首先,在开始说之前,我想放一张图:
在接触了Task 3里的内容后,终于明白了括号里面字的意思,这一阶段Datawhale大佬的讲述尤为明显地倾向于教导我们参加竞赛时如何提分,这对于我这个小白跳跃有点大,因此决定在学习一段时间后再进行说明。
引用:
1.Datawhale飞书文档 从零入门机器学习竞赛 - 飞书云文档 (feishu.cn),Task2:入门lightgbm,开始特征工程 - 飞书云文档 (feishu.cn)(开源的话应该可以分享吧。。侵权联删。)
2.科大讯飞 2024 iFLYTEK A.I.开发者大赛-讯飞开放平台 (xfyun.cn)
3.LightGBM中文文档 LightGBM 中文文档