误差来自于偏差和方差(bias and variance)
 
对于随机变量 X,假设其期望和方差分别为 μ 和 σ2。随机采样 N 个随机变量构成样本,计算算术平均值 m,并不会直接得到 μ (除非采样无穷多个样本点)。
 
假设 m 和 s2 是样本均值和样本方差,由于样本都是随机抽取的,m 和 s2 也是随机的,那么如何构造的 μ  的 estimator?
如果采样很多次,每次都计算得到一个不同的 m,对这些变量 m 求期望,得到的就是对随机变量 X 的均值 μ 的估计:
,所以对随机变量 X 的均值的估计是无偏的
 
再对 m 求方差,根据定义,1/N 拿出来会套一个平方,而每次采样都是独立的,所以:

接下来,如何构造 σ的 estimator?=> 按照定义应该是对 s2 求期望:

可以发现这个估计是有偏的,修正:

回到机器学习的误差问题上,以 linear regression 为例:

同一个模型,怎么找很多个 f* 呢?——做很多次实验就好了。

为什么简单的模型比较不容易产生高方差的误差?
因为简单的模型受不同训练数据选取的影响不太大,而复杂模型的结果就会因此散布的很开(large variance)。
 
 
为什么简单模型的偏差误差可能比较大?
直观解释,简单模型的 function 的空间比较小,当定义模型之后就意味着最好的一个模型只能从这组 function set 中选出来,可能这个比较小的函数空间并没有包含到要找的 target,所以偏差会比较大。
 
复杂模型比较不容易出现高偏差的误差(蓝色线是红色线的平均,黑色线是 target):

underfitting:  Large bias, Small variance

overfitting:  Large variance, Small bias

怎么处理两类误差?
如果模型不能很好的拟合训练数据,就是 large bias  => 更复杂的模型;增加更多特征
 如果可以很好的拟合训练数据,但不能很好但拟合测试数据,就是 large variance  => 收集更多数据,数据增强;如果收集不到数据了,增加正则化惩罚项
 
 
怎么选择模型?
可靠的做法:cross validation
把训练集分成 training set 和 validation set 两部分,这样模型在 testing set 的 pubilc 上的表现就可以比较好的代表其在private集上的表现。(没有靠任何测试集信息决定模型)
 
更进一步的方法:先把训练集分成 N 个等份,分别作为 val 训练,取最优平均误差的模型,固定后再用全部的训练集训练一次

机器学习中的误差 Where does error come from?的更多相关文章

  1. 机器学习中的Bias(偏差),Error(误差),和Variance(方差)有什么区别和联系?

    前几天搜狗的一道笔试题,大意是在随机森林上增加一棵树,variance和bias如何变化呢? 参考知乎上的讨论:https://www.zhihu.com/question/27068705 另外可参 ...

  2. paper 126:[转载] 机器学习中的范数规则化之(一)L0、L1与L2范数

    机器学习中的范数规则化之(一)L0.L1与L2范数 zouxy09@qq.com http://blog.csdn.net/zouxy09 今天我们聊聊机器学习中出现的非常频繁的问题:过拟合与规则化. ...

  3. 机器学习中的范数规则化之(一)L0、L1与L2范数(转)

    http://blog.csdn.net/zouxy09/article/details/24971995 机器学习中的范数规则化之(一)L0.L1与L2范数 zouxy09@qq.com http: ...

  4. 机器学习中的范数规则化之(一)L0、L1与L2范数 非常好,必看

    机器学习中的范数规则化之(一)L0.L1与L2范数 zouxy09@qq.com http://blog.csdn.net/zouxy09 今天我们聊聊机器学习中出现的非常频繁的问题:过拟合与规则化. ...

  5. 机器学习中的K-means算法的python实现

    <机器学习实战>kMeans算法(K均值聚类算法) 机器学习中有两类的大问题,一个是分类,一个是聚类.分类是根据一些给定的已知类别标号的样本,训练某种学习机器,使它能够对未知类别的样本进行 ...

  6. 机器学习中的范数规则化-L0,L1和L2范式(转载)

    机器学习中的范数规则化之(一)L0.L1与L2范数 zouxy09@qq.com http://blog.csdn.net/zouxy09 今天我们聊聊机器学习中出现的非常频繁的问题:过拟合与规则化. ...

  7. 机器学习中模型泛化能力和过拟合现象(overfitting)的矛盾、以及其主要缓解方法正则化技术原理初探

    1. 偏差与方差 - 机器学习算法泛化性能分析 在一个项目中,我们通过设计和训练得到了一个model,该model的泛化可能很好,也可能不尽如人意,其背后的决定因素是什么呢?或者说我们可以从哪些方面去 ...

  8. 偏差(Bias)和方差(Variance)——机器学习中的模型选择zz

    模型性能的度量 在监督学习中,已知样本 ,要求拟合出一个模型(函数),其预测值与样本实际值的误差最小. 考虑到样本数据其实是采样,并不是真实值本身,假设真实模型(函数)是,则采样值,其中代表噪音,其均 ...

  9. 机器学习中的规则化范数(L0, L1, L2, 核范数)

    目录: 一.L0,L1范数 二.L2范数 三.核范数 今天我们聊聊机器学习中出现的非常频繁的问题:过拟合与规则化.我们先简单的来理解下常用的L0.L1.L2和核范数规则化.最后聊下规则化项参数的选择问 ...

随机推荐

  1. Ng-Matero:基于 Angular Material 搭建的中后台管理框架

    前言 目前市面上关于 Angular Material 的后台框架比较少,大多都是收费主题,而且都不太好用. 很多人都说 Material 是一个面向 C 端的框架,其实在使用其它框架做管理系统的时候 ...

  2. 跟我学SpringCloud | 第十一篇:使用Spring Cloud Sleuth和Zipkin进行分布式链路跟踪

    SpringCloud系列教程 | 第十一篇:使用Spring Cloud Sleuth和Zipkin进行分布式链路跟踪 Springboot: 2.1.6.RELEASE SpringCloud: ...

  3. Python 定义自己的常量类

    在实际的程序开发中,我们通常会将一个不可变的变量声明为一个常量.在很多高级语言中都会提供常量的关键字来定义常量,如 C++ 中的 const , Java 中的 final 等,但是 Python 语 ...

  4. 从零开始认识Dubbo

    目录 1.Dubbo是什么 2.Dubbo能做什么 3.Dubbo架构 4.Dubbo的使用方法 5.使用Dubbo可能遇到的问题 1.Dubbo是什么 http://dubbo.apache.org ...

  5. Appium+python自动化(二十一)- 让猴子按你指令大闹手机,让你成为耍猴高手 - Monkey(猴子) - MonkeyScript(超详解)

    简介 一年一度的暑假如期而至,每年必不可少的,便是<西游记>这部经典电视连续剧的播出,作为一名90后,对于这部经典剧的情谊,就是观看已成为一种习惯.依然深刻的记得,小时候妈妈为了催促我睡觉 ...

  6. Neo4j电影关系图Cypher

    , tagline:'Welcome to the Real World'}) }) }) }) }) }) }) }) CREATE (Keanu)-[:ACTED_IN {roles:['Neo' ...

  7. SpringBoot工程热部署

    SpringBoot工程热部署 1.在pom文件中添加热部署依赖 <!-- 热部署配置 --> <dependency> <groupId>org.springfr ...

  8. 一文带你实现RPC框架

    想要获取更多文章可以访问我的博客 - 代码无止境. 现在大部分的互联网公司都会采用微服务架构,但具体实现微服务架构的方式有所不同,主流上分为两种,一种是基于Http协议的远程调用,另外一种是基于RPC ...

  9. kubernetes的volume的权限设置(属主和属组)

    apiVersion: v1kind: Podmetadata: name: hello-worldspec:  containers:  # specification of the pod's c ...

  10. php laravel5.6引入geetest 行为验证

    php laravel5.6引入geetest 行为验证 使用必要性 网站和APP,在所有可能被机器行为攻击的场景,例如但不限于注册.登录.短信接口.查询接口.营销活动.发帖评论等等,都可以部署使用「 ...