[关闭]
@zqbinggong 2018-03-25T08:56:47.000000Z 字数 1602 阅读 530

Part1 基础知识

机器学习

参考书籍: 周志华《机器学习》chap1-3

内容

归纳偏好 inductive bias

  1. 机器学习算法在学习过程中对某种类型假设的偏好
  2. 对应了学习算法本身所做出的关于“什么样的模型更好”的假设
  3. NFL theorem: 基于真实目标函数均匀分布的前提,任意两个学习算法,它们的期望性能相同
  4. NFL表明,要谈论算法的相对优劣,必须要针对具体的学习问题

模型评估与选择

评估方法

理想的解决方案是对候选模型的泛化误差进行评估,然后选择泛化误差最小的那个即可。然而泛化误差无法直接获得,因而现实中有了接下来的方案来对模型进行评估;
基本做法就是将训练样本分成训练集和测试集,问题的关键在于如何划分。

  1. 留出法: 注意训练/测试集的划分要尽可能保持数据分布的一致性,避免因数据划分过程引入额外的偏差而对最终结果产生影响

    • 一般二者比列为2:1 - 4:1,
    • 在分类任务中看,至少要保持样本的类别比列相似,即采用“分层采样”
    • 一般要采用若干种随机划分、重复进行实验评估后取均值作为留出法的评估结果
  2. 交叉验证法: 与留出法类似,将数据集D划分为k个子集同样存在多种划分方式。为减小因样本划分不同而引入的差别,k折交叉验证法通常要随机使用不同的划分重复p次

    • 留一法: 不受随机样本划分方式的影响;计算复杂度大;未必比其他评估结果更准确(NFL)
  3. 自助法: 考虑到前两种方法会使得实际评估使用的训练集比D小,必然会引入一些因训练样本规模不同而导致的估计偏差,而留一法虽然收样本规模影响较小,但计算量太大
    • 基于自助采样法: 给定m个样本的D,每次从D中取出一个,将其拷贝放进D',原样本放回D,重复m次的到D',则D'也包含m个样本
    • 初始数据集D中约有的样本未出现在D'中(m很大时),于是将D'作为训练集,D-D'作为测试集
    • 这样的测试结果,又称为“包外估计”
    • 自助法在数据集较小、难以有效划分训练/测试集时很有用
    • 自助法能从初始数据集中产生多个不同的训练集,这对集成学习等方法有很大的好处
    • 自助法会改变初始数据集的分布,会引入估计偏差,因此在初始数据量足够时,留出法和交叉验证法更常用

性能度量

  1. 错误率和精度
  2. 查准率 查全率 F1 ————二分类问题
    • 查准率: 被预测为正例中确实是正例的比率
    • 查全率: 所有正例中被预测为正例的比率
    • P-R曲线: 以查全率为横轴,查准率为纵轴,面积越大,性能越好
  3. ROC 和 AUC ————预测值为某个区间的实值,根据阈值来进行标记
    • TPR: 正例中被预测为正例的比例
    • FPR: 反例中被预测为正例的比例
    • ROC: 以FPR为横轴,TPR为纵轴
    • AUC: ROC曲线的面积,面积越大性能越好
    • :排序损失,
  4. 代价敏感错误率和代价曲线: 考虑到不同类型的错误所造成的后果是不同的

比较检验: 如何根据得到的性能度量进行选择

性能度量进行比较存在以下问题

首先我们希望比较的是学习器的泛化性能,而这里我们得到的是测试集上的性能,两者的对比结果未必相同
其次测试集上的性能和测试集本身的选择有很大关系,体现在测试集的大小和所包含的具体样例
此外很多机器学习算法具有随机性,即便使用相同的参数设置在同一个测试集上多次运行,其结果也会有不同

统计假设检验为我们提供了了比较的依据

  1. 假设检验

    • 假设检验中的假设是对学习器泛化错误率分布的一种猜想
    • 对于一个泛化错误率为的学习起来说,它在测试集上得到的测试错误率符合二项分布
    • 对于重复留出法或这是多次k折交叉验证会得到多个测试错误率,则这些测试错误率可以看成是泛化错误率的独立采样
  2. 用于判断两个学习器性能差异


添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注