关键词:
错误率(error rate);精度(accuracy);经验误差(empirical error);泛化误差(generalization error);过拟合(overfitting);留出法(hold-out);交叉验证法(cross validation);自助法(bootstrapping);训练集(train set)、验证集(valid set)、测试集(test set);

推荐阅读:自助法;训练集(train set)、验证集(valid set)、测试集(test set)

2.1 经验误差与过拟合

关键词:错误率(error rate),精度(accuracy)。错误率好理解,就是m个样本中,a个样本分类错误,则错误率E = a/m 。而精度 就是 1-E。 其实很简单,但是为什么我还要提一提呢,因为机器学习里还有很多相关名词,例如:准确率,召回率,精确度等等,所以希望大家能清楚认识。

关键词:经验误差(empirical error)。在训练集上,预测输出与样本的真实输出之间的差异(差异!)称为经验误差或训练误差。

关键词:泛化误差(generalization)。在新样本上的误差称为泛化误差。

关键词:过拟合(overfitting)。刚接触机器学习时候,就碰到过拟合这个很抽象的词, 当时是说的曲线拟合 。曲线拟合其实就是一个过程。该过程是通过实际曲线上的一些样本点(成为训练样本),经过一个模型训练,得到一条预测曲线。(敲黑板:拟合就是一个过程)。那么过拟合就是,拟合过头了,预测曲线非常好的适合训练样本,然而对实际曲线的其他样本不太适合。 推广一下到分类器(模型)上就是,训练好的分类器对训练样本很好的分类,但是对测试样本的分类结果很糟糕。

有过拟合当然有欠拟合啦,欠拟合可以认为是该分类器学习能力太差,连在训练样本上都没有很好的分类,更不要说在测试样本上了。

2.2 评估方法

关键词:留出法(hold-out)。怎么将给定的数据集划分为训练集和测试集呢?常用的方法在这里有介绍。首先介绍的是留出法,其实这种方法在国内教材和论文中最常见,就是把数据集D划分为两个互斥的集合,其中一个是训练集,一个是测试集。书中给出的参考划分比例是,训练集66.6%~80%。

关键词:交叉验证法(cross validation)。交叉验证法是竞赛中或者比较正式的实验中用得比较多。什么是交叉验证呢? 其实就是将数据集D划分为k个大小相同的互斥的子集,然后用k-1个子集作为训练,剩下那一个子集作为测试。这样就需要训练k个模型,得到k个结果,再取平均即可。这样的方法通常成为“k折交叉验证”。书中还给出了k的参考值,:5,10,20。

关键词:自助法(bootstrapping) 。第一次听说自助法,也从没在文献中看到过,自助法主要是用于小样本!缺点是容易引入估计偏差。具体操作是这样的,对于m个样本的数据集D,每次随机挑选D中的一个样本放到D’中,挑m次,经过计算D中有大约36.8%(≈1/e)的样本未出现在D’中,这样用D’作为训练集,D\D’(“\”表示集合减法)作为测试集。自助法又称为可重复采样,有放回采样。

关键词:训练集(train set)、验证集(valid set)、测试集(test set) 。一开始接触机器学习只知道训练集和测试集,后来听到了验证集这个词,发现验证集和之前所认识的测试集的用法是一样的,一直就把验证集和测试集给混淆了。多亏了西瓜书,终于讲清楚了什么验证集和测试集的区别!

首先需要知道的是,在工程应用中,最终提交给客户的模型是用尽数据集D中的m个样本训练的模型。也就是说,我们的测试集最终还是要用来训练模型的。之前有说到数据集D划分为训练集和测试集,训练集就是用来训练模型,测试集是用来估计模型在实际应用中的泛化能力,而验证集是用于模型选择和调参的。

因此,我个人的理解是在研究过程中,验证集和测试集作用都是一样的,只是对模型进行一个观测,观测训练好的模型的泛化能力。而当在工程应用中,验证集应该是从训练集里再划分出来的一部分作为验证集,用来选择模型和调参的。当调好之后,再用测试集对该模型进行泛化性能的评估,如果性能OK,再把测试集输入到模型中训练,最终得到的模型就是提交给用户的模型。

举例
举个高三学生高考的例子吧,
训练集 就是 平时的作业,习题册等
验证集 就是 一模、二模、三模的试题
测试集 就是 高考试题

训练集是给学生进行学习的,提高学生的能力;验证集是用来检验学生的学习方法,学习方向,学习方式,是否正确;测试集是最终考察学生的成绩如何。

不过幸运的是,我们有多次“高考”的机会,只不过,我们不能去分析高考的试题,因为测试集仅仅作为一个验证。
一般来说,当验证集和测试集具有同分布的时候(即模拟题和高考题几乎一样的时候),在模拟考能拿650分,那么在真实考高中也会在650分左右。

【机器学习-西瓜书】二、模型评估:过拟合;自助法;交叉验证法相关推荐

  1. 【模型评估_方法_交叉验证法】

    上篇文章我们学习了模型评估的方法:留出法.自助法,接下来我们学习交叉验证法~ ****** 交叉验证 ****** 先将数据集D划分为k个大小相似的互斥子集,然后,每次用k-1个子集的并集作为训练集, ...

  2. 《统计学习方法》-李航、《机器学习-西瓜书》-周志华总结+Python代码连载(一)--模型选择+误差评估

    一.模型选择 1.1 模型 模型就是学习的条件概率分布或者决策函数(这里只指监督学习).条件概率的集合:,决策函数的集合:.条件概率表示的模型为概率模型,决策函数表示的模型为非概率模型. 1.2 模型 ...

  3. 机器学习笔记(二)模型评估与选择

    2.模型评估与选择 2.1经验误差和过拟合 不同学习算法及其不同参数产生的不同模型,涉及到模型选择的问题,关系到两个指标性,就是经验误差和过拟合. 1)经验误差 错误率(errorrate):分类错误 ...

  4. [机器学习]西瓜书南瓜书学习(更新中)

    B站网课学习视频 南瓜书datawhale开源内容 南瓜书github开源内容 什么是机器学习 概念介绍 人工智能:让机器变得像人一样拥有智能的学科 机器学习:让计算机像人一样能从数据中学习出规律的一 ...

  5. 机器学习西瓜书-1-2章

    学习目标: 概览机器学习西瓜书 1.2章 学习内容: 第一章 绪论 1.1 基本术语 1.2 假设空间 1.3 归纳偏好 1.4 发展历程 第二章 模型评估与选择 2.1 经验误差与过拟合 2.2 评 ...

  6. 机器学习西瓜书南瓜书 神经网络

    机器学习西瓜书&南瓜书 神经网络 1. 神经元模型 神经网络:由具有适应性的简单单元组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实事件物体所做出的交互反应. 神经网络最基本的成分 ...

  7. 小白学机器学习西瓜书-第三章对数几率回归

    小白学机器学习西瓜书-第三章对数几率回归 3.3 对数几率回归 3.3.1 对数几率函数 3.3.1 估计参数 上一部分我们介绍了线性回归,包括简单的二元回归和多元回归,这两个主要解决的是拟合预测的问 ...

  8. 百面机器学习(2)——模型评估

    目录 评估指标的局限性(准确率,精确率,召回率,均方根误差) ROC曲线(曲线下的面积AUC,P-R曲线) 余弦距离的应用(余弦相似度,余弦距离,欧式距离) A/B测试的陷阱(实验组,对照组) 模型评 ...

  9. 机器学习西瓜书(周志华)第七章 贝叶斯分类器

    第七章 贝叶斯分类器 1. 贝叶斯决策论 1.1 先验分布 1.2 后验分布 1.3 似然估计 1.4 四大概率在贝叶斯分类中指代含义 1. 朴素贝叶斯 7. 课后练习参考答案 1. 贝叶斯决策论 贝 ...

最新文章

  1. Google把AI芯片装进IoT设备,与国内造芯势力何干?
  2. 你写代码,难道是因为热爱吗?
  3. 多线程调用同一个方法,局部变量会共享吗
  4. java加载xml配置文件_java读取配置文件的几种方法
  5. 我眼中的 NCC,WTM 寻亲之旅
  6. 使用Mybatis Generator结合Ant脚本快速自动生成Model、Mapper等文件的方法
  7. python3字符串转数字_Python3基础语法和基本数据类型
  8. CSDN《程序员》杂志创始人蒋涛-推荐《程序员职场第一课》
  9. Android Studio系列教程四--Gradle基础
  10. 3049 舞蹈家怀特先生
  11. 57 spi电平转换的坑
  12. vocabulary
  13. 3种方法解决txt文档乱码
  14. Android 手机震动提示效果 Android Vibrator 手机震动
  15. mysql dp.cal 显示汉子_JS日历插件 - My97 DatePicker
  16. 《共享经济:市场设计及其应用》——…
  17. c++软件开发面试旋极面试题_北京旋极信息技术股份有限公司2015招聘
  18. 原生JS获取QQ好友列表
  19. 哈工大+讯飞推出:高效预训练模型压缩方案GRAIN
  20. 软工大作业·历物语(二)

热门文章

  1. 避免将属性的可见属性层次结构用作用户定义的层次结构中的级别
  2. 【经典算法】——KMP,深入讲解next数组的求解
  3. 每日一句:We are a happy crew in our office.
  4. 如何在小数点前补0,new DecimalFormat(##0.00);
  5. JAXB注解 java 关于xml的注解,自动生成xml文件 - @XML***
  6. python变量的数据类型
  7. pulsar学习笔记1:helloworld
  8. sqoop从hive导入数据到mysql时出现主键冲突
  9. 常用的关系型数据库的优劣与选择
  10. redmine 和 gitolite 的整合