如何在机器学习中防止过拟合现象

是什么

在训练集表现好,测试集效果差

为什么

为了解决复杂的任务,模型的拟合能力远远高于问题复杂度,因此有拟合『噪声』的能力

怎么办

获取更多『训练』数据

  • 从数据源获得更多数据
  • 估计数据分布,随机抽样产生更多数据
  • 数据增强:通过一定的规则人为扩充数据:图像平移、翻转、缩放、切割、更改光照,等等

修正模型

人为控制模型的复杂度,建立合适的数学或者物理模型

对于神经网络来说,可以从四个方面限制网络复杂度

  • 修改网络结构:层数,神经元个数
  • 减少训练时间:early stopping,本质是将大多数神经元的激活函数保持在线性区,避免因为长时间训练导致大量神经元进入饱和区(非线性区)Rem: ReLU 是什么情况?
  • 限制权重 Weight-decay 也叫 regularization: penalise 权重的值
  • 增加噪声
    • 输入加噪声: 加 gauss 噪声等价于加 L2 regularization
    • 权重加噪声:似乎对 recurrent network 效果尤其好
  • 结合多个训练模型
    • Bagging:分段函数 idea,用不同简单模型拟合不同部分的训练集
    • Boosting: 训练多个简单网络,加权求平均
    • Dropout:本质上是从2^H 个模型中选
    • 贝叶斯方法
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s