【深度解析→博文总结】李宏毅机器学习2023作业01Regression(COVID-19 Cases Prediction)

文章目录

  • 【系列文章】
  • 【简要说明】
  • 【视频分享】
  • 【作业详情】
  • 【调参记录】
      • 【Simple Baseline:1.96993】
      • 【Medium Baseline:1.15678】
      • 【Strong Baseline:0.92619】
      • 【Boss Baseline:0.81456】
  • 【总结讨论】
  • 【资源链接】
  • 【未完待续】
  • 【参考文献】
  • 【写在最后】

【系列文章】

【深度解析→博文总结】李宏毅机器学习2023作业02Classification(Framewise Phoneme Prediction))
【深度解析→博文总结】李宏毅机器学习2023作业03CNN(Image Classification)
【深度解析→博文总结】李宏毅机器学习2023作业04Self-attention(Speaker Identification)

【简要说明】

1、2023年春季学期开始了,台大李宏毅教授的机器学习课程网站也同步上新了,课程网页:https://speech.ee.ntu.edu.tw/~hylee/ml/2023-spring.php。
2、本人是从事基于深度学习相关研究的一名博士,目前博士在读第5年。深感自己在机器学习/深度学习理论知识实际调参经验方面都不够系统,今年希望能够跟随李宏毅教授的机器学习2023的作业在理论和实践方面都得到提升。
3、2023李宏毅机器学习共计15次作业,本次博客总结记录作业01Regression的调参经验,欢迎入门和深入机器学习知识的朋友们能在评论区多多交流,共同进步。

【视频分享】

为了分享更多此次作业的调参细节,特意录制记录了个视频,便于后续查阅。同时,也希望有朋友能够积极评论,共同进步。

【深度解析→视频分享】李宏毅机器学习2023作业01Regression

【作业详情】

1、【Colab和Pytorch简介】在进行2023机器学习作业之前,李宏毅教授的助教们分别介绍了以上两个基本工具的使用,视频已搬运至知乎和B站,详情见Colab简介【知乎】【B站】 和Pytorch简介【知乎】【B站】。
2、【作业简介】李宏毅教授的助教也将作业01Regression进行了详细的介绍,包括:作业内容解读、Kaggle提交介绍、代码调参提示和样例代码详解,视频已搬运至知乎和B站,详情见作业01Regression详细说明【知乎】【B站】。
3、【先修视频】:该作业有两个先修视频,已搬运至知乎【先修视频01】【先修视频02】,是李宏毅老师2021年的机器学习课程视频,课程网页:https://speech.ee.ntu.edu.tw/~hylee/ml/2021-spring.php,对完成本次作业有一定的指导作用,相关的视频(带字幕)、课件 已经整理到如下的百度网盘中。【建议】这两个先修视频会推荐再靠前几年的视频进行学习,我个人觉得没有必要太过于花精力去看太老的视频,可以多花时间在做作业上面,在实践中掌握如何有效调参

【调参记录】

【Simple Baseline:1.96993】

直接跑通助教的样例代码,即可达到Simple Baseline,下图是我的提交记录截图(提交结果不完全相等于1.96993,可能是由于机器差异,即使用同一个随机数种子控制,不同机器上的结果也有差异)。在这里插入图片描述

【Medium Baseline:1.15678】

【Strong Baseline:0.92619】

通过对数据的分析,发现样例代码直接把数据集中的第一列序号也选入到网络的输入特征了,这明显是错误的,先把序号列从输入特征中去掉,直接达到了Strong Baseline,证明了回归问题中特征选择的有效性,下图是我的提交记录截图。
在这里插入图片描述

【Boss Baseline:0.81456】

1、试着继续进行特征选择,进一步去掉Belief+Mental的特征主观认为第3天检测结果是否阳性,主要是看重 地区、行为、环境这些特征,结果略有提升。
在这里插入图片描述2、在此基础上调参,加大学习率为1e-4并调整SGD优化器的超参momentum为0.9取得了更好的结果。
在这里插入图片描述3、继续通过特征选择来调整结果,经过大量尝试,发现使用前3天的COVID-like illness 和前2天的Tested Positive Cases 特征效果最佳,并添加归一化使得训练过程更加稳定,得到了接近Boss Baseline的结果。
在这里插入图片描述4、接着通过大量调参工作:学习率、优化器、Batch、EarlyStop、Model修改都没得到更好的验证集分数(在上述几乎所有提交过程中,我都保持了样例代码的随机数种子,发现记录的验证集分数和提交的测试集分数保持了一致的提升),也没有得到更好的测试集分数
5、在几乎快要放弃达到Boss Baseline时,我意识到:自认为把觉得能尝试的个人掌握的调参经验都已经试过了,却没有达到效果,感觉努力的方向需要调整了,因此更换了随机数种子,并采用了多个随机数种子的结果Ensemble的策略,成功突破了Boss Baseline。
在这里插入图片描述

【总结讨论】

1、深度学习调参 努力的方向比付出的努力更加重要,就作业01Regression而言,特征选择比调超参数更有效得多。
2、就作业01Regression而言,采用Adam优化器的初始学习率可以取得大一些,SGD的初始学习率太大的化,就会使得训练无法进行,即train loss和valid loss很大,这个现象不确定是否为普遍现象
3、目前kaggle榜单上排名最高的前三分数依次是:0.57488、0.77064、0.77815,我自己最佳的结果分数0.79977(排名100左右)还和大佬们存在较大差距,不知道在哪些方面继续调参能得到更好的结果?
4、Private榜单(55%的测试集数据)今天出了,我的提交获得分数0.85265,没有达到Boss Baseline 0.83436,只达到了 Strong Baseline 0.93051,看来追求提升Public榜单(45%的测试集数据)的调参思路还有很多不足,至少在模型修改部分存在些问题,应该需要泛化性更强的稍微复杂点的模型。

【资源链接】

【2023机器学习】的系列资料包括 视频、课件、代码 等资源已经系统顺序命名并整理到百度网盘:https://pan.baidu.com/s/1-zfs0wn5rccTRVk34YZWaA,提取码:2023。

【未完待续】

前年和去年我也是想像本次博客一样想系统提升自己的调参水平的,但由于一些原因,比如:一次作业没达到boss baseline、偷懒、忙其他事等,导致自己并没有坚持下去…,本来是有个QQ群号码在这里的,无奈不符合CSDN规范,必须会员或者原力等级大于1000才能使用“推广功能”放QQ群之类的,不过目前群里也有一些一起做作业交流的朋友了,想一起进群交流的私信我吧,希望有同道之人一起坚持前进

【参考文献】

  1. 李宏毅2022机器学习HW1解析

【写在最后】

【原创&整理不易,我的是文章如果有帮到你,麻烦点赞&关注支持下!如果可以,最好能在评论区或者QQ群多多交流,共同进步!】

你可能感兴趣的:(机器学习,机器学习,人工智能,深度学习)