李沐_动手学深度学习_模型选择
目录
模型复杂度和拟合程度
模型复杂度:
欠拟合:
过拟合:
优化训练方法:
参数优化算法:
权重衰退和暂退法:解决过拟合问题
前向传播和反向传播和计算图
数值稳定性和模型初始化
环境和分布偏移
模型选择:机器学习科学家,我们的目标是发现模式(pattern)
模型复杂度和拟合程度
模型复杂度:
模型中的参数数量
高阶多项式函数比低阶多项式函数复杂得多。 高阶多项式的参数较多,模型函数的选择范围较广。 因此在固定训练数据集的情况下, 高阶多项式函数相对于低阶多项式的训练误差应该始终更低(最坏也是相等)。
欠拟合:
训练误差和验证误差都很严重, 但它们之间仅有一点差距。 如果模型不能降低训练误差,这可能意味着模型过于简单(即表达能力不足)。、
过拟合:
当我们的训练误差明显低于验证误差时要小心, 这表明严重的过拟合(overfitting)。 注意,过拟合并不总是一件坏事。 特别是在深度学习领域,众所周知, 最好的预测模型在训练数据上的表现往往比在保留(验证)数据上好得多。 最终,我们通常更关心验证误差,而不是训练误差和验证误差之间的差距。
-
欠拟合是指模型无法继续减少训练误差。过拟合是指训练误差远小于验证误差。
-
由于不能基于训练误差来估计泛化误差,因此简单地最小化训练误差并不一定意味着泛化误差的减小。机器学习模型需要注意防止过拟合,即防止泛化误差过大。
-
验证集可以用于模型选择,但不能过于随意地使用它。
-
我们应该选择一个复杂度适当的模型,避免使用数量不足的训练样本。
优化训练方法:
k折计算:解决训练集合不足的问题
参数优化算法:
基础:梯度下降算法,优化模型参数,手动设置学习率。
其他算法:torch.optim.Adam算法,每个参数都有自己的学习率,
权重衰退和暂退法:解决过拟合问题
weight_decay: 0,1,2 ,表示
dropout:随机减少传播的节点,
前向传播和反向传播和计算图
前向传播:由X计算各个层的节点,
反向传播:计算loss对各层参数(w,b)的梯度的过程叫做反向传播。利用链式求导法则,方向累乘
梯度是一个向量,它描述了多元函数在某一点处的最大变化率的方向。
例子,σw1是对w1的偏导数,(cosα,cosβ)是一个方向,两个参数σw1*cosα+σw2*cosβ就是方向导数,方向导数就是某一方向的导数(变化率),方向导数的最大的方向就是梯度的方向。
数值稳定性和模型初始化
解决:梯度消失和梯度爆炸:
一般中等规模的问题:用正态分布初始化参数(w,b)
其他的初始化方法:Xavier初始化,尽量让输入与输出的方差为相同为1,
Xavier初始化表明,对于每一层,输出的方差不受输入数量的影响,任何梯度的方差不受输出数量的影响
环境和分布偏移
协变量偏移:特征偏移,不同的特征对应同一的标签。
lable偏移:同一输入,标签改变
概念偏移:同一标签对应不同的特征。