前言
综合之前的学习内容,
本篇将探究机器学习实践方法论
出现的问题及其原因
🍎 🍎 🍎
系列文章导航
【深度学习详解】Task1 机器学习基础-线性模型 Datawhale X 李宏毅苹果书 AI夏令营
【深度学习详解】Task2 分段线性模型-引入深度学习 Datawhale X 李宏毅苹果书 AI夏令营
【深度学习详解】Task3 实践方法论-分类任务实践 Datawhale X 李宏毅苹果书 AI夏令营本篇目录导航
- 前言
- 系列文章导航
- 实践方法论
- 问题描述:large loss on training data
- 模型偏差
- 优化问题
- is 模型偏差 or 优化问题 ?
- 问题描述:large loss on testing data
- 过拟合【交叉验证】
- 不匹配
- Python 分类任务实践
- Read more
实践方法论
李宏毅《机器学习/深度学习》2021课程 -> 机器学习任务攻略
问题描述:large loss on training data
训练数据的损失很大,显然它在训练集上面也没有训练好
模型偏差
鼠标右键 -> 在新标签页中打开图像
模型过于简单
- 该函数的集合太小了, 没有包含任何一个函数,
可以让损失变低的函数不在模型可以描述的范围内。- 想要在大海里面捞针(一个损失低的函数),
结果针根本就不在海里。
给模型更大的灵活性
- 增加输入的特征,即同时考虑更多训练数据
(得到更有灵活性 flexibility 的函数)- 重新设计一个模型,使用深度学习
(更多的 layer 层数)
优化问题
鼠标右键 -> 在新标签页中打开图像
优化器不给力
- 优化器(梯度下降)在寻找代价函数最低点的过程,
会出现局部最小值干扰,无法找到全局最小值。- 想要在大海里面捞针(一个损失低的函数),
针确实在海里,但是无法把针捞起来。
尝试更强大的优化器,寻找损失低的函数
is 模型偏差 or 优化问题 ?
问题描述:large loss on testing data
训练数据上面的损失小,但在测试数据上的损失大
过拟合【交叉验证】
鼠标右键 -> 在新标签页中打开图像
模型过于复杂
- 模型灵活性过大,学习到了训练数据的噪声。
(模型过于复杂,对数据过度适应)
增加训练集数据限制住拟合的模型
(往往是最有效的方向)
- 需要增加额外的训练集数据(不容易。)
- 不用增加额外的训练集数据(很建议!)
data augmentation 数据增强:
根据问题的理解创造出新的合理数据
给模型更多的限制性
- 减少输入的特征,即同时考虑更少训练数据
(不要过大灵活性 flexibility 的函数)- 重新设计一个模型:减少参数 / 共用参数(可以让一些参数有一样的数值)
eg. 神经元数量- 重新设计一个模型:使用更受限的模型。
eg. 卷积神经网络(Convolutional Neural Network,CNN)
是比全连接网络(fully-connected network)更有限制的架构- Early stopping 早停
- Regularization 正则化
- Dropout 丢弃法
trade-off(权衡模型的灵活性和限制性)
比较合理选择模型的方法是:
将训练数据分成“训练集”和“进行模型选择的验证集”
即,
在训练集上训练出来的模型
会使用验证集来衡量分数和挑选模型,即基线(baseline)算法
(避免在公开的测试集上面频繁挑选模型导致的过拟合)
Cross Validation 交叉验证
将训练数据按照百分比随机分成“训练集”和“进行模型选择的验证集”。例如:
90%训练数据作为“训练集”,
10%训练数据作为“进行模型选择的验证集”。
N-fold Cross Validation N 折交叉验证
将训练数据切成 n 等份,这件事情要重复 3 次:
n - 1 份作为“训练集”,
还有 1 份作为“进行模型选择的验证集”。
不匹配
鼠标右键 -> 在新标签页中打开图像
训练集和测试集的分布不同,
导致模型在测试集上的预测表现不佳。
要对训练数据和测试数据的产生方式有一些理解,
确保重新收集的训练数据与数据数据的分布尽可能一致
Python 分类任务实践
baseline 教程
https://datawhaler.feishu.cn/wiki/M7tqwIHYdiz5ULkRkD9cPPWTntg
数据集 下载
【2023机器学习】的系列资料包括 视频、课件、代码等资源已经系统顺序命名并整理到百度网盘:
https://pan.baidu.com/s/1-zfs0wn5rccTRVk34YZWaA,提取码:2023。
来源:https://blog.csdn.net/qq_39975984/article/details/133103314
Read more
-
李宏毅深度学习教程 LeeDL-Tutorial(苹果书)
https://github.com/datawhalechina/leedl-tutorial
李宏毅《机器学习/深度学习》2021课程(视频教程 24 h 46 min)
https://www.bilibili.com/video/BV1JA411c7VT/ -
Hung-yi Lee (李宏毅) MACHINE LEARNING 2023 SPRING
https://speech.ee.ntu.edu.tw/~hylee/ml/2023-spring.php
作业数据集搬运:
https://blog.csdn.net/qq_39975984/article/details/133103314
https://github.com/keepstumz/LHY-ML