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 前言 ...
随机推荐
- qt加快编译速度
菜单栏->工具-> 选项->构建与运行->构建套件->点击自动检测内容->在同一页面找到 Environment ->点击change ->在弹出的窗口 ...
- 代码格式化工具---indent工具
indent工具,可以把代码格式化成某种风格. 通过命令:rpm -qa | grep indent 查看是否安装了indent工具. 若没有,可使用命令sudo apt-get install ...
- Delphi赋
DELPHI者,经典开发工具.美奂美仑之开发环境也. 盖论DELPHI其身世,实为神界之神物,后借宝蓝公司之手,于1990年代,现于江湖. DELPHI一出江湖,码农爱之,企业爱之.一时间,风雨雷动, ...
- 51 Nod 1430 奇偶游戏(博弈)
1430 奇偶游戏 题目来源: CodeForces 基准时间限制:1 秒 空间限制:131072 KB 分值: 160 难度:6级算法题 收藏 关注 有n个城市,第i个城市有ai个人.Daenery ...
- mac 安装 pycharm
下载安装 链接:https://pan.baidu.com/s/19Hm6yZPL_mOTVAb5YQBZKA 密码:j73n 激活码 56ZS5PQ1RF-eyJsaWNlbnNlSWQiOiI1N ...
- 开源GIT仓库-----gogs
简介:Gogs 是一款极易搭建的自助 Git 服务,其目标是打造一个最简单.最快速和最轻松的方式搭建自助 Git 服务.使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发,并且支持 Go 语 ...
- linux 命令scp
scp命令网络传输文件 上传文件 scp 文件名 usename@10.233.23.100:Data/ 上传文件夹到服务器 scp -r 文件夹(不带/)usename@10.233.23.100: ...
- Spark(四十九):Spark On YARN启动流程源码分析(一)
引导: 该篇章主要讲解执行spark-submit.sh提交到将任务提交给Yarn阶段代码分析. spark-submit的入口函数 一般提交一个spark作业的方式采用spark-submit来提交 ...
- java.lang.ClassNotFoundException: org.apache.jsp.error_jsp
缺少jar包 第一个:standard-1.1.2.jar 第二个:jstl-1.2.jar
- ntpd服务
yum -y install ntp 服务器端 [root@ip-172-31-6-148~]# vim /etc/ntp.conf ...# Use public servers from thep ...