本节课要点:

  • 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多大,可以用交叉验证来计算。

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

  1. 挑子学习笔记:特征选择——基于假设检验的Filter方法

    转载请标明出处: http://www.cnblogs.com/tiaozistudy/p/hypothesis_testing_based_feature_selection.html Filter ...

  2. 用信息值进行特征选择(Information Value)

    Posted by c cm on January 3, 2014 特征选择(feature selection)或者变量选择(variable selection)是在建模之前的重要一步.数据接口越 ...

  3. MIL 多示例学习 特征选择

    一个主要的跟踪系统包含三个成分:1)外观模型,通过其可以估计目标的似然函数.2)运动模型,预测位置.3)搜索策略,寻找当前帧最有可能为目标的位置.MIL主要的贡献在第一条上. MIL与CT的不同在于后 ...

  4. 【转】[特征选择] An Introduction to Feature Selection 翻译

    中文原文链接:http://www.cnblogs.com/AHappyCat/p/5318042.html 英文原文链接: An Introduction to Feature Selection ...

  5. 单因素特征选择--Univariate Feature Selection

    An example showing univariate feature selection. Noisy (non informative) features are added to the i ...

  6. 主成分分析(PCA)特征选择算法详解

    1. 问题 真实的训练数据总是存在各种各样的问题: 1. 比如拿到一个汽车的样本,里面既有以“千米/每小时”度量的最大速度特征,也有“英里/小时”的最大速度特征,显然这两个特征有一个多余. 2. 拿到 ...

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

    原文  http://dataunion.org/14072.html 主题 特征选择 scikit-learn 作者: Edwin Jarvis 特征选择(排序)对于数据科学家.机器学习从业者来说非 ...

  8. 【Machine Learning】wekaの特征选择简介

    看过这篇博客的都应该明白,特征选择代码实现应该包括3个部分: 搜索算法: 评估函数: 数据: 因此,代码的一般形式为: AttributeSelection attsel = new Attribut ...

  9. weka特征选择(IG、chi-square)

    一.说明 IG是information gain 的缩写,中文名称是信息增益,是选择特征的一个很有效的方法(特别是在使用svm分类时).这里不做详细介绍,有兴趣的可以googling一下. chi-s ...

  10. 文本挖掘之特征选择(python 实现)

    机器学习算法的空间.时间复杂度依赖于输入数据的规模,维度规约(Dimensionality reduction)则是一种被用于降低输入数据维数的方法.维度规约可以分为两类: 特征选择(feature ...

随机推荐

  1. 随手记录一下 Vue 下来框搜索 select2 封装成vue

    引入布局文件 <link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/css/select2.min.css& ...

  2. vim定位到指定行数

    显示行号:命令模式下set nu 定位到指定行: 命令模式下,:n   比如想到第2行,:2 编辑模式下,ngg  比如想到第5行 5gg(或者5G) 打开文件定位到指定行   vim  +n  te ...

  3. u3d changeTexs

    using UnityEngine; using System.Collections; using System.Collections.Generic; public class CTex : M ...

  4. Some Java exceptions, messages and errors.

    http://www.antapex.org/messages_java.txt http://www.jvmmonitor.org/index.html

  5. middle源码

    CREATE TABLE `middle` ( `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, `innserSessionid` VARCHAR(250 ...

  6. [SQLite3]connection string的连接池参数引发的错误

    最近在.net中使用Sqlite数据库,发现.net的驱动做得不错,而且实现了加密功能.于是想给自己的数据库加上口令,结果,多次实验都以失败告终: 链接数据库,然后ChangePassword都成功执 ...

  7. String学习之-深入解析String#intern

    引言 在 JAVA 语言中有8中基本类型和一种比较特殊的类型String.这些类型为了使他们在运行过程中速度更快,更节省内存,都提供了一种常量池的概念.常量池就类似一个JAVA系统级别提供的缓存. 8 ...

  8. maven添加本地jar到本地库中

    maven添加本地jar到本地库中(用于远端地址下载不了的情况) 在dos命令行执行以下命令将会吧ojdbc14-10.2.0.4.0.jar添加到本地库中(ps:必须已经安装了,maven,并配置了 ...

  9. 在jstl表达式中嵌入el表达式

    一.问题 在jsp中,想要这么写: <c:url value='/resources/themes/${easyuiThemeName}/easyui.css'/> 但报错:Accordi ...

  10. MySQL 字符串拼接详解

    在Mysql 数据库中存在两种字符串连接操作.具体操作如下一. 语法:   1. CONCAT(string1,string2,…)   说明 : string1,string2代表字符串,conca ...