机器学习入门05 - 泛化 (Generalization)
原文链接:https://developers.google.com/machine-learning/crash-course/generalization
泛化是指模型很好地拟合以前未见过的新数据(从用于创建该模型的同一分布中抽取)的能力。
1- 过拟合的风险
机器学习的目标是对从真实概率分布(已隐藏)中抽取的新数据做出良好预测。
过拟合模型在训练过程中产生的损失很低,但在预测新数据方面的表现却非常糟糕。
模型只能从训练数据集中取样,无法查看整体情况。
如果某个模型在拟合当前样本方面表现良好,那么如何相信该模型会对新数据做出良好的预测呢?
奥卡姆剃刀定律:科学家应该优先采用更简单(而非更复杂)的公式或理论。
运用在机器学习中:机器学习模型越简单,良好的实证结果就越有可能不仅仅基于样本的特性。
应用于统计学习理论和计算学习理论领域。这些领域已经形成了泛化边界,即统计化描述模型根据以下因素泛化到新数据的能力:
- 模型的复杂程度
- 模型在处理训练数据方面的表现
虽然理论分析在理想化假设下可提供正式保证,但在实践中却很难应用。
MLCC侧重于实证评估,以评判模型泛化到新数据的能力。
1.1- 获取新数据
机器学习模型旨在根据以前未见过的新数据做出良好预测。
如何获得以前未见过的数据呢?
一种方法是将您的数据集分成两个子集:
- 训练集 - 用于训练模型的子集。
- 测试集 - 用于测试模型的子集。
一般来说,在测试集上表现是否良好是衡量能否在新数据上表现良好的有用指标,前提是:
- 测试集足够大。
- 不会反复使用相同的测试集来作假。
1.2- 机器学习细则
以下三项基本假设阐明了泛化:
- 从分布中随机抽取独立同分布 (i.i.d)的样本。换言之,样本之间不会互相影响。
- 分布是平稳的;即分布在数据集内不会发生变化。
- 从同一分布的数据划分中抽取样本。
在实践中,有时会违背这些假设。例如:
- 想象有一个选择要展示的广告的模型。如果该模型在某种程度上根据用户以前看过的广告选择广告,则会违背 i.i.d. 假设。
- 想象有一个包含一年零售信息的数据集。用户的购买行为会出现季节性变化,这会违反平稳性。
如果违背了上述三项基本假设中的任何一项,那么就必须密切注意指标。
1.3- 总结
- 如果某个模型尝试紧密拟合训练数据,但却不能很好地泛化到新数据,就会发生过拟合。
- 如果不符合监督式机器学习的关键假设,那么我们将失去对新数据进行预测这项能力的重要理论保证。
2- 关键词
泛化 (generalization)
指的是模型依据训练时采用的数据,针对以前未见过的新数据做出正确预测的能力。
过拟合 (overfitting)
创建的模型与训练数据过于匹配,以致于模型无法根据新数据做出正确的预测。
预测 (prediction)
模型在收到输入样本后的输出。
平稳性 (stationarity)
数据集中数据的一种属性,表示数据分布在一个或多个维度保持不变。
这种维度最常见的是时间,即表明平稳性的数据不随时间而变化。
例如,从 9 月到 12 月,表明平稳性的数据没有发生变化。
测试集 (test set)
数据集的子集,用于在模型经由验证集的初步验证之后测试模型。
与训练集和验证集相对。
训练集 (training set)
数据集的子集,用于训练模型。
与验证集和测试集相对。
机器学习入门05 - 泛化 (Generalization)的更多相关文章
- 机器学习入门 - Google机器学习速成课程 - 笔记汇总
机器学习入门 - Google机器学习速成课程 https://www.cnblogs.com/anliven/p/6107783.html MLCC简介 前提条件和准备工作 完成课程的下一步 机器学 ...
- [转]MNIST机器学习入门
MNIST机器学习入门 转自:http://wiki.jikexueyuan.com/project/tensorflow-zh/tutorials/mnist_beginners.html?plg_ ...
- tensorfllow MNIST机器学习入门
MNIST机器学习入门 这个教程的目标读者是对机器学习和TensorFlow都不太了解的新手.如果你已经了解MNIST和softmax回归(softmax regression)的相关知识,你可以阅读 ...
- 机器学习入门:极度舒适的GBDT原理拆解
机器学习入门:极度舒适的GBDT拆解 本文旨用小例子+可视化的方式拆解GBDT原理中的每个步骤,使大家可以彻底理解GBDT Boosting→Gradient Boosting Boosting是集成 ...
- Azure机器学习入门(三)创建Azure机器学习实验
在此动手实践中,我们将在Azure机器学习Studio中一步步地开发预测分析模型,首先我们从UCI机器学习库的链接下载普查收入数据集的样本并开始动手实践: http://archive.ics.uci ...
- 【网络爬虫入门05】分布式文件存储数据库MongoDB的基本操作与爬虫应用
[网络爬虫入门05]分布式文件存储数据库MongoDB的基本操作与爬虫应用 广东职业技术学院 欧浩源 1.引言 网络爬虫往往需要将大量的数据存储到数据库中,常用的有MySQL.MongoDB和Red ...
- web安全之机器学习入门——3.1 KNN/k近邻
目录 sklearn.neighbors.NearestNeighbors 参数/方法 基础用法 用于监督学习 检测异常操作(一) 检测异常操作(二) 检测rootkit 检测webshell skl ...
- JavaScript基础入门05
目录 JavaScript 基础入门05 严格模式 严格模式的设计目的 如何开启使用严格模式 显式报错 字符串 字符串的创建 字符串实例方法之常用API JavaScript 基础入门05 严格模式 ...
- 【机器学习】机器学习入门08 - 聚类与聚类算法K-Means
时间过得很快,这篇文章已经是机器学习入门系列的最后一篇了.短短八周的时间里,虽然对机器学习并没有太多应用和熟悉的机会,但对于机器学习一些基本概念已经差不多有了一个提纲挈领的了解,如分类和回归,损失函数 ...
随机推荐
- BZOJ 2016十连测 D3T3序列
主席树 #include<cstdio> #include<cstring> #include<algorithm> #include<vector> ...
- n的m划分 整数拆分问题
n的m划分 将n划分成若干个不超过m的数(正整数)的和,问有几种划分情况. 现在根据n和m的关系,考虑下面几种情况: 当n=1时,不论m的值为多少,只有一种划分,即{1}: 当m=1时,不论n的值为多 ...
- qt布局管理-缩放、多窗口切换
关于缩放的布局 所有控件要求与主窗口同时缩放,那么在所有控件设置好布局后,最后点击最外侧的主控件,选择水平布局或者垂直布局即可. 另外每个空间的属性可更改,如SizePolicy用于设置空间是否可缩放 ...
- CAS SSO单点登录实例
1.因为是本地模拟sso环境,而sso的环境测试需要域名,所以需要虚拟几个域名出来,步骤如下: 2.进入目录C:\Windows\System32\drivers\etc 3.修改hosts文件 12 ...
- java idea导入ecli项目
转:https://blog.csdn.net/deng11408205/article/details/79723213 1.关闭所有项目:开启idea进入导入项目选项 2.选择.classpath ...
- es6数组
将两类对象转为真正的数组 Array.from方法用于将两类对象转为真正的数组:类似数组的对象(array-like object)和可遍历(iterable)的对象(包括ES6新增的数据结构Set和 ...
- org.apache.commons.httpclient工具类
import org.apache.commons.httpclient.DefaultHttpMethodRetryHandler; import org.apache.commons.httpcl ...
- A Senior Interview
1.How many time did they spent to plan the final project? 答:两天左右,两次开会. 4.How many time did they spen ...
- java -version显示版本和JAvA_HOME配置不一样
当你需要安装多个版本的jdk时,可能会遇到更改了JAVA_HOME后java -version不变的情况. 一般情况下,将你的JAVA_HOME改为你要用的jdk的安装路径,然后你使用的就是这个版本的 ...
- 通过TensorFlow训练神经网络模型
神经网络模型的训练过程其实质上就是神经网络参数的设置过程 在神经网络优化算法中最常用的方法是反向传播算法,下图是反向传播算法流程图: 从上图可知,反向传播算法实现了一个迭代的过程,在每次迭代的开始,先 ...