深度学习中的正则化
最近在看集成学习,集成学习中对基学习器的要求是和而不同,及满足两个条件:误差 \(\epsilon <0.5\)且具有多样性,由此引出一系列多样性方法,其和正则化非常类似。借助课上提到的框架对正则化进行梳理。并且试图统一绝大部分ml和dl的正则化方法
1.正则化的定义
正则化:旨在通过对学习算法的修改,减少泛化误差(而不是训练误差,并且可能以提高训练误差为代价)
2.正则化的背景:方差与偏差,欠拟合与过拟合
统计学中的过拟合欠拟合:对应模型的小偏差大方差
方差偏差
模型训练中的过拟合:训练刚开始的时候,训练误差和测试误差都下降。在到达一个临界点之后,训练集的误差下降,测试集的误差上升了,这个时候就进入了过拟合区域
过拟合欠拟合
3.正则化的分类
3.1 对输入样本
对输入样本扰动敏感的学习器:神经网络,决策树等
对输入样本扰动不敏感的学习器:线性学习器,支持向量机(这俩都是线性分类器),朴素贝叶斯,k近邻
数据增强:
数据扰动(噪声)
3.2 对输入属性
Bagging
降维:PCA,SVD,AutoEncoder,LDA
特征选择
3.3 对输出属性
label smooth
Dropout
3.4 对模型参数
L1正则化
L2正则化
SVM中的松弛变量
参数共享(CNN,RNN)
3.5 对模型训练
半监督学习
多任务学习
提前终止
对抗训练
知识蒸馏
多级别监督loss