机器学习敏感问题之--如何训练好一个模型

首先明确自己想干啥?

有些任务是离散的,有些任务是连续的,有些任务是序列。明确自己的目标函数是怎样的,有时候连续的目标函数学习困难,而自动给他分段成离散的会好训练些

确定算法

模型结构、损失函数、优化器的选择都影响着模型的准确率
损失函数>模型结构
优化器选择adam/RSM/Moment其实都差不多,不必纠结

【损失函数】的选择,选择能表达物理意思的式子,而少用间接去得到的式子
【模型结构】模型如果参数量太少,不足以学习识别能力,太多又容易过拟合

以下提供几种现象(方便对号入座)

这里只拿准确率来比较,loss也是同理就不作举例

1-模型太小导致数据无法发挥到正常水平,更换更复杂的模型

2-很多错误标注导致模型不收敛,或测试集有时候都比训练集要好,准确率卡在很低的值就是上不去,这时候考虑先筛选一下数据
在这里插入图片描述
3-训练到最后训练集表现的很好,测试集却不匝地。这是因为训练数据太少无法使模型发挥到更高水平,急需数据,或者也可以减少模型参数,过拟合减轻使得数据集能发挥最大作用
在这里插入图片描述

模型评估

训练集测试集验证集必不可少,它决定在茫茫模型海中谁是最闪亮的星。
训练集图表:能看出模型是否合理,数据质量好坏,数据是不是太少了
测试集(与训练集同源但是不重合)图表:能看出模型是否过拟合,还有那些上升空间
验证集(接近真实使用的数据集)图表:它决定一个模型的好坏(调参数主要观察的损失)

超参数

首先泼一盆冷水,超参数这部分调节并不能使得模型有多显著的变好
1-学习率,学习率是最影响模型结果的参数,但是不是难点,边学习便调整就行,谁也说不好多少批次衰减合适,那就简单点,loss没变化了再调
2-初始化权重,无脑Xavier
3-激活函数relu开天辟地,Sigmoid/Tanh善后
4-正则 、dropout 、BN 、数据增强 (过拟合全家桶)

奇技淫巧

1-迁移学习
2-finetune
3-预训练模型
4-数据定向收集
5-数据训练-清洗-训练-清洗

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值