【cs229-Lecture10】特征选择

本节课要点:

  • VC维:
  • 模型选择算法

特征选择



vc维:个人还是不太理解。个人的感觉就是为核函数做理论依据,低维线性不可分时,映射到高维就可分,那么映射到多高呢?我把可分理解为“打散”。

参考的资料:http://www.cnblogs.com/boostable/p/iage_VC_dimension.html?utm_source=tuicool(前面的讲解很不错)

http://www.svms.org/vc-dimension/

http://www.tnove.com/?p=423&utm_source=tuicool



模型选择

选择过于简单的模型,可能会导致欠拟合;

选择过于复杂的模型,可能会导致过拟合。

那么问题来了?

如何选择适合的模型呢?

摘自http://blog.csdn.net/stdcoutzyx:机器学习的模型有很多,如何在多个模型中选择最好的一个?即便对于同一个模型来说,又如何选择最好的参数?这就是本节要解决的问题。具体举几个例子,比如多项式模型如何选择阶数?svm 模型如何选择惩罚参数 C 和正则化项?局部加权回归如何选择带宽参数?如何从神经网络与 svm 模型中选择一个较好的模型?等等。

我们希望能够找到一个自动选择模型的方法。

两种方法:保留交叉验证和特征选择。

保留交叉验证:

对于一个给定的训练集合,将其随机地划分成两个子集:训练集和保留交叉验证集。

之后用训练集训练模型,用保留交叉验证集进行测试。最后选择具有最小测试误差的模型作为最后的结果。

变种1:K重交叉验证:把数据集合分成k份。从第一份数据开始,保留第一份数据的(k-1)/k进行训练,用剩下的1/k进行测试。这样会得到k个误差,然后再取平均。

k取10比较常见。这样做的优点:只需要留出更少的数据用于测试;缺点:需要大量的计算。

变种2:留1交叉验证:划分的数目和样本的数目一样多。留出第一个样本进行测试,用剩下的进行训练;留出第二个样本进行测试,用剩下的进行训练;留出第三个样本进行测试,用剩下的进行训练……

数据少的时候可以采用。

特征选择:

假设有n个特征,则有2^n个子集。我们要在这2^n个子集中选用一个集合,需要采用不同的启发式搜索算法。

1、前向搜索算法(前向选择算法):从1~n,尝试将特征i加入到集合,并进行交叉验证。筛选出最好的特征F。计算量大。

2、封装特征选择,后向选择算法:F初始为全部特征,然后从1~n,尝试逐个删除特征i,然后再进行交叉验证。

3、过滤特征选择算法:对于每个特征i,衡量其对y的影响。计算与y的相关度。比如在文本分类问题中,我们常用的停用词,就是和y不相关,所以可以直接删掉。取相关度最大的前k个的特征,k多大,可以用交叉验证来计算。

时间: 2025-01-18 02:07:57

【cs229-Lecture10】特征选择的相关文章

斯坦福CS229机器学习课程笔记六:学习理论、模型选择与正则化

稍微了解有监督机器学习的人都会知道,我们先通过训练集训练出模型,然后在测试集上测试模型效果,最后在未知的数据集上部署算法.然而,我们的目标是希望算法在未知的数据集上有很好的分类效果(即最低的泛化误差),为什么训练误差最小的模型对控制泛化误差也会有效呢?这一节关于学习理论的知识就是让大家知其然也知其所以然. 学习理论 1.empirical risk minimization(经验风险最小化) 假设有m个样本的训练集,并且每个样本都是相互独立地从概率分布D中生成的.对于假设h,定义training

斯坦福CS229机器学习课程笔记一:线性回归与梯度下降算法

应该是去年的这个时候,我开始接触机器学习的相关知识,当时的入门书籍是<数据挖掘导论>.囫囵吞枣般看完了各个知名的分类器:决策树.朴素贝叶斯.SVM.神经网络.随机森林等等:另外较为认真地复习了统计学,学习了线性回归,也得以通过orange.spss.R做一些分类预测工作.可是对外说自己是搞机器学习的还是不太自信,毕竟和科班出身的各位大牛相比自己对这些模型.算法的理解只能算是“知其然而不知其所以然”,用起来总感觉哪里不对劲. 因此,去年早早地就把网易公开课上Andrew大神的斯坦福CS229课程

特征选择, 经典三刀

        [特征工程]特征选择与特征学习        特征选择(Feature Selection,FS)和特征抽取(Feature Extraction, FE)是特征工程(Feature Engineering)的两个重要的方面.  他们之间最大的区别就是是否生成新的属性.  FS仅仅对特征进行排序(Ranking)和选择, FE更为复杂,需要重新认识事物, 挖掘新的角度, 创新性的创立新的属性, 而目前深度学习这么火, 一个很重要的原因是缩减了特征提取的任务. 不过, 目前特征工程

降维中的特征选择

在数据挖掘过程中,高维数据是非常棘手的研究对象.特别是在文本挖掘.图像处理和基因数据分析中,维度过高使很多学习器无法工作或效率降低,所以降维也是数据预处理过程的一项必要任务.降维大致有两大类别,一类是从原始维度中提取新的维度,例如主成分分析或因子分析,再或者是奇异值分解或是多维标度分析.另一类是从原始维度中选择一些子集,即称为特征选择(Feature Selection),或者叫作最佳子集选择.特征选择本质上继承了Occam's razor的思想,从一组特征中选出一些最有效的特征,使构造出来的模

结合Scikit-learn介绍几种常用的特征选择方法

作者:Edwin Jarvis 特征选择(排序)对于数据科学家.机器学习从业者来说非常重要.好的特征选择能够提升模型的性能,更能帮助我们理解数据的特点.底层结构,这对进一步改善模型.算法都有着重要作用. 特征选择主要有两个功能: 减少特征数量.降维,使模型泛化能力更强,减少过拟合 增强对特征和特征值之间的理解 拿到数据集,一个特征选择方法,往往很难同时完成这两个目的.通常情况下,我们经常不管三七二十一,选择一种自己最熟悉或者最方便的特征选择方法(往往目的是降维,而忽略了对特征和数据理解的目的).

特征选择常用算法综述

特征选择的一般过程: 1.生成子集:搜索特征子集,为评价函数提供特征子集 2.评价函数:评价特征子集的好坏 3.停止准则:与评价函数相关,一般是阈值,评价函数达到一定标准后就可停止搜索 4.验证过程:在验证数据集上验证选出来的特征子集的有效性 1.生成子集 搜索算法有 完全搜索.启发式搜索.随机搜索 三大类. (1)完全搜索 <1>宽搜(Breadth First Search):时间复杂度高,不实用 <2>分支界限搜索(Branch and Bound):其实就是宽搜加上深度的限

特征选择(三)-K-L变换

上一讲说到,各个特征(各个分量)对分类来说,其重要性当然是不同的. 舍去不重要的分量,这就是降维. 聚类变换认为:重要的分量就是能让变换后类内距离小的分量. 类内距离小,意味着抱团抱得紧. 但是,抱团抱得紧,真的就一定容易分类么? 如图1所示,根据聚类变换的原则,我们要留下方差小的分量,把方差大(波动大)的分量丢掉,所以两个椭圆都要向y轴投影,这样悲剧了,两个重叠在一起,根本分不开了.而另一种情况却可以这么做,把方差大的分量丢掉,于是向x轴投影,很顺利就能分开了.因此,聚类变换并不是每次都能成功

干货:结合Scikit-learn介绍几种常用的特征选择方法

原文  http://dataunion.org/14072.html 主题 特征选择 scikit-learn 作者: Edwin Jarvis 特征选择(排序)对于数据科学家.机器学习从业者来说非常重要.好的特征选择能够提升模型的性能,更能帮助我们理解数据的特点.底层结构,这对进一步改善模型.算法都有着重要作用. 特征选择主要有两个功能: 减少特征数量.降维,使模型泛化能力更强,减少过拟合 增强对特征和特征值之间的理解 拿到数据集,一个特征选择方法,往往很难同时完成这两个目的.通常情况下,我

特征选择方法之信息增益

前文提到过,除了开方检验(CHI)以外,信息增益(IG,Information Gain)也是非常有效的特征选择方法.但凡是特征选择,总是在将特征的重要程度量化之后再进行选择,而怎样量化特征的重要性,就成了各种方法间最大的不同.开方检验中使用特征与类别间的关联性来进行这个量化,关联性越强,特征得分越高,该特征越应该被保留. 在信息增益中,重要性的衡量标准就是看特征可以为分类系统带来多少信息,带来的信息越多,该特征越重要. 因此先回顾一下信息论中有关信息量(就是"熵")的定义.说有这么一

浅谈关于特征选择算法与Relief的实现

一. 背景 1) 问题 在机器学习的实际应用中,特征数量可能较多,其中可能存在不相关的特征,特征之间也可能存在相关性,容易导致如下的后果: 1.     特征个数越多,分析特征.训练模型所需的时间就越长,模型也会越复杂. 2.     特征个数越多,容易引起“维度灾难”,其推广能力会下降. 3.     特征个数越多,容易导致机器学习中经常出现的特征稀疏的问题,导致模型效果下降. 4.     对于模型来说,可能会导致不适定的情况,即是解出的参数会因为样本的微小变化而出现大的波动. 特征选择,能