Part1 基础知识
机器学习
参考书籍: 周志华《机器学习》chap1-3
内容
归纳偏好 inductive bias
- 机器学习算法在学习过程中对某种类型假设的偏好
- 对应了学习算法本身所做出的关于“什么样的模型更好”的假设
- NFL theorem: 基于真实目标函数均匀分布的前提,任意两个学习算法,它们的期望性能相同
- NFL表明,要谈论算法的相对优劣,必须要针对具体的学习问题
模型评估与选择
评估方法
理想的解决方案是对候选模型的泛化误差进行评估,然后选择泛化误差最小的那个即可。然而泛化误差无法直接获得,因而现实中有了接下来的方案来对模型进行评估;
基本做法就是将训练样本分成训练集和测试集,问题的关键在于如何划分。
留出法: 注意训练/测试集的划分要尽可能保持数据分布的一致性,避免因数据划分过程引入额外的偏差而对最终结果产生影响
- 一般二者比列为2:1 - 4:1,
- 在分类任务中看,至少要保持样本的类别比列相似,即采用“分层采样”
- 一般要采用若干种随机划分、重复进行实验评估后取均值作为留出法的评估结果
交叉验证法: 与留出法类似,将数据集D划分为k个子集同样存在多种划分方式。为减小因样本划分不同而引入的差别,k折交叉验证法通常要随机使用不同的划分重复p次
- 留一法: 不受随机样本划分方式的影响;计算复杂度大;未必比其他评估结果更准确(NFL)
- 自助法: 考虑到前两种方法会使得实际评估使用的训练集比D小,必然会引入一些因训练样本规模不同而导致的估计偏差,而留一法虽然收样本规模影响较小,但计算量太大
- 基于自助采样法: 给定m个样本的D,每次从D中取出一个,将其拷贝放进D',原样本放回D,重复m次的到D',则D'也包含m个样本
- 初始数据集D中约有的样本未出现在D'中(m很大时),于是将D'作为训练集,D-D'作为测试集
- 这样的测试结果,又称为“包外估计”
- 自助法在数据集较小、难以有效划分训练/测试集时很有用
- 自助法能从初始数据集中产生多个不同的训练集,这对集成学习等方法有很大的好处
- 自助法会改变初始数据集的分布,会引入估计偏差,因此在初始数据量足够时,留出法和交叉验证法更常用
性能度量
- 错误率和精度
- 查准率 查全率 F1 ————二分类问题
- 查准率: 被预测为正例中确实是正例的比率
- 查全率: 所有正例中被预测为正例的比率
- P-R曲线: 以查全率为横轴,查准率为纵轴,面积越大,性能越好
- ROC 和 AUC ————预测值为某个区间的实值,根据阈值来进行标记
- TPR: 正例中被预测为正例的比例
- FPR: 反例中被预测为正例的比例
- ROC: 以FPR为横轴,TPR为纵轴
- AUC: ROC曲线的面积,面积越大性能越好
- :排序损失,
- 代价敏感错误率和代价曲线: 考虑到不同类型的错误所造成的后果是不同的
比较检验: 如何根据得到的性能度量进行选择
性能度量进行比较存在以下问题
首先我们希望比较的是学习器的泛化性能,而这里我们得到的是测试集上的性能,两者的对比结果未必相同
其次测试集上的性能和测试集本身的选择有很大关系,体现在测试集的大小和所包含的具体样例
此外很多机器学习算法具有随机性,即便使用相同的参数设置在同一个测试集上多次运行,其结果也会有不同
统计假设检验为我们提供了了比较的依据
假设检验
- 假设检验中的假设是对学习器泛化错误率分布的一种猜想
- 对于一个泛化错误率为的学习起来说,它在测试集上得到的测试错误率符合二项分布
- 对于重复留出法或这是多次k折交叉验证会得到多个测试错误率,则这些测试错误率可以看成是泛化错误率的独立采样
用于判断两个学习器性能差异