Andrew Ng机器学习课程9
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将指数下降。
下面主要说明在何种条件下能够通过training error作为一个generalization error的很好估计,通过hoffeding不等式建立一个upper bound的关系,有利于推出如何的训练条件能够保证是好的估计。最后得到了如下形式的联系:
这是对于一个hypothesis hj来说的,后面要推广到对于hypothesis set中的k个都成立,然后得到了如下形式的泛化指标:
上式说明了一个一致性收敛问题,就是说在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的更多相关文章
- Andrew Ng机器学习课程笔记(五)之应用机器学习的建议
Andrew Ng机器学习课程笔记(五)之 应用机器学习的建议 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7368472.h ...
- Andrew Ng机器学习课程笔记--week1(机器学习介绍及线性回归)
title: Andrew Ng机器学习课程笔记--week1(机器学习介绍及线性回归) tags: 机器学习, 学习笔记 grammar_cjkRuby: true --- 之前看过一遍,但是总是模 ...
- Andrew Ng机器学习课程笔记--汇总
笔记总结,各章节主要内容已总结在标题之中 Andrew Ng机器学习课程笔记–week1(机器学习简介&线性回归模型) Andrew Ng机器学习课程笔记--week2(多元线性回归& ...
- Andrew Ng机器学习课程笔记(六)之 机器学习系统的设计
Andrew Ng机器学习课程笔记(六)之 机器学习系统的设计 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7392408.h ...
- Andrew Ng机器学习课程笔记(四)之神经网络
Andrew Ng机器学习课程笔记(四)之神经网络 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7365730.html 前言 ...
- Andrew Ng机器学习课程笔记(三)之正则化
Andrew Ng机器学习课程笔记(三)之正则化 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7365475.html 前言 ...
- Andrew Ng机器学习课程笔记(二)之逻辑回归
Andrew Ng机器学习课程笔记(二)之逻辑回归 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7364636.html 前言 ...
- Andrew Ng机器学习课程笔记(一)之线性回归
Andrew Ng机器学习课程笔记(一)之线性回归 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7364598.html 前言 ...
- Andrew Ng机器学习课程6
Andrew Ng机器学习课程6 说明 在前面尾随者台大机器学习基石课程和机器学习技法课程的设置,对机器学习所涉及到的大部分的知识有了一个较为全面的了解,可是对于没有动手敲代码并加以使用的情况,基本上 ...
- Andrew Ng机器学习课程10补充
Andrew Ng机器学习课程10补充 VC dimension 讲到了如果通过最小化训练误差,使用一个具有d个参数的hypothesis class进行学习,为了学习好,一般需要参数d的线性关系个训 ...
随机推荐
- suds
Suds: 是一个轻量级的SOAP客户端 pip install suds 可以访问webservice 选择公网的Webservice,http://www.webxml.com.cn/webser ...
- make 的使用参数
- 自主设计BootLoader框架笔记一栏
- (21)打鸡儿教你Vue.js
组件化思想: 组件化实现功能模块的复用 高执行效率 开发单页面复杂应用 组件状态管理(vuex) 多组件的混合使用 vue-router 代码规范 vue-router <template> ...
- org.apache.ibatis.cache.CacheException: Error serializing object
异常: 十二月 26, 2017 3:38:05 下午 org.apache.jasper.servlet.TldScanner scanJars 信息: At least one JAR was s ...
- 浅析python-socket编程
1. 什么是socket? socket是套接字的英文名称, 我们知道在TCP/IP协议簇体系中,将网络状态分为了应用层.传输层.网络层.物理层等四种状态,而socket是与传输层密切相关的,其主要实 ...
- SpringMVC处理请求释放静态资源的三种方式
方式一 在SpringMVC的配置文件中添加如下语句 <mvc:default-servlet-handler/> 说明:当SpringMVC前端控制器对静态资源进行拦截后,在通过处理器映 ...
- 利用python的matplotlib处理计算数据
#!/usr/bin/python # -*- coding: UTF-8 -*- import numpy as np import matplotlib.pyplot as plt import ...
- python 通过下载包setup.py安装模块
下载安装包,并解压到相应的位置 1.打开cmd 2.到达安装目录 3.python setup.py build 4.python setup.py install
- 《Linux设备驱动程序》编译LDD3的scull驱动问题总结***
由于Linux内核版本更新的原因,LDD3(v2.6.10)提供的源码无法直接使用,下面是本人编译scull源码时出现的一些问题及解决方法.编译环境:Ubuntu 10.04 LTS(kernel v ...