zoukankan      html  css  js  c++  java
  • (笔记)斯坦福机器学习第十讲--特征选择

    本讲内容

    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.

    第十讲完。

  • 相关阅读:
    【梅西加油!】梅西加油!!加油梅西!!
    [CQOI2014][bzoj3507] 通配符匹配 [字符串hash+dp]
    [NOI2011][bzoj2434] 阿狸的打字机 [AC自动机+dfs序+fail树+树状数组]
    [USACO12Jan][luogu3041] Video Game Combos [AC自动机+dp]
    [HNOI2004][bzoj1212] L语言 [Trie+dp]
    [POI2005][luogu3462] SZA-Template [fail树]
    [HNOI2008][bzoj1009] GT考试 [KMP+矩阵快速幂]
    [SDOI2008][luogu2463] Sandy的卡片 [kmp]
    [POI2006][luogu3435] OKR-Periods of Words [kmp+next数组]
    [NOI2014][bzoj3670] 动物园 [kmp+next数组应用]
  • 原文地址:https://www.cnblogs.com/madrabbit/p/7099557.html
Copyright © 2011-2022 走看看