1 统计学习三要素
方法 = 模型 + 策略 + 算法
-
模型:若假设空间以
表示,决策函数(或假设)以
表示,则
= {
|
}
其中
称为标记空间(或输出空间),
称为样例集合
-
如果模型由参数控制,则又将假设空间称为参数空间
= {
}
例如条件概率模型:
= {
}或
= {
}
-
-
策略:通过训练获得优秀模型的准则
-
损失函数:以决策函数
映射得到的输出值
与真实值
的差距作为自变量的函数
0-1损失
平方损失函数
绝对损失函数
对数损失函数
-
风险函数(期望损失):将模型的输入和输出(X,Y)视为随机变量,考虑其联合分布P(X,Y)
机器学习的目的是使得期望风险最小化,即
-
在
未知的情况下,将训练数据
= {
}视为从
总体中抽取的一个样本,得到如下离散分布(经验分布):
... 由此导出经验风险(ER)
经验风险最小化(ER):
-
结构风险(SR):
在有限的训练数据上用经验风险估计期望风险并不理想,需要对经验风险作一定的矫正表示模型的复杂度,
越简单,复杂度
就越小
结构风险最小化
-
定理:在二分类问题中,最优的决策函数
的形式是由后验概率
定义的,即
对任意的
对于二分类问题
= {0,1}, 假设
的联合分布由
表示
其中
是
的边缘分布,
是
的条件分布,
损失函数
于是可计算任何一个可测函数
的风险
定义为最优风险,
定义使得风险最优的决策函数
(此处为后验概率)
证明:
-
-
算法:学习模型的具体计算方法,例如将统计学习问题归结为最优化问题,以及梯度学习算法,深度学习算法
- 如果最优化问题有显示解析解,则直接进行求解
- 如果没有显示解,则应当考虑如何保证解的全局最优与高效性
2 经验误差与过拟合
假设机器学习模型为
- 训练误差(training error):在训练集上预测的结果与训练集的真实结果的差异,也称为经验误差(empirical error)
- 训练误差率:分类错误的样本数
占训练样本总数
的比例,
称为精度
- 泛化误差(genenralized error):测试集或新样本上的预测误差
由于既没必要再拿新样本进行泛化误差计算,也不能仅依靠经验误差去估计泛化误差,那么可以从训练样本中取出部分作为新样本,并用这些样本计算出来的误差作为泛化误差的近似。这组样本被称为“测试集”,测试集上的误差称为测试误差。
2.1 留出法 (hold-out)
将数据集划分为训练集
和测试集
,
. 记样本量为
,泛化误差表示为:
要有足够的样本量以保证训练模型的效果
在划分时要保证数据分布的一致性,如果样本中正例和反例的比例为2:3,则训练集和测试集中的正例和反例的比例也为2:3
为降低随机划分的影响,应重复划分训练集和测试集,对得到的多次结果取平均作为最终结果
优点:打破了基于相同的数据进行训练和测试的分析,避免了训练和测试数据重叠引起的过拟合
缺点:过分依赖于某一次数据划分,划分方式直接影响着估计的精度,经验上按照1:2与1:4的比例划分测试集与训练集
2.2 交叉验证法(cross validation)
将数据划分为k个大小相似的互斥子集,,分多次进行Hold-out
-
留p交叉验证估计(leave-p-out)
从
中取
个样例作为测试集,最多有
种取法,
. 假设有放回地抽取/划分数据集
次,每次测试集样本量均为
,则留
交叉验证泛化误差估计为
优点:留p交叉验证比多次留出给出的交叉验证的划分组合数从
减少到
缺点:对较大的样本量N,组合数计算复杂度
仍然很大
时为留一交叉验证(leave-one-out)
-
RLT Repeated learning-testing
RLT只基于部分数据划分进行,选择任意大于0的K次数据划分进行泛化误差估计
- 优点:有可接受的计算开销且操作简单
- 缺点:K的大小的选择一直是这个方法的最大问题,不同文献有不同的结论,Nadeau和Bengio建议K = 15,训练和测试集的比例选择也没有一个确定的结论
-
K折交叉验证估计
将
划分为互斥的
个子集,每次训练用其中
组数据,用剩下的一组作为测试集。这样进行
次训练与测试,最终返回
次训练误差的均值
2.3 自助法(bootstrapping)
从m个样本的数据集,随机采样生产训练集
去估计泛化误差。
- 样本在m次采样中始终不被采集到的概率为:
- 自助法广泛应用于数据集较小、难以有效划分训练/测试集的情形
- 自助法产生的数据集改变了初始数据集的分布,引入估计偏差
- 在初始数据量足够时,留出法和交叉验证法更常用一些