机器学习是设计算法A,在假设集合H里,根据给定数据集D,选出与实际模式f最为相近的假设g(g可能与f相同,也可能不同)。

那什么情况下学习是可行的?即保证g和f是相似的。

1.数据集内的表现g约等于f;

2.g在数据集外的表现约等于g在数据集内的表现。

结合1,2可保证,由算法在给定数据集上学习到的g(即数据集内的表现g约等于f)在数据集外的表现也约等于f。即g与f相似。

如何保证2?

数据集内表现相同的多个假设在数据集外的部分数据上表现相差极大,即学习效果极差。

霍夫丁不等式,

有一个装有绿色小球和橘色小球的罐子(假设球数无限),从中进行N次有放回的取球实验,在这N次实验中取出橘色小球的频率为v,

只要N足够大,就可以用v来估计mu即罐子中橘色小球的实际概率。

与学习相联系,

当h选定时,只要D里样本数N足够大且样本点独立同分布,

就能保证h在整个输入空间里的表现(异常点的概率)与数据集内的表现(D里异常点的频率)在一定的概率范围内近似相等。

注意,Eout(h)实际是面向整个输入空间的,即数据集D内+数据集D外。

如何保证1?

A根据D在H中选出使得Ein(h)小的h。

注意,2的保证是在给定h的情况下,即h的选择只有1个。

但是,1的保证需要在H中进行选择,如果H的size>1,即h有很多个,可能有限,可能无限,那么2的保证是否受到影响?

坏数据:对于一个h,使得h在该数据内外表现差异很大的数据为坏数据。

可以理解为霍夫丁不等式的左式中概率衡量的事件:Ein(h)和Eout(h)的差异大于容忍度epsilon,

即对于一个h,存在坏数据的概率小于等于霍夫丁的右式。对于一个输入空间X,能够产生的用于训练的数据D有很多个,若对于一个h,给定的数据刚好就是坏数据的概率是小于等于霍夫丁的右式的。

若有M个h,给定的数据是其中某个h的坏数据的概率是小于等于数据为h1的坏数据+数据为h2的坏数据+数据为h3的坏数据+。。。+数据为hM的坏数据。

本质是求并集(小于等于的原因是有可能存在交集)。

这里的M实际是|H|。

只要M是有限值,只要N足够大,不等式的右式就能足够小。

所以,只要假设集大小有限、N足够大------保证Ein和Eout的差异在容忍度内,

A根据D在H中挑选出g------保证Ein小,

就能说学习是PAC可能的。

但是,

如果输入空间X是无限的,那理论上对应的H的数量也是无限的,

那|H|无限时,怎么办?

04 Feasibility of Learning的更多相关文章

  1. 机器学习基石笔记:04 Feasibility of Learning

    原文地址:https://www.jianshu.com/p/f2f4d509060e 机器学习是设计算法\(A\),在假设集合\(H\)里,根据给定数据集\(D\),选出与实际模式\(f\)最为相近 ...

  2. 机器学习基石 4 Feasibility of Learning

    机器学习基石 4 Feasibility of Learning Learning is Impossible? 机器学习:通过现有的训练集 \(D\) 学习,得到预测函数 \(h(x)\) 使得它接 ...

  3. 理解机器为什么可以学习(一)---Feasibility of learning

    主要讲解内容来自机器学习基石课程.主要就是基于Hoeffding不等式来从理论上描述使用训练误差Ein代替期望误差Eout的合理性. PAC : probably approximately corr ...

  4. 林轩田机器学习基石笔记4—Feasibility of Learning

    上节课介绍了机器学习可以分为不同的类型.其中,监督式学习中的二元分类和回归分析是最常见的也是最重要的机器学习问题.本节课,我们将介绍机器学习的可行性,讨论问题是否可以使用机器学习来解决. 一.Lear ...

  5. 【Feasibility of Learning】林轩田机器学习基石

    这一节的核心内容在于如何由hoeffding不等式 关联到机器学习的可行性. 这个PAC很形象又准确,描述了“当前的可能性大概是正确的”,即某个概率的上届. hoeffding在机器学习上的关联就是: ...

  6. (转)深度学习主机环境配置: Ubuntu16.04+Nvidia GTX 1080+CUDA8.0

      深度学习主机环境配置: Ubuntu16.04+Nvidia GTX 1080+CUDA8.0 发表于2016年07月15号由52nlp 接上文<深度学习主机攒机小记>,这台GTX10 ...

  7. Displaying 1-16 of 86 results for: deep learning

    Displaying 1-16 of 86 results for: deep learning Deep Learning By Adam Gibson, Josh Patterson Publis ...

  8. How do I learn machine learning?

    https://www.quora.com/How-do-I-learn-machine-learning-1?redirected_qid=6578644   How Can I Learn X? ...

  9. Ubuntu16.04 + cuda8.0 + GTX1080安装教程

    1. 安装Ubuntu16.04 不考虑双系统,直接安装 Ubuntu16.04,从 ubuntu官方 下载64位版本: ubuntu-16.04-desktop-amd64.iso . 在MAC下制 ...

随机推荐

  1. iOS开发之仿射变换示例总结

    本篇博客比较简单,但还是比较实用的.其中的示例依然使用Swift3.0来实现,该博客算是下篇博客的一个引子,因为我们下篇博客要介绍使用Swift开发iOS应用中常用的一些Extension.而在这些E ...

  2. 2017-3-2 C#基础 集合

    要使用集合必须先引用命名空间,using System.Collections; 集合与数组的不同: 数组:同一类型,固定长度集合:不同类型,不固定长度 集合主要分为六大类:普通集合,泛型集合,哈希表 ...

  3. java 完全二叉树的构建与四种遍历方法

    本来就是基础知识,不能丢的太干净,今天竟然花了那么长的时间才写出来,记一下. 有如下的一颗完全二叉树: 先序遍历结果应该为:1  2  4  5  3  6  7 中序遍历结果应该为:4  2  5 ...

  4. iOS 调试心得

    修复 bug 占用我们日常开发的大部分时间,熟练的使用调试工具可以给我们节约大部分的时间. LLDB 的常用命令 expression expresion 是一个非常常用的命令,我们可以通过这个命令来 ...

  5. 3212: Pku3468 A Simple Problem with Integers

    3212: Pku3468 A Simple Problem with Integers Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 1053  So ...

  6. 剑指offer_数组中的逆序对

    题目描述 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对.输入一个数组,求出这个数组中的逆序对的总数P. 并将P对1000000007取模的结果输出. 即输出P%100 ...

  7. osprofiler在openstack Cinder里的使用

    最近在做OpenStack Cinder driver的性能调试, 之前一直是通过在driver里面加入decorator,完成driver各个接口的执行时间的统计. 其实在openstack,已经在 ...

  8. Vue学习之路---No.5(分享心得,欢迎批评指正)

    同样,首先我们还是回顾一下昨天讲到的东西: 1.常用的Vue修饰器 2.当利用js方法不修改数据,但也可以改变视图时,我们需要整体返回再整体接收 (如: items.example1 = items. ...

  9. eclipse下配置安装ssm图文教程(web版)

    eclipse下配置安装ssm图文教程(web版) 一.安装所需jar包 1.1  mybatis安装包 可以进入GitHub的https://github.com/mybatis/mybatis-3 ...

  10. 队列工厂之RedisMQ

    本次和大家分享的是RedisMQ队列的用法,前两篇文章队列工厂之(MSMQ)和队列工厂之RabbitMQ分别简单介绍对应队列环境的搭建和常用方法的使用,加上本篇分享的RedisMQ那么就完成了咋们队列 ...