更新时间:2024-10-28 GMT+08:00

欠拟合的解决方法有哪些?

  1. 模型复杂化。
    • 对同一个算法复杂化。例如回归模型添加更多的高次项,增加决策树的深度,增加神经网络的隐藏层数和隐藏单元数等。
    • 弃用原来的算法,使用一个更加复杂的算法或模型。例如用神经网络来替代线性回归,用随机森林来代替决策树。
  2. 增加更多的特征,使输入数据具有更强的表达能力。
    • 特征挖掘十分重要,尤其是具有强表达能力的特征,可以抵过大量的弱表达能力的特征。
    • 特征的数量并非重点,质量才是,总之强表达能力的特征最重要。
    • 能否挖掘出强表达能力的特征,还在于对数据本身以及具体应用场景的深刻理解,这依赖于经验。
  3. 调整参数和超参数。
    • 神经网络中:学习率、学习衰减率、隐藏层数、隐藏层的单元数、Adam优化算法中的β1和β2参数、batch_size数值等。
    • 其他算法中:随机森林的树数量,k-means中的cluster数,正则化参数λ等。
  4. 增加训练数据作用不大。

    欠拟合一般是因为模型的学习能力不足,一味地增加数据,训练效果并不明显。

  5. 降低正则化约束。

    正则化约束是为了防止模型过拟合,如果模型压根不存在过拟合而是欠拟合了,那么就考虑是否降低正则化参数λ或者直接去除正则化项。