机器学习深度学习调优方法介绍

机器学习中的两个需要克服的问题就是过拟合和欠拟合,所以在调优过程中,针对这两方面分别有以下调优的小方法(当然要选择合适的代价函数和正则项啦):

1、针对过拟合(传统机器学习)

1、获取更多训练样本,这样可以覆盖更多场景

2、尝试少些特征,这样模拟函数会简单一些

3、尝试增大正则项前面的系数λ,这样函数参数会变小一些,模拟函数会更倾向于简单

2、针对欠拟合(传统机器学习)

1、尝试更多特征,让模拟函数复杂一些

2、尝试增加多项式特征,也是为了让模拟函数复杂一些

3、尝试减小 λ,这样函数参数会变大一些,模拟函数会更倾向于复杂。


3、最后我们来看看在神经网络中,如何判断和解决过拟合欠拟合问题。

当设计神经网络算法时,首先要选择层次。最常用的神经网络是三层,也就是一个隐藏层,当神经网络层次很少,然后每一层的节点很少的时候,对应的参数就很少,模型就更简单,计算就更简单,但是也更容易出现欠拟合;

当神经网络层次很多,或者每一层的节点很多的时候,对应的参数就很多,模型就会很复杂,计算开销也会很大,也就更容易出现过拟合。一个很有效的避免过拟合的方法就是使用正则化项。前面我们也提到了增大正则化参数 λ 对避免过拟合的好处。

实际应用中可以把数据集拆分成训练集、交叉训练集和测试集,然后用交叉验证的方法来尝试多种层次和节点个数,对比他们的效果,最终选定一个最佳的神经网络结构。

扫描二维码关注公众号,回复: 473487 查看本文章

        当然在深度学习中,由于层数比较深,参数比较多,最容易出现的问题还是过拟合,针对过拟合问题,在参数的优化过程中会有一些方法去优化,在我的上一篇博文中有介绍,详细细节请打开这里:简单总结一下就是:

1. 加入正则化项,参数范数惩罚

2. 数据增强,增加样本数据量

3. 提前终止(early stopping)

4. 参数绑定与参数共享

5. bagging 和其他集成方法

6. Dropout

7. 辅助分类节点(auxiliary classifiers)

8. Batch Normalization



猜你喜欢

转载自blog.csdn.net/dulingtingzi/article/details/80270360