「这是我参与11月更文挑战的第16天,活动详情查看:2021最后一次更文挑战」
深度学习算法模型建立好后,预测出的结果往往会出现过拟合和拟合的情况,对于这种情况,我们需要对数据进行一些处理,使最终结果正合适。
机器学习算法效果是否好看的就是算法是否可以降低训练误差和缩小训练误差和测试误差的差距。
过拟合和欠拟合无疑会极大影响训练误差。
要优化机器学习算法和深度学习算法,过拟合和欠拟合的处理至关重要。
过拟合的处理
1.适当调整模型的容量
当训练模型较为复杂时,我们需要提高训练集的数量,如果提高的过多,会造成过拟合,因为训练模型的复杂程度已经超出任务所需,这时我们需要适当降低容量。
2.改变输入特征的数目
训练误差和泛化误差随着模型的复杂程度增加而增加,我们可以适当减少模型的复杂程度,即手动减少特征。也可以使用特定算法,例如PCA降维算法。
3.正则化
正则化是指修改学习算法,使其降低泛化误差而非训练。我们规定对一些特征解有一定的偏好,有的特征权重会高一些,而有的特征权重会低一些,以此来降低泛化误差。进而减弱过拟合的影响。
4.集成学习器
不同的算法对各种特征的偏好不同,将这些算法叠加起来使用,有利于在同一个任务上有相辅相成的作用,从而得出更好的结果。将多个算法模型集成在一起,降低单一算法模型的过拟合。
欠拟合的处理
1.增大特征的输入
特征过少,不能很好的契合训练集,从而造成训练误差以及泛化误差增大,我们可以适当增大特征的输入,以此契合训练集,减弱欠拟合的影响。
2.增加算法模型的复杂程度
模型的复杂程度过低,例如线性函数,二次函数以及九次函数来拟合真实二次函数的效果,线性函数是无法刻画真实函数的曲率,所以会发生欠拟合,九次函数拟合的最大,因为他的参数多,可以预测无数个训练样本点。所以欠拟合的时候要适当增加算法模型的复杂程度。
3.减小正则化系数
如果算法模型使用了正则化系数,而这时候模型出现了欠拟合,我们就要减低正则化系数 因为正则化是用来防止过拟合的,但当模型出现欠拟合现象时,就要降低正则化系统来让它达到拟合。
正则化
正则化的两种算法
正则化的作用
Dropout正则化算法
提前终止训练
偏差和方差
解决高方差和高偏差
解决高方差:
1、获得更多的训练实例——解决高方差
2、尝试减少特征的数量——解决高方差
3、尝试增加正则化程度λ——解决高方差
解决高偏差:
1、尝试获得更多的特征——解决高偏差 2、尝试增加多项式特征——解决高偏差 3、尝试减少正则化程度λ——解决高偏差