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. Linux中三种SCSI target的介绍之SCST

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/scaleqiao/article/deta ...

  2. P2502 [HAOI2006]旅行——暴力和并查集的完美结合

    P2502 [HAOI2006]旅行 一定要看清题目数据范围再决定用什么算法,我只看着是一个蓝题就想到了记录最短路径+最小生成树,但是我被绕进去了: 看到只有5000的边,我们完全可以枚举最小边和最大 ...

  3. 解决Spring Boot 拦截器注入service为空的问题

    问题:在自定义拦截器中,使用了@Autowaire注解注入了封装JPA方法的Service,结果发现无法注入,注入的service为空 0.原因分析 拦截器加载的时间点在springcontext之前 ...

  4. archlinux安装nvidia-1050ti闭源驱动教程,亲测

    link:https://blog.csdn.net/u014025444/article/details/91454059

  5. [学习笔记] 二叉查找树/BST

    平衡树前传之BST 二叉查找树(\(BST\)),是一个类似于堆的数据结构, 并且,它也是平衡树的基础. 因此,让我们来了解一下二叉查找树吧. (其实本篇是作为放在平衡树前的前置知识的,但为了避免重复 ...

  6. NumPyArray

    import arcpy import numpy # Create a simple array from scratch using random values myArray = numpy.r ...

  7. JVM 类加载器深入解析以及重要特性剖析

    1.类加载流程图 从磁盘加载到销毁的完整过程. 2.类加载流程图2 1.加载: 就是把二进制形式的java类型读入java虚拟机中 2.连接: 验证.准备.解析. 连接就是将已经读入到内存的类的二进制 ...

  8. JVM 数组创建的本质

    1.创建数组 创建一个MyParent4[] 数组 public class MyTest4 { public static void main(String[] args) { MyParent4[ ...

  9. GIS地理工具案例教程——批量合并影像

    GIS地理工具案例教程——批量合并影像 商务合作,科技咨询,版权转让:向日葵,135—4855__4328,xiexiaokui#qq.com 描述:合并目录下的所有影像 功能:对指定工作空间下的栅格 ...

  10. [Eclipse]已经写好的代码怎样切换为unix下的换行符?

    问题:使用eclise提交文件到github,每行文件后面都有^M字符 切换换行符的显示格式, 但是这样只能对新文件起作用,修改旧文件: