机器学习总结(三):如何防止过拟合

通常过拟合由以下三种原因产生:1. 假设过于复杂;2. 数据存在很多噪音;3. 数据规模太小
过拟合的解决方法通常有:1. early stopping;2. 数据集扩增;3. 正则化;4. Dropout

Early stopping:

对模型的训练过程就是对模型参数的进行学习更新的过程。参数学习的过程中往往会用到一些迭代算法,比如梯度下降法。Early stopping的目的就是在迭代次数还未到设定最大迭代次数时停止迭代防止过拟合的产生。
Early stopping的具体方法是在每一轮的迭代过程进行交叉验证,如果验证集的精度相较上一次没有得到提升,那么就停止迭代。这种方法的思想非常直接,因为当精度都不再提高了,那么训练就没有意义了。但是也存在这样一种情况,当前代的交叉验证精度下降了,但是下一代又提升了,所以不能根据一两次的精度下降就判定不会再提高。一般的做法是,在迭代过程中,记录到目前为止最好的验证精度,如果连续十代没有提升精度,那么就认为精度不会再提高,此时便可以停止迭代。

数据集扩增

数据挖掘领域流传着这样一句话,更多的数据往往胜过一个更好的模型,因为我们的模型是通过大量的数据训练得来的,然后通过这个模型对将来的数据进行拟合。因此我们可以假设这些数据是独立同分布的,通常获取数据有以下方法:

  • 从数据源头采集更多数据
  • 复制原有的数据并加上随机噪声
  • 重采样
  • 根据当前估计数据分布参数,使用该分布产生更多数据

正则化方法

正则化是指在优化目标函数或代价函数是,在目标函数后面加上一个正则项。正则项通常有L1正则项和L2正则项。

1. L1正则
L1正则是基于L1范数和项,即参数的绝对值和参数的积项,即:

C=C0+λnw|w|

其中C0代表原始的代价函数,n是样本的个数,λ就是正则项系数,权衡正则项与C0项的比重。后面那一项即为L1正则项。
在计算梯度时,w的梯度变为:
Cw=C0w
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值