李宏毅ML2021Spring HW1

任务目标

用深度学习做一个回归任务,通过CMU的一组问卷调查数据来预测新冠病毒阳性案例数。

数据特征

  • States(40个州,编码为one-hot向量)

    • AL,AK,AZ
  • COVID-like illness(4个疑似COVID的症状)

    • cli,ili
  • Behavior Indicators(8个行为指标)

    • wearing_mask, travel_out_state
  • Mental Health Indicators(5个精神情况)

  • Tested Positive Cases(检验为阳性的概率)

上面的数据都为数值型的百分数(除了States之外)

模型评估指标为:RMSE

\[RMSE=\sqrt{\frac{1}{N}\sum_{n=1}^{N}(f(x^n)-y^n)^2 } \]

Simple baseline

只需要运行一遍

https://colab.research.google.com/github/ga642381/ML2021-Spring/blob/main/HW01/HW01.ipynb

Medium baseline

只需要提取40个州的信息和2天阳性检测的结果(减少特征来提高模型识别率)

# TODO: Using 40 states & 2 tested_positive features (indices = 57 & 75)
feats = list(range(40)) + [57] + [75]

Hard baseline

没跑进hard baseline =-= 尝试了许多调参方法最好的结果是1.02左右

学习了一下讨论区的一位大佬的解法https://www.kaggle.com/c/ml2021spring-hw1/discussion/264579

我个人在使用他的代码后成功跑进了一次Hard Baseline,感觉最重要的点是

  1. 使用sklearn特征选取求出的14个特征

  2. 网络结构挺关键的, 输入层 → Linear → BatchNorm1d → Dropout → LeakyReLU → Linear → 输出层

  3. batch_size 和 正则化

调参蛮玄学的,即使代码一模一样,最后train_loss也不一样。当然score也会不一样,所以我建议各位和我一样的新手尝试十几次就够了,与其浪费时间,不如多读下代码加深对DNN的理解。

代码解释

之后有空会更新到GitHub上面~

最后推荐一下我正在用的一个,蛮不错的深度学习平台

posted @ 2021-08-16 16:17  lizhi334  阅读(1366)  评论(0编辑  收藏  举报