Andrew Ng机器学习课程9


首先以一个工匠为例,说明要成为一个出色的工匠,就需要掌握各种工具的使用,才能知道在具体的任务中选择什么工具来做。所以今天要讲的就是机器学习的理论部分。


bias variance trade off,以线性回归为例,underfitting对应high的bias(偏差),overfitting对应high的variance(方差),主要是拟合出了一些奇怪的特性。同样的对于分类问题,复杂的分类边界(decision boundary)也可能出现high variance,而简单的分类边界出现high bias。


training data set:(x(i),y(i))独立同分布,定义了一个简单的训练误差为犯错误的个数所占样本数的比例,叫做经验风险最小化(ERM)。这样的话是一个非凸优化问题,比较困难,通常采用其近似形似进行。利用e^作为对generalization error的估计,我们最关心的还是prediction error,也就是在实际使用中的error,叫做generalization error。跟台大机器学习课程一样,引入了霍弗丁不等式(hoffeding)来说明一个upper bound,独立同分布的变量的观测值的均值估计的量与真实的量之间的差大于某一个值得概率要小于某一个与差值相关的概率,说明一个非常有意义的事情,当观测的样本数量逐渐增加,这个概率的upper bound将指数下降。

ϕ^=1m∑xi
p(|ϕ−ϕ^|>γ)≤2exp(−2γ2m)

下面主要说明在何种条件下能够通过training error作为一个generalization error的很好估计,通过hoffeding不等式建立一个upper bound的关系,有利于推出如何的训练条件能够保证是好的估计。最后得到了如下形式的联系:

p(|e(hj)−e^(hj)|>γ)≤2exp(−2γ2m)

这是对于一个hypothesis hj来说的,后面要推广到对于hypothesis set中的k个都成立,然后得到了如下形式的泛化指标:

p(在hypothesis set中不存在|e(hj)−e^(hj)|>γ)≥1−2k×exp(−2γ2m)

上式说明了一个一致性收敛问题,就是说在hypothesis set中至少以概率为1−2k×exp(−2γ2m)得到的训练误差的估计e^(h)与generalization error e(h)之间的差值在γ内,这就是uniform convergence 的结果。

后面又引入了sample complexity即样本复杂度bound,说明的是为了达到对误差的一定bound或需要多少训练样本。公式中可以看出,log选项说明对于增加模型复杂度即Hypothesis的数量k,而在保证同样的error bound时,样本数量不用增加太多,因为log是增长速度最慢的一个函数了。


training error会随着hypothesis model complexity的增加而下降,而generalization error随之下降后增加,对应着high bias到high variance,即underfitting到overfitting


2015-9-10 艺少

Andrew Ng机器学习课程9的更多相关文章

  1. Andrew Ng机器学习课程笔记(五)之应用机器学习的建议

    Andrew Ng机器学习课程笔记(五)之 应用机器学习的建议 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7368472.h ...

  2. Andrew Ng机器学习课程笔记--week1(机器学习介绍及线性回归)

    title: Andrew Ng机器学习课程笔记--week1(机器学习介绍及线性回归) tags: 机器学习, 学习笔记 grammar_cjkRuby: true --- 之前看过一遍,但是总是模 ...

  3. Andrew Ng机器学习课程笔记--汇总

    笔记总结,各章节主要内容已总结在标题之中 Andrew Ng机器学习课程笔记–week1(机器学习简介&线性回归模型) Andrew Ng机器学习课程笔记--week2(多元线性回归& ...

  4. Andrew Ng机器学习课程笔记(六)之 机器学习系统的设计

    Andrew Ng机器学习课程笔记(六)之 机器学习系统的设计 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7392408.h ...

  5. Andrew Ng机器学习课程笔记(四)之神经网络

    Andrew Ng机器学习课程笔记(四)之神经网络 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7365730.html 前言 ...

  6. Andrew Ng机器学习课程笔记(三)之正则化

    Andrew Ng机器学习课程笔记(三)之正则化 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7365475.html 前言 ...

  7. Andrew Ng机器学习课程笔记(二)之逻辑回归

    Andrew Ng机器学习课程笔记(二)之逻辑回归 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7364636.html 前言 ...

  8. Andrew Ng机器学习课程笔记(一)之线性回归

    Andrew Ng机器学习课程笔记(一)之线性回归 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7364598.html 前言 ...

  9. Andrew Ng机器学习课程6

    Andrew Ng机器学习课程6 说明 在前面尾随者台大机器学习基石课程和机器学习技法课程的设置,对机器学习所涉及到的大部分的知识有了一个较为全面的了解,可是对于没有动手敲代码并加以使用的情况,基本上 ...

  10. Andrew Ng机器学习课程10补充

    Andrew Ng机器学习课程10补充 VC dimension 讲到了如果通过最小化训练误差,使用一个具有d个参数的hypothesis class进行学习,为了学习好,一般需要参数d的线性关系个训 ...

随机推荐

  1. noi.ac #46 最长上升子序列

    \(des\) 长度为 \(n\) 的序列 \(A\),从中删去恰好 \(k\) 个元素(右边的元素往左边移动),记 \(cnt\) 为新 序列中 \(Ai = i\) 的元素个数(即权值与下标相同的 ...

  2. [golang]写了一个可以用 go 来写脚本的工具:gosl

    转自:https://golangtc.com/t/53cca103320b52060a000030 写了一个可以用 go 来写脚本的工具:gosl 代码和使用说明可以看这里: http://gith ...

  3. [golang]text/template模板

    这个可以用来处理text文本,不过我更偏爱做成代码生成器. [golang]text/template模板 package main import ( "os" "tex ...

  4. QuartzNet 远程管理持久化job 项目, 源码在Github..希望对大家有所帮助

    文章目录 为了方便大家去学习 QuartzNet 与 CrystalQuartz 更多信息请点击链接查看 简介 结构图 为了方便大家去学习 QuartzNet 与 CrystalQuartz 更多信息 ...

  5. 深入理解JVM虚拟机13:再谈四种引用及GC实践

    Java中的四种引用类型 一.背景 Java的内存回收不需要程序员负责,JVM会在必要时启动Java GC完成垃圾回收.Java以便我们控制对象的生存周期,提供给了我们四种引用方式,引用强度从强到弱分 ...

  6. ORACLE数据库特性

    目录 ORACLE数据库特性 一.学习路径 二.ORACLE的进程情况 三.ORACLE服务器的启动和关闭 (SQLPLUS环境挂起和恢复等) 连接Oracle的几种方式 四.几个关注点 1. ORA ...

  7. [spring-boot] 配置随机端口

    第一种: server.port=0 第二种: //自定义一个范围 server.port=${random.int[1024,9999]}

  8. CNS、ENS和PNS的发育过程

    central nervous system (CNS) peripheral nervous system (PNS) enteric nervous system (ENS) 做这部分的科研必须要 ...

  9. win10安装Navicat 12 for MySQL

    Navicat 下载地址: https://blog.csdn.net/u013600314/article/details/80605981 Navicat 连接Mysql 的方法:https:// ...

  10. Flink 之 Data Sink

    首先 Sink 的中文释义为: 下沉; 下陷; 沉没; 使下沉; 使沉没; 倒下; 坐下; 所以,对应 Data sink 意思有点把数据存储下来(落库)的意思: Source  数据源  ---- ...