zoukankan      html  css  js  c++  java
  • 维度灾难的问题

    马上就要找工作了,对于一个机器学习小白来说(没有论文,没有实习),真的很痛苦。

    打算把最近看的一些东西总结,一是用来应对面试,二是便于复习。

    今天首先总结一下维度灾难的问题(只是针对自己的总结,想看具体讲解推荐:https://blog.csdn.net/Tanya_girl/article/details/50151183)

    在做分类问题的时候,经常会出现低纬度欠拟合,不能很好的将数据分类,所以要进行升维(一般是提取新特征)。但是当维度升高的时候,数据在高维空间会变的比较稀疏。为什么会这样?想象一下

      现在我有10个数据,在一维空间中这10个数据分布在[0,10]上,也就是在0-10的直线上分布了10个点。

      现在把这10个数据映射到2维空间,那么这10个点分布情况为:x轴[0,10],y轴[0,10],也就是在面积为10^2上分布了10个点。

      接着再把这10个数据映射到3维空间,那么这10个点分布情况为:x轴[0,10],y轴[0,10],z轴[0,10],也就是在面积为10^3上分布了10个点。

      ……

      也就是说随着维度的增加,特征空间也随着指数增长,从而导致数据密度稀疏

    在维度较低(也就是特征较少)的情况下,每增加一个特征,分类器的性能就增加一点。(比如,在二分类的情况下,一维空间不能很好的将两种类型分开,而二维空间表现会好很多)

    所以给我们的感觉就是,维度越高,分类性能越优。此时如果我们继续增加特征数量,随着维度的增加,样本将变得越来越稀疏,在这种情况下,也更容易找到一个超平面将目标分开。然而,如果我们将高维空间向低维空间投影,高维空间隐藏的问题将会显现出来:过拟合现象。

    过拟合是维度灾难的直接体现(高维空间训练形成的分类器,相当于在低维空间的一个复杂的非线性分类器,这种分类器过多的强调了训练集的准确率甚至于对一些错误/异常的数据也进行了学习,而正确的数据却无法覆盖整个特征空间。为此,这样得到的分类器在对新数据进行预测时将会出现错误。)

    同时维度灾难还导致了另外一个问题:在高纬度空间,距离度量逐渐失去了度量差异性的能力。为什么会失去度量差异性的能力?

    思考一下,由于分类是基于距离度量的(如欧几里得距离、马氏距离、曼哈顿距离),在二维空间中,两点间的距离很好计算,大家很容易算出,而映射到三维的时候,这个距离可能会变小。这里有一个极端的例子,比如一张纸对角的两个点的距离在二维中很好计算,当我们将纸张对折,对角的两个点叠加到一起 (此时为三维空间),距离则变为0.

    本来我们的很多分类算法都是基于距离来计算的,现在距离度量逐渐失去了度量差异性的能力,这种情况可不太妙。

    导致的第三个问题,是计算量增加。维度越高,当然计算量就越复杂了(随着需要估计的参数数量增加,参数的估计值的方差也会增加(并且如果估计偏差和训练集保持不变)。这意味着如果维度增加,随之方差增加,我们参数估计质量会下降。分类器的方差增加意味着过拟合。)。

    那么怎么避免维度灾难呢?

    1,以指数级增加样本。训练集样本越少,越应该用少量的特征,如果N个训练样本足够覆盖一个一维的特征空间(区间大小为一个单位),那么 需要N^2个样本去覆盖一个同样密度的二维的特征空间,需要N^3个样本去覆盖三维的特征空间。换句话说,就是训练样本多少需要随着维度指数增长。

    2,另外,那些精确计算非线性决策边界的分类器(如神经网络、KNN分类器、决策树)不会泛化的很好,而且容易发生过拟合。因此在用这些分类器的时候应该少用一些纬度。如果一个分类器泛化能力很好(如朴素贝叶斯,线性分类器),由于分类器本身表现能力差一些,那么纬度可以高一些。

    3,降维。PCA

    4,交叉验证。当出现过拟合的情况时,考虑维度灾难。

  • 相关阅读:
    web架构设计经验分享(转)
    家庭反对死一批,朋友同事嘲笑死一批,害怕失败死一批,徘徊等待死一批「没有时间」又死一批(转)
    java.lang.ClassCastException: java.lang.NoClassDefFoundError cannot be cast to java.lang.RuntimeException
    Android 代码混淆、第三方平台加固加密、渠道分发 完整教程(转)
    xcode armv6 armv7 armv7s arm64
    使用collectd与visage收集kvm虚拟机性能实时图形
    【OpenCV入门指南】第一篇 安装OpenCV
    《自己动手写CPU》写书评获赠书活动结果
    winzip15.0注冊码
    Atitit.ALT+TAB没反应车and 点击任务栏程序闪烁可是不能切换
  • 原文地址:https://www.cnblogs.com/xueyunqing/p/10152171.html
Copyright © 2011-2022 走看看