机器学习是设计算法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. Zabbix简介及安装

    前言 未经监控就上线的系统,就是裸奔,耍流氓. 监控对我们来说太重要了,监控工具也有很多,像,Cacti,Nagios,Ganglia,Zabbix等等,今天我们要介绍的是Zabbix,它的功能很强大 ...

  2. 每天一个linux命令(51)--grep命令

    linux系统中grep 命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来.grep 全称是 global regular expression print,表示全局正则 ...

  3. 从 http 升级到 https 过程中遇到的一些问题

    Apple 2017年1月1号起要求Appstore 上线的应用都必须使用 https 加密请求协议,在二月份又改为建议 从 http 升级为 https 协议,此为背景. 公司做的APP同时在App ...

  4. 延时循环数组 DelayLoops

    在操作mongodb数据库时,查询了数据得到一个数组,然后还得遍历这个数组,再对每个数组的值进行数据库相关的增删改查, 如果单纯的遍历会出错.所以才写了这个简单的类. var a = [1,2,3,4 ...

  5. 用PHP ping 一个 IP

    最近要做一个 测试IP列表 是否能连通的功能.大家都知道我们一般用 ping 命令就可以看到IP端口可不可以连通.那在程序里要怎么做呢? 我们在网上找到很多都是使用  exec("ping ...

  6. 阿里巴巴Java开发手册快速学习

    Java作为一门名副其实的工业级语言,语法友好,学习简单,大规模的应用给代码质量的管控带来了困难,特别是团队开发中,开发过程中的规范会直接影响最终项目的稳定性. 善医者“未有形而除之”,提高工程健壮性 ...

  7. webots自学笔记(一)软件界面和简单模型仿真

    本人是某非理工类某高校大四狗,由于毕设研究需要使用webots软件,在学习使用webots的过程花费了很多时间.由于这个软件基本没有什么中文资料,所以想把自己所学到的一些东西写下来,如有什么错误的地方 ...

  8. Visual Studio 2017 ASP.NET Core开发

    Visual Studio 2017 ASP.NET Core开发,Visual Studio 2017 已经内置ASP.NET Core 开发工具. 在选择.NET Core 功能安装以后就可以进行 ...

  9. 1675: [Usaco2005 Feb]Rigging the Bovine Election 竞选划区(题解第一弹)

    1675: [Usaco2005 Feb]Rigging the Bovine Election 竞选划区 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit:  ...

  10. 字符编码的种类:ASCII、GB2312、GBK、GB18030、Unicode、UTF-8、UTF-16、Base64

    ASCII码ASCII:https://zh.wikipedia.org/wiki/ASCIIASCII(American Standard Code for Information Intercha ...