梅飞飞飞的假期学习日记DAY7

文章讨论了模型拟合过程中遇到的问题,如训练不开始、无法泛化和欠拟合,并提供了相应的解决策略。这包括调整学习率和批量大小、增加模型容量、进行特征工程、提前终止训练以及应用正则化方法如L1和L2正则化、dropout。文章还强调了在机器学习任务中理解数据、开发模型、评估和超越基准的重要性。
摘要由CSDN通过智能技术生成

改进模型拟合

在模型拟合的过程中我们常常会遇到一些情况:

训练不开始:训练损失不随着训练时间推移改变

训练开始得很好,但模型没有真正泛化:模型无法超越基于常识的基准

训练损失和验证损失都随着时间的推移而减小,模型可以超越基准,但似乎无法过拟合表示模型仍然处于欠拟合状态

解决策略

1 一般情况下,我们只需要反复地调整学习率和批量大小就够了

2 我们通过增加模型的批量大小,使得其包含更多样本,且整体的噪声更少更利于处理

提高模型容量(让模型能够先达到过拟合,随后我们再去调整!!!)

在一些时候,如果我们无法实现过拟合,可能是因为模型的表示能力存在问题,此时我们就会需要一个容量更大的模型:

“添加更多的层”,"使用更大的层(拥有更多的参数)",“或者确定更适合当前问题的层类型”

提高泛化能力

此时由于出现了过拟合现象,表明我们的模型具有一定的泛化能力,我们接下来就应该专注于使得模型的泛化能力最大化

在提高数据泛化潜力的过程中,一个重要的方法就是特征工程!

特征工程指在数据输入模型前,对数据进行硬编码的转换,以改善算法的效果

此处本书举了一个很好的例子:

利用图像识别判断时钟当前的时间,我们可以不直接用时钟的完整图像去进行训练,而是将每一个时钟图像中,时针和分针尖端像素点的位置坐标,由此作为数据送入模型U型拿脸

提前终止

在验证指标停止改善时,立即停止训练

模型正则化

正则化方法是一组最佳实践,通过主动降低模型完美拟合训练数据的能力,提高模型的验证性能。

正则化使得模型更简单,更“规则”,曲线也更加平滑更通用。

方法:

1 缩减模型容量

减少模型中可学习训练参数的个数(由层数和每层单元个数确定)

可以从较小容量的模型逐渐扩大模型规模,以便观察他们在过程中的变化

2 添加权重正则化

L1正则化和L2正则化(L2也叫权重衰减)的本质,就是强制使得模型权重只能取较小的值,从而限制模型的复杂度,由此来使得权重值的分布更加规则

总结,为促使神经网络的泛化能力最大化,最常用的方法如下所示:

1 获取更多更好的训练数据

2 特征工程筛选更好的特征

3 缩减模型容量

4 添加正则化(适合较小模型)

5 添加dropout

完整且严谨的机器学习任务工作流程细节学习

1 定义任务

① 确定输入数据;确定预测对象

② 确定机器学习任务类型,例:分类或是回归等

③ 现有解决方案

2 理解数据

诸如绘图等等的方式,我们需要利用这些方法在实际地使用数据前查看数据之间的相互关系

3 开发模型

准备数据:

        1 向量化

        2 规范化(将数据取值范围缩小)

        3 缺失值处理:①对于分类特征,可以创建一个新特征对应空缺

                                 ②数值特征则应当避免直接添加0

4 评估方法

如何对数据集划分训练集数据集并将其用于训练及验证

5 超越基准

使得模型能够超越一些简单的基准(达到一些基础的准确率)

此过程中,我们需要牢记,要在常见的问题类型中选择合适恰当的激活函数和损失函数

6 扩大模型规模,开发一个过拟合模型

(1)增加层数(2)扩大每一层(3)训练更多轮数

7 模型正则化,调节超参数

如果模型已经确定具有统计功效,并且能够过拟合,那么我们就可以确定我们走在了正确的路上,接下来我们的目标就是将泛化性能最大化!!!!

有以下方向可供探索:

(1)改变模型架构,增加或减少层数

(2)添加dropout正则化

(3)如果模型很小,添加L1或L2正则化

(4)尝试不同的超参数,找到最佳配置

(5)反复进行数据收集或特征工程

超参数工具kerastuner可以将以上工作的大部分自动化,节约时间成本

保持学习,加油!飞飞飞!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值