本讲内容

1. VC dimension (Vapnik-Chervonenkis 维)

2. Model selection(模型选择) 

  --cross validation(交叉验证)

  --feature selection(特征选择)

3. Bayesian statistics regularization(贝叶斯统计正则化)

1. VC维

首先定义shatter

给定一个训练集 ,如果一个假设类H,对S的任意一种标记方式都能实现完美的预测,那么我们认为一个假设类H能够shatters(分散)S。完美的预测是指:不管对S中的数据如何标注,H中都存在假设h,使得h对S的分类误差为0.

定义VC维

一个假设类H的VC维()是指能够被H  shatter的最大集合的尺寸。

例如存在包含三个训练样本的集合S,如下图所示,对S的任意一种标记方式,都存在一个二维的线性分类器能够对它们完美预测。如下图:

但是并不是包含三个样本的所有集合,二维线性分类器都可以shatter。比如:

这样就不存在线性二维分类器可以完美预测。

但是对于所有含有四个样本的训练集S,都不存在二维线性分类器能够实现对其任意标记的完美预测,因此我们说包含所有二维线性分类器的假设类H的VC维

 = 3

结论: 给定一个假设类H(可以是无限假设类), = d,那么至少在  的概率下,对所有的假设h,有

由此可以推出,至少在  的概率下,有

引理:

为了保证  这个结论至少在  的概率下成立,充分条件为

对于ERM算法来说,样本复杂度和假设类的VC维呈线性关系,同时大多数,正常情况下,假设类的VC维和假设的参数数量差不多,因此可以得出,需要的训练样本数和参数数量大致是呈线性关系的。

对于SVM来说,即使我们将输入特征映射到无限维的特征空间,按照正常逻辑来说,SVM的VC维应该是无穷大。但是事实证明,具有较大间隔的SVM分类器,都具有较小的VC维。

假如我们只考虑半径为R以内的数据点,同时只考虑那些间隔大于  的假设,那么这样的假设类H的VC维具有如下的上界:

因此包含较大间隔线性SVM分类器的假设的假设类的VC维不依赖于X的维度。

2.模型选择

2.1 Hold-out cross validation(保留交叉验证)

split S into two subset :training subset(70%), cv subset(30%)

2.2 k-fold cross validation(k重交叉验证)

把S分成k部分,每次用k-1个部分进行训练,用剩下的一个部分用来验证。轮流交换验证的部分。最后对k个结果取平均。

通常取k=10比较常见

2.3 leave-one-out cross validation(留一交叉验证) 

k=m的k重交叉验证的特例。每次只留出一个样本进行验证。

3. 特征选择

有的时候,特征的数量是非常大的,但是可能只是很小一部分的特征跟学习任务是有关系的. 这个时候就需要特征选择算法减少特征的数量。对n个特征来说,每个特征都存在选择和不选择的情况,因此特征选择一共存在  个子集。采用枚举每个子集的方法来得到最优特征选择结果,代价是非常高的。对于不同的学习任务,通常会使用不同的启发式规则进行搜索。

3.1  前向搜索算法(forward search)

start with 

Repeat

{

  (1)for i = 1:n

      try adding feature i to F;

        evaluate using cross-validation ;

   (2)set  

}

output best hypothesis found.

每次都考虑从那些尚未被选择的特征中 选出最好的一个特征添加到F中。 

3.2 后向搜索算法 (Backward search)

Start with

delete features one at a time

当样本数远小于特征数时,该算法可能没有意义,因为会导致过拟合。

前向搜索和后向搜索 统称为 “封装(wrapper)”特征选择算法。这种算法在计算能力满足要求的情况下,性能是很不错的。但是对于文本分类这样的问题,特征数目特别多,前向选择的计算量会特别大。

"过滤(Filter)"特征选择算法

for each feature i

compute some measure of how informative xi is about y.

一种measure 是计算xi和y的相关度,然后选择相关度最高的k个特征

另外一种measure是计算xi和y的互信息(mutual information)

        

当xi和y相互独立时,xi和y的联合概率分布与xi和y的概率分布乘积得到的概率分布,其KL散度为0.

第十讲完。

转载于:https://www.cnblogs.com/madrabbit/p/7099557.html

(笔记)斯坦福机器学习第十讲--特征选择相关推荐

  1. 趣谈网络协议笔记-二(第十讲)

    趣谈网络协议笔记-二(第十讲) UDP协议:因性善而简单,难免碰到"城会玩" 自勉 如果手上没有剑,我就无法保护你.如果我一直握着剑,我就无法抱紧你.--<Bleach> ...

  2. 【数学建模笔记】【第十讲(2)】聚类模型之:系统(层次)聚类及spss实现

    系统(层次)聚类解决了K-均值聚类的一个最大的问题:聚类的个数需要自己给定. 一.系统聚类的定义 系统聚类的合并算法通过计算两类数据点间的距离,对最为接近的两类数据点进行组合,并反复迭代这一过程,直到 ...

  3. 斯坦福机器学习公开课学习笔记(1)—机器学习的动机与应用

    (转载请注明出处:http://blog.csdn.net/buptgshengod) 1.背景         斯坦福机器学习公开课差不多是网上能找到的最好的机器学习入门课程了.现在一共有20节课放 ...

  4. 斯坦福大学机器学习第十课“应用机器学习的建议(Advice for applying machine learning)”

    斯坦福大学机器学习第十课"应用机器学习的建议(Advice for applying machine learning)" 斯坦福大学机器学习斯坦福大学机器学习第十课"应 ...

  5. Coursera公开课笔记: 斯坦福大学机器学习第二课“单变量线性回归(Linear regression with one variable)”

    Coursera公开课笔记: 斯坦福大学机器学习第二课"单变量线性回归(Linear regression with one variable)" 发表于 2012年05月6号 由 ...

  6. Coursera公开课笔记: 斯坦福大学机器学习第一课“引言(Introduction)”

    Coursera公开课笔记: 斯坦福大学机器学习第一课"引言(Introduction)" 注:这是我在"我爱公开课"上做的学习笔记,会在52opencours ...

  7. 斯坦福机器学习笔记(三)—— 高斯判别分析

    概述 本篇博客主要是网易公开课上吴恩达教授讲解的机器学习视频中关于高斯判别分析的相关内容(网址为:http://open.163.com/movie/2008/1/A/R/M6SGF6VB4_M6SG ...

  8. cs229 斯坦福机器学习笔记(一)-- 入门与LR模型

    版权声明:本文为博主原创文章,转载请注明出处. https://blog.csdn.net/Dinosoft/article/details/34960693 前言 说到机器学习,非常多人推荐的学习资 ...

  9. Python_ML_斯坦福机器学习笔记

    斯坦福机器学习笔记 Introduction 线性回归 回归问题 线性回归与梯度下降 程序示例--梯度下降 正规方程 特征缩放 多项式回归 程序示例--多项式回归 欠拟合与过拟合 程序示例--局部加权 ...

最新文章

  1. CynosDB技术详解——存储集群管理
  2. ArcGIS网络分析之构建网络分析数据集(一)
  3. ORACLE TEXT LEXER PREFERENCE(一)
  4. java对象工厂池_[转载]Java对象池技术的原理及其实现
  5. python 安装xpath_Python网络爬虫(四)- XPath1.XPath2.XPath在python中的应用
  6. vue 父链和子组件索引_vue子组件和父组件双向绑定的几种方案
  7. python大数据开发平台_python示例
  8. 软件的艺术之美源于权衡(Trade-off)
  9. 监听者模式 java_java监听者模式
  10. mysql 锁监视器_MySQL锁监视器
  11. 什么叫pin脚的pad_普思海鸥脚H1102NL百兆网络变压器
  12. 稳压二极管型号大全(转载)
  13. 37 个 Python Web 开发框架总结
  14. 5G常见缩略语大全收藏
  15. Collecting package metadata (current_repodata.json)解决方法
  16. 什么是obj文件?obj文件详解
  17. TCL电子软件开发生活记录(更新中)
  18. 华政全国计算机一级毕业,离校不离线 | 铛铛铛!毕业大佬返校宣讲会!
  19. android textview抽屉滑动,Android SlidingDrawer 滑动抽屉效果
  20. 20155322 2017-2018-1 《信息安全系统设计》第五周 MyBash实现

热门文章

  1. Nginx常用配置及代理转发
  2. 面向对象的三大基本特征和六大基本原则
  3. 小陈Java学习笔记0810
  4. AI开放平台-科大讯飞
  5. 认识网络设备和基本网络连接——网络原理
  6. 借助ENVI软件,使用shp数据裁剪不规则影像问题
  7. 复位的recovery time和removal time
  8. JAVA开发的IDEA插件,让你的代码骚起来,你知道是哪九个插件咩?
  9. SpringBoot(SpringMVC)文件上传下载
  10. oracle网页客户端工具