ML基础收集

1、数据清理

[kaggle]Data Cleaning:https://www.kaggle.com/learn/data-cleaning
该课程关于数据的处理,主要涉及:

  • 缺失值处理:无价值的缺失值可以直接删除,由于未填写导致的缺失可以均值填充,或请根据其他行列信息推出。
  • 归一化和标准化的区别:归一化是缩放,标准化是改变分布;当模型和距离计算相关则需要归一化,模型使用的前提假设是基于正态分布的,则要标准化。
  • 日期的解析
  • 编码问题的处理
  • 离散数据的处理,例如移除空格,转为小写等

小结:基础入门

2、样本不均衡

Tactics to Combat Imbalanced Classes in Your Machine Learning Dataset: https://machinelearningmastery.com/tactics-to-combat-imbalanced-classes-in-your-machine-learning-dataset/
该博客关于样本不均衡应该怎么处理?

  • 采集更多数据
  • accuracy不再可靠,用其他性能度量
  • 重采样:过采样、欠采样
  • SMOTE
  • 尝试不同的算法,例如决策树在不均衡的数据上表现好
  • 惩罚因子
  • 其他

不过博客中提到的不均衡都是2:8,1:9这种的,像信用卡欺诈那种999:1的不均衡还能这样处理吗?

参数调优

调参上分手册
https://mp.weixin.qq.com/s/Z3Efmix6BjZe4hrIL3dwfg

1、在训练中不断寻找最合适当前状态的学习率,根据学习率-损失曲线得到最优学习率参数
2、learning-rate与batch-size的关系:一般来说,越大的batch-size使用越大的学习率
3、权重初始化:常用的权重初始化算法是「kaiming_normal」或者「xavier_normal」,不初始化可能会减慢收敛速度,影响收敛效果
4、Dropout一般适合于全连接层部分,而卷积层由于其参数并不是很多,所以不需要dropout
5、数据集的处理:有「数据筛选」以及「数据增强」,数据预处理有zero-center(这个挺常用的),PCA whitening(这个用的比较少);尽量对数据做shuffle;
6、多模型融合:提高模型性能和鲁棒性大法,probs融合和投票法
7、差分学习率的意思,在不同的层设置不同的学习率,可以提高神经网络的训练效果
8、余弦退火(cosine annealing)和热重启的随机梯度下降
9、在图像数据集不是特别充足的情况下,可以先训练小尺寸图像,然后增大尺寸并再次训练相同模型。通过输入不同尺度的图像数据集,因为神经网络卷积池化的特殊性,这样可以让神经网络充分地学习不同分辨率下图像的特征
10、交叉验证往往是对实际应用中 「数据不充足」 而采用的,基本目的就是重复使用数据。这种方法只适合数据量比较小的情况,计算量非常大的情况很少用到这种方法
11、大多数采用的优化算法还是是adam和SGD+monmentum。adam是不需要特别调lr,sgd要多花点时间调lr和initial weights。
12、训练技巧:要做梯度归一化,clip c(梯度裁剪),dropout对小数据防止过拟合有很好的效果,值一般设为0.5,dropout的位置比较有讲究, 对于RNN,建议放到输入->RNN与RNN->输出的位置;除了gate之类的地方,需要把输出限制成0-1之外,尽量不要用sigmoid;rnn的dim和embdding size,一般从128上下开始调整. batch size,一般从128左右开始调整. batch size合适最重要,并不是越大越好;LSTM 的forget gate的bias,用1.0或者更大的值做初始化,可以取得更好的结果;Batch Normalization据说可以提升效果
13、在数据集很大的情况下,建议先用 1/100、1/10 的数据跑一跑,对模型性能和训练时间有个底,外推一下全量数据到底需要跑多久

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值