模型选择与评估

经验误差与过拟合

  • 经验误差vs泛化误差
    本质上就是训练集上的误差vs“未来”样本上的误差;
    经验误差并非越小越好,因为会出现过拟合

  • 过拟合与欠拟合
    通俗理解,欠拟合就是太粗了(把不符合要求的也放进来了),比如把树叶识别成了大树;而过拟合是太细了(要求太苛刻了把符合要求的也淘汰了),比如误以为有锯齿的树叶才是树叶,而误杀了没有锯齿的树叶。

评估方法:如何获得测试结果

  • 评估方法:关键在于如何获得“测试集”,训练集与测试集应该是互斥的
  • 留出法(hold-out):把数据集拆分为训练集和测试集,需要保持数据分布一致性;可以多次重复划分;测试集占20%-30%左右;
  • 交叉验证法(cross-validation):k折交叉验证法,将数据集D划分大小相似的互斥子集,每次使用k-1个子集的并集作为训练集,剩下的那个作为验证集,可以得到k组训练集/测试集,进行k次训练和测试。最后的结果是这k个测试结果的均值。
  • 自助法(bootstrap):每次随机从含m个样本的数据集D中挑选一个样本,放入新的数据集D’中,重复m次,这样就得到了具有m个元素的数据集D’,然后用D’作为训练集,用D-D’作为测试集。这样的方法下,D’中有些样本是重复的,大约有36.8%的元素不出现。
  • "调参"与最终模型:人工设定的参数就是“超参数”,对应机器学习的参数,参数对模型的影响非常大。

性能度量:如何评估性能优劣

  • 回归任务:常采用均方误差
  • 分类任务:错误率vs精度:错误率和精度是一组互补的关系,也即是它们的和为100%=1
  • 查准率vs查全率:根据混淆矩阵定义TP/FN/FP/TN,其中T=True表示真,F=False表示假,P=Positive表示正例,N=Negative表示反例。这样就可以定义查准率P=TP/TP+FP(准确性Precision Ratial)和查全率R=TP/TP+FN(完整性Recall Ratial)了。查全率和查准率也是此消彼长的。
  • PR图,BEP平衡点:通过平衡点来判断学习器的优劣。此处理解有点难度,所以专门写了一篇供讨论
  • F1度量:比BEP更常用的F1度量。β<1,查准率有更大的影响,β>1,查全率有很大的影响。β代表对查准率和查全率的倾向性,如推荐系统更倾向于查准率,逃犯系统更倾向于查全率。F的公式由P和R两个指标合成,通用公式如下:
    F=(1+β²)PR/β²P+RF=(1 + β² )PR/β²P+RF=(1+β²)PR/β²P+R
  • 宏XX(macro) vs 微XX(micro):对于多分类问题,先平均后计算或者先计算后平均。macro的算法复杂度稍微比micro要多,原因在进行了更多的除法运算。
  • ROC曲线(Recevier Operating Characteristic),AUC(Area Under Curve):真正例率(TPR=true positive ratio纵轴)和假正例率(FPR=false positive ratio横轴)曲线就是AUC曲线。
    tpr=TP/m+=TP/TP+FN=R;tpr=TP/m+=TP/TP+FN=R;tpr=TP/m+=TP/TP+FN=R;m+就表示全部的基准正例,可以认为是男生中的直男比例
    fpr=FP/m−=FP/FP+TNfpr=FP/m-=FP/FP+TNfpr=FP/m−=FP/FP+TNm-表示全部的基准反例,可以认为是女生中的假小子比例

    面积越大,性能越好。
  • 非均等代价:比如把患者诊断为健康,和健康诊断为患者的代价是不一样的。可以使用二分类代价矩阵进行展示cost01(cost0->1)和cost10(cost1->0),值越大,代价越高。
  • 代价敏感错误率:引入代价的错误率,其实就是给错误发生给与cost权重。

比较校验:如何判断实质性差别

  • 假设验证(hyposis test)在度量某种评估结果之后,还不能直接根据指标的评价来评判孰优孰略。因为测试性能不等于泛化性能,其中有一些随机的因素,而且测试集具有局限性。假设验证可以根据统计学规律推断出模型A的泛化性能比B好的概率。
  • 交叉验证t检验(基于成对t检验):如果两个学习器A和B,他们的性能差值为0,则可以认为他们的性能相同,所以我们可以对k折交叉验证(KCV)产生的每对结果做差值,然后进行t检验。步骤大致为1.计算出差值的均值和方差;2.计算τ值,如果结果小于阈值,认为没有显著性差别,如果大于阈值,则认为有显著性差别,平均错误率小的那个比较优越。
  • McNemar检验:建立两学习器分类差别列联表。得到e01,e10。如果e01和e10的差值在临界以内,认为没有显著性差别,否则,认为误差较小的那个性能较好。
    -
  • Friedman+Nemenyi:用于多个算法之间的比较,使用排序算法Friedman检验,可以使用下图来进行直观的理解:

偏差与方差

  • 回归任务中的泛化误差可以拆分为:E=bias+var+ε² 偏差+方程+误差
  • 偏差-方差 窘境(bias-variance-dillema):训练不足,拟合能力不强,偏差主导;训练加深,拟合能力增强,方差开始逐渐主导。
  • 总结:泛化性能由学习算法的能力、数据的充分性及学习任务的难度共同决定。

西瓜书机器学习笔记(第二课):模型选择与评估相关推荐

  1. 西瓜书学习笔记第2章(模型评估与选择)

    西瓜书学习笔记第2章(模型评估与选择) 2.1经验误差与过拟合 2.2评估方法 2.2.1留出法(hold-out) 2.2.2交叉验证法(cross validation) 2.2.3自助法(boo ...

  2. 小吴的《机器学习 周志华》学习笔记 第二章 模型评估与选择

    小吴的<机器学习 周志华>学习笔记 第二章 模型评估与选择 上一周我们介绍了第一章的基础概念,这一次将带来第二章的前三节.后面的2.4 比较检验与2.5 偏差与方差,涉及概率论与数理统计概 ...

  3. 《机器学习》 周志华学习笔记第二章 模型评估与选择(课后习题)

    模型选择与评估 一.内容 1.经验误差与过拟合 1.1 学习器在训练集上的误差称为训练误差(training error),在新样本上的误差称为泛化误差(generalizion error). 1. ...

  4. 《机器学习》(周志华)西瓜书读书笔记

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 第1章 绪论 第2章 模型评估与选择 第3章 线性模型 第4章 决策树 第5章 神经网络 第6章 神经网络 第7章 贝 ...

  5. 西瓜书--学习笔记1

    西瓜书–学习笔记1 第一章 1.分类和回归是监督学习的代表,而聚类是无监督学习的代表. 2.归纳和演绎是科学推理的两大基本手段. 归纳:从特殊到一般的"泛化"过程,即从具体的事实归 ...

  6. 周志华西瓜书学习笔记(一)

    周志华西瓜书学习笔记 第一章 绪论 数据处理分为三个阶段:收集,分析,预测. 一.基本概念 机器学习致力于研究如何通过计算的手段,利用经验来改善系统自身的性能. Mitchell给出的更形式化的定义为 ...

  7. 机器学习笔记之概率图模型(一)背景介绍

    机器学习笔记之概率图模型--背景介绍 引言 背景介绍 联合概率分布的求解困境 条件独立性假设 概率图的分类 总结 引言 从本节开始将介绍概率图模型. 背景介绍 概率图模型(Probabilistic ...

  8. 机器学习笔记之概率图模型(六)推断基本介绍

    机器学习笔记之概率图模型--推断的基本介绍 引言 回顾:贝叶斯学派与推断 推断的系统介绍 场景构建 推断的任务 推断方法介绍 回顾:隐马尔可夫模型中的推断问题 引言 前面部分分别介绍了贝叶斯网络(Ba ...

  9. 机器学习笔记之概率图模型(十)因子图

    机器学习笔记之概率图模型--因子图 引言 回顾:图结构相关思想 因子图 因子图的特点 引言 本节针对精确推断之变量消去法中出现的存在环结构概率图的情况,介绍因子图(Factor Graph),其主要将 ...

最新文章

  1. 使用subgit进行svn迁移至git(branch,tags)
  2. torque安装笔记
  3. mysql 重装,Windows系统中完全卸载MySQL数据库实现重装mysql
  4. 3个Gmail 邀请,先进先出!!
  5. java筛选法求质数_用筛选法找出N内所有素数(质数)
  6. 体验 DreamSpark
  7. 【持久层】Druid简介
  8. mysql常用监控脚本命令列表
  9. linux下载上传速度查看
  10. 毕业设计 - - -数码交流论坛项目功能分析(暂时
  11. 详解电脑换主板需要重装系统吗
  12. 查询CI框架的版本号
  13. ACDSee Photo Studio 7 for Mac(最好用的图像处理软件)
  14. 室内地图制作软件,怎么制作电子地图?
  15. 计算机基础 华师在线,华师在线计算机基础试题答案.doc
  16. 2022紫光展锐数字芯片提前批笔试
  17. Entry name 'kotlin/collections/MapWithDefault.kotlin_metadata' collided
  18. 内核态的文件操作函数:filp_open、filp_close、vfs_read、vfs_write、set_fs、get_fs
  19. 经纬度坐标转换为屏幕坐标
  20. Git分支 查看branch 创建 切换checkout 合并merge(先切回主分支) 删除branch -d 推送push

热门文章

  1. css3运动后留下轨迹尾巴_利用CSS+JS实现唯美星空轨迹运动效果
  2. WF4.0实战(二):超市收银软件
  3. LORA无线远传水表是如何实现远传功能的呢?
  4. [VC]关闭笔记本显示器
  5. 2017中国云计算行业年度盘点:黑马崛起,强者恒强
  6. 编译原理java课程设计_编译原理课程设计词法分析
  7. 水墨风格小程序/小程序云开发/小程序练手
  8. 【快速入门Dfinity】有了转译得到的wasm文件,怎么才能构建一个项目呢?
  9. 关于图文转换的web工具
  10. 《华林科纳-半导体工艺》光刻胶剥离清洗