欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

李宏毅2022机器学习HW1解析

时间:2023-04-23

 

准备工作:去课程github下载原始代码,kaggle下载数据集。或者关注微信公众号:机器学习手艺人,下载代码和数据集(文末有方法)。解压数据集,出现两个csv文件covid.test.csv,covid.train.csv,将文件和代码放到同一目录下。

kaggle提交: https://www.kaggle.com/c/ml2022spring-hw1,提交结果可能需要科学上网

Simple baseline (mse<2.28371): 直接运行HW1代码,可能需要下载一些工具包,运行过后出现pred.csv,将此文件提交到kaggle上面出现分数:1.84996,已经比simple baseline要好很多了。

Medium baseline (mse<1.49430): 使用特征选择(feature selection)。原始特征有117个,噪音较多,神经网络学习相对困难。因为我们预测的是第5天的tested_postive,比较合理的想法是选择前四天的tested_positive数据作为训练特征。因这四个特征对应的index是[53, 69, 85, 101],我们将select_feat函数中的feat_idx 进行修改。运行代码,提交得到:1.09591,已经接近strong baseline了。

Strong baseline (mse<1.05728): 使用特征选择+网络架构采用LeakyReLU + Adam优化器。特征选择仍然用medium baseline的方法,网络架构中将nn.ReLU()代替为nn.LeakyReLU(0.1),将SGD优化器换成Adam,同时将learning rate由原来的1e-5扩大10倍。提交后得到分数:1.04168,稍好于strong baseline。

Boss baseline (mse<0.85800): 使用更精准的特征选择+归一化+网络架构改变+Adam优化器+余弦退火学习率。

特征选择利用sklearn中的特征选择方法,选择了24个最有影响的特征。对特征进行归一化处理,将其转换到[0, 1]区间内。网络架构中将nn.ReLU()代替为nn.LeakyReLU(0.1),同时变动了层的宽度,使用了dropout减少过拟合。将SGD优化器换成Adam,学习率使用余弦退火。提交后得到分数:0.85433,不过private还没突破boss,需要做些微调。

作业一答案获得方式:

扫码关注 “机器学习手艺人”微信公众号

后台回复关键词:202201

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。