Andrew Ng机器学习课程10
Andrew Ng机器学习课程10
a example
如果hypothesis set中的hypothesis是由d个real number决定的,那么用64位的计算机数据表示的话,那么模型的个数一共有k=264d,那么训练样本的数量由上一节课的公式可推出训练样本的数量为:
。为保证ERM在这样的hypothesis set上能够达到一定的error bound,训练样本的数量需要达到上式得要求。
VC dimension
假定有d个点的数据集S,hypothesis set H能够shatter(打散)S,即将S中的数据点分为任意的标签,就说H 能 shatter S 。二维平面上的没有线性分类器能够shatter 4个数据点的。
然后定义了VC dimension,指的就是H能够打散的S中的最大数据点数,只要存在就行,不一定包含所有这些数据点(比如在一条直线上)的情况。再解释就是,只能shatter VC dimension个数据点,而不能shatter 任意一个增加一个的数据点。推广一下,对于n维度的线性分类器,其VC dimension是n+1。
对于hypothesis set 可以有无限多个hypothesis,但是能够shatter的数量却是有限的VC dimension,这就可以用来给出一个generalization error bound,解释学习算法的有效性。得出m的阶数必须至少跟vc dimension d的阶数相同。实际上VC dimension大致跟参数的个数相近,或者呈线性关系。
问题:为何SVM不过拟合?
具有large margin的classifier通常有较低的VC dimension,主要是因为具有这样large margin的hypothesis能够shatter的点数要比正常的要少,也就说明了VC dimension较少。 而在理论上数学上的分析,large margin使得模型的VC dimension有一个upper bound,而且这个upper bound跟X的维度无关,也就说即使将X转换为无限维度,也不影响其VC dimension。
算法横向连接:
logistic regression 和SVM都是两种对empirical risk minimization 算法的近似。其实就是选择误差函数是那种,我记得台大林轩田的解释就比较清楚,回过头来再看看。
Model Selection
比如choose the 多相似的次数,局部线性回归中的窗口宽度,或者是SVM中的L1 regularizer的C的大小等。
下面将如何进行选择:
比较所有的model中training error最小的?too stupid
hold-out cross validation:
70%作为training set,然后30%作为validation set,或者交叉验证等。通常样本数据是非常宝贵的,比较难的的,对于留出30%的数据来进行model selection是比较浪费的。
k-fold CV
将所有的数据分为k个部分,
leave one out CV,当数据量非常少时,才进行这样的操作,训练时间比较长。
VC dimension的这个bound实际上是非常loose的,只具有指导意义。
feature selection
forward search algorithm:
贪婪算法类似,每次选择剩余中最好的特征,从一个开始,选择最好的validation error的feature,然后加入F中,然后从剩余的中在寻找与F中已有的合在一起具有最好的validation error的特征加入F中,就这样一步一步的选出k个最好的特征。
这个算法被叫做wrapper feature selection,
backward search algorithm:
每次从F中删除一个最没用的特征
这不一定能找到最好的特征子集。对于文本特征,特征特别多,
filter feature selection method
对于特征xi对于y的影响度,比如相关度,correct(xi,y),MI(xi,y),定义可以参看《数学之美》中的一些文本处理的章节。K-L divergence,mutual information,两者之间的p(x,y)与p(x)p(y)的KL divergence,如果是比较大,则x能够tell一些y的information,如果不相干,或者独立,则两者距离特别近,,选择k个最大相关度或者互信息的特征,而k的选择依然是通过cross validation来选择,top 1,top 2,等等
2015-9-11 艺少
Andrew Ng机器学习课程10的更多相关文章
- Andrew Ng机器学习课程10补充
Andrew Ng机器学习课程10补充 VC dimension 讲到了如果通过最小化训练误差,使用一个具有d个参数的hypothesis class进行学习,为了学习好,一般需要参数d的线性关系个训 ...
- Andrew Ng机器学习课程笔记(五)之应用机器学习的建议
Andrew Ng机器学习课程笔记(五)之 应用机器学习的建议 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7368472.h ...
- Andrew Ng机器学习课程笔记(四)之神经网络
Andrew Ng机器学习课程笔记(四)之神经网络 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7365730.html 前言 ...
- Andrew Ng机器学习课程笔记(一)之线性回归
Andrew Ng机器学习课程笔记(一)之线性回归 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7364598.html 前言 ...
- 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/7365475.html 前言 ...
- Andrew Ng机器学习课程笔记(二)之逻辑回归
Andrew Ng机器学习课程笔记(二)之逻辑回归 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7364636.html 前言 ...
随机推荐
- h5页面滑动卡顿解决方法
解决方式: 给滚动的元素加样式:-webkit-overflow-scrolling: touch; -webkit-overflow-scrolling(允许独立的滚动区域和触摸回弹) 如果值为au ...
- IntelliJ IDEA 2017 JDK Tomcat Maven 配置步骤详解(一)
要求 配置 Java基础环境(实际上应该在虚拟机linux环境下 安装CentOS 7,但是我这电脑实在承受不住了) 安装 开发工具 IntelliJ IDEA 2017.1 第一部分: JDK ...
- 【随记】SQL Server配置管理器”远程过程调用失败“的问题解决
打开配置管理器时出现如下错误: 问题原因: 在电脑上安装vs2012.vs2013,vs2015.vs2017.vs2019时会安装[Express LocalDB] 解决方案: 卸载所有[XXXLo ...
- Oracle表空间 与 分页
目录 Oracle表空间 表空间的构建以及数据文件的挂接 创建一个用户,并指定专有的永久表空间和临时表空间 伪列 分页 Oracle表空间 一个表空间可以包含1至n个数据文件 一个数据文件必然属于某个 ...
- Spring IOC的缓存
1.将上一篇的测试代码修改如下 public class SpringTest { public static void main(String[] args) { ClassPathResource ...
- Eclipse 搭建Struts2
Eclipse版本 Mars Release (4.5.0) Struts版本 struts-2.5.20 下载地址:https://struts.apache.org/download.cgi#st ...
- 小程序 跳转web-view 点击左上角返回需要点击2次才能返回
小程序 跳转web-view 点击左上角返回需要点击2次才能返回 再html页面引入js即可解决 <script type="text/javascript" src=& ...
- ThinkPHP5使用phpspreadsheet导入导出Excel
引用类: use PhpOffice\PhpSpreadsheet\IOFactory; use PhpOffice\PhpSpreadsheet\Cell\Coordinate; use Php ...
- SKU是什么意思?
在做电商项目时候必定会遇到这个词,那是什么意思呢?其实简单来讲就是一个单位. SKU全称为Stock Keeping Unit(库存量单位),即库存进出计量的基本单元,可以是以件,盒,托盘等为单位.S ...
- jsch连接sftp后连接未释放掉问题排查
项目中通过jsch中的sftp实现上传下载文件.在压测过程中,由于调用到sftp,下载文件不存在时,系统不断抛出异常,内存飙升,逐渐把swap区也占满,通过top监控未发现占用内存的进程,通过查找ss ...