Datawhale X 李宏毅苹果书 Al夏令营 -- Task3 学习笔记

Datawhale X 李宏毅苹果书 Al夏令营 – Task3 学习笔记


第2章 实践方法论

2.1 模型偏差

  • 概念: 模型偏差是指由于模型过于简单,导致其无法有效学习训练数据中的模式,结果是模型在训练集上的损失较高。

  • 公式: 设模型为 f θ ( x ) f_{\theta}(x) fθ(x),目标是通过优化参数 θ \theta θ 使得损失函数 L ( f θ ( x ) , y ) L(f_{\theta}(x), y) L(fθ(x),y) 最小化。但由于模型复杂度不够,无法找到使损失最小的 θ \theta θ

  • 问题描述:

    • 例如,给定一组输入输出对 ( x i , y i ) (x_i, y_i) (xi,yi),模型 f θ ( x ) f_{\theta}(x) fθ(x) 可能过于简单,无法有效捕捉 y y y x x x 之间的关系。结果即使找到最佳参数 θ ∗ \theta^* θ,损失 L ( f θ ∗ ( x ) , y ) L(f_{\theta^*}(x), y) L(fθ(x),y) 依然较高。
  • 例子:

    • 假设要预测未来的观看人数,输入特征只包含前一天的数据,模型无法利用更长时间段的数据,因此预测效果不佳。这种情况下,模型可能过于简单。
  • 解决方法:

    • 增加模型灵活性: 通过增加输入特征(如引入更长时间段的数据)或者使用更复杂的模型(如深度神经网络)来提高模型的表现。

    • 例子: 设 x 1 x_1 x1 为前一天的数据, x 2 x_2 x2 为前两天的数据,可以将输入特征扩展为 x = ( x 1 , x 2 ) x = (x_1, x_2) x=(x1,x2) 以增加模型的灵活性。

2.2 优化问题

  • 概念: 优化问题指的是在模型训练过程中,由于优化算法(如梯度下降)无法找到全局最优解,模型可能会停留在局部最小值,导致损失无法进一步降低。

  • 公式: 梯度下降法更新参数的公式为:
    θ t + 1 = θ t − η ∇ θ L ( f θ ( x ) , y ) \theta_{t+1} = \theta_t - \eta \nabla_{\theta} L(f_{\theta}(x), y) θt+1=θtηθL(fθ(x),y)
    其中 η \eta η 是学习率。如果梯度 ∇ θ L \nabla_{\theta} L θL 在某点为零(局部最小值),则参数更新将停止,可能导致损失较大。

  • 问题描述:

    • 梯度下降法在复杂模型(如深层神经网络)中,容易陷入局部最小值,导致模型无法充分训练,损失无法达到最低。
  • 例子:

    • 研究中对比了20层与56层的残差网络(ResNet),实验发现,虽然56层网络理论上应比20层网络更强大,但实际训练中56层网络的损失更大,这表明56层网络在优化过程中遇到了问题。
  • 解决方法:

    • 改进优化算法: 采用更先进的优化算法如Adam,其更新公式为:
      θ t + 1 = θ t − η m ^ t v ^ t + ϵ \theta_{t+1} = \theta_t - \eta \frac{\hat{m}_t}{\sqrt{\hat{v}_t} + \epsilon} θt+1=θtηv^t +ϵm^t
      其中 m ^ t \hat{m}_t m^t v ^ t \hat{v}_t v^t 是梯度的一阶和二阶矩估计,能够更好地应对梯度下降法的局部最小值问题。

    • 实验比较: 通过对比不同复杂度模型的训练表现,判断问题是否出在优化上。

2.3 过拟合

  • 概念: 过拟合是指模型在训练数据上表现极佳,但在测试数据上表现不佳,这表明模型过度拟合了训练数据中的噪声。

  • 公式: 模型的总误差可以分为训练误差和测试误差。如果模型过拟合,训练误差低,而测试误差高:
    总误差 = 训练误差 + 测试误差 \text{总误差} = \text{训练误差} + \text{测试误差} 总误差=训练误差+测试误差

  • 问题描述:

    • 当模型过于复杂,能够记住训练数据的所有细节,但在面对新数据时无法泛化,表现不佳。
  • 极端例子:

    • 假设有一个模型,它能够完全记住训练数据中的每一个点,对于每一个输入 x i x_i xi,它输出对应的 y i y_i yi,使得训练损失为零。但对于测试数据,由于模型只记住了训练数据,在新数据上表现很差,损失很高。
  • 解决方法:

    • 增加训练数据: 通过数据增强(如图像翻转、缩放等)生成更多样本,帮助模型学习到更广泛的模式。

    • 限制模型复杂度: 使用正则化方法(如L2正则化)来限制模型的自由度,防止模型过拟合:
      L reg = L ( f θ ( x ) , y ) + λ ∥ θ ∥ 2 L_{\text{reg}} = L(f_{\theta}(x), y) + \lambda \|\theta\|^2 Lreg=L(fθ(x),y)+λθ2

    • 早停法: 在验证集损失开始增大时停止训练,以避免过拟合。

2.4 交叉验证

  • 概念: 交叉验证是一种评估模型表现的方法,通过将数据集分为多部分,循环进行训练和验证,以更全面地评估模型的泛化能力。

  • 方法:

    • K折交叉验证: 将数据集分为K份,每次使用其中一份作为验证集,其余作为训练集,重复K次,最终取所有验证结果的平均值。
  • 公式:
    验证误差 = 1 K ∑ i = 1 K L ( f θ i ( x val i ) , y val i ) \text{验证误差} = \frac{1}{K} \sum_{i=1}^K L(f_{\theta_i}(x_{\text{val}_i}), y_{\text{val}_i}) 验证误差=K1i=1KL(fθi(xvali),yvali)
    其中 L L L 为损失函数, θ i \theta_i θi 为第 i i i 折训练得到的模型参数。

  • 作用:

    • 提高可靠性: 通过多次验证,可以有效避免模型对特定数据分割的过拟合。
  • 例子:

    • 在某个实验中,研究者使用了K折交叉验证来选择最优模型,并发现通过验证误差最低的模型,测试误差也显著减少。

2.5 不匹配

  • 概念: 不匹配指的是训练数据和测试数据的分布不同,导致模型在测试集上表现远不如在训练集上的情况。

  • 问题描述:

    • 当训练数据和测试数据来自不同分布时,即使模型在训练数据上表现良好,也可能在测试数据上表现很差。
  • 例子:

    • 使用2020年的数据作为训练集,而用2021年的数据作为测试集。由于数据分布不同(如2021年有特殊事件影响),模型无法有效预测2021年的数据。
  • 解决方法:

    • 理解数据: 通过深入分析数据的背景和分布,判断是否存在不匹配现象。

    • 迁移学习: 如果确实存在不匹配现象,可以考虑使用迁移学习等技术来适应不同的数据分布。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值