李宏毅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上面~

最后推薦一下我正在用的一個,蠻不錯的深度學習平台


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM