第1关:维数灾难与降维
任务描述
本关任务:根据本节课所学知识完成本关所设置的选择题。
相关知识
为了完成本关任务,你需要掌握维数灾难与降维的相关基础知识。
维数灾难
在机器学习中,我们不仅需要学习怎样进行分类、回归或者聚类,我们更要学习怎样对数据进行更好的处理,使得我们的数据能够更好的为我们的机器学习算法服务。而降维就是数据处理中的一环。
说到降维,那首先就要提到一个概念:维数灾难。维数灾难其实很好理解,举个例子。
我们现在玩个游戏,我告诉你一些信息,你猜一猜我所描述的是什么。
- 我:这个能在地球上才有,而且是猫科动物。
- 您:......
如果您现在是一个动物的分类器,我相信您仅仅靠这两个特征(地球上才有,猫科动物)不大可能能够预测出我所说的是什么。也就是说,不管你用什么算法去分类,都很有可能发生欠拟合的现象。
- 我:这个是猫科动物,喜欢啃骨头,长得像狼, 比较二。
- 您:哈士奇!
- 我:猜的挺准。
当我给出的信息比较合适(这次有4
个特征),您可能能够猜到所提供的特征数据所描述的是哈士奇。这个时候我们的分类算法能正常工作。
- 我:这个能在地球上才有,是猫科动物,有毛,有爪子,体型大,耳尖呈圆形,尾巴喜欢上翘,长得像狼,喜欢啃骨头,有时比较二但挺忠诚。
- 您:哈士奇!
- 我:不,我说的是阿拉斯加。
- 您:......
这次我提供的信息比上面个两次都多(这次有10
个特征),但是您可能将阿拉斯加误判成哈士奇。因为您可能看到长得像狼和比较二就认为是哈士奇了,也就是发生了过拟合的现象。这也说明了不是说数据的特征数量越多,我们的机器学习算法的效果就越强。当数据的特征数量变大时,和可能会造成机器学习算法的模型变得非常复杂,从而导致过拟合。而且如果我所提供的特征数量越多,比如有10000
个特征,那么算法的训练过程中的时间成本会非常大。
所以维数灾难通常是指对于已知样本数目,存在一个特征数目的最大值,当实际使用的特征数目超过这个最大值时,机器学习算法的性能不是得到改善,而是退化。
降维
既然维数太大可能引发维数灾难,那么如果能有算法能够自动的帮我们把重要性比较高的特征维度保留下来,把其他的维度过滤掉就好了。那这个过程我们称之为降维。
从维数灾难的概念出发,我们就能知道降维的作用了。
- 降低机器学习算法的时间复杂度
- 节省了提取不必要特征的开销
- 缓解因为维数灾难所造成的过拟合现象
任务要求
根据本关所学习到的知识,完成所有选择题。
1、下列说法正确的是(B、C)
A、过拟合一定是维数灾难造成的
B、降维能够缓解维数灾难的负面影响
C、使用原始数据训练出的回归器已经过拟合,可试试降维来提升性能
D、使用原始数据训练出的回归器已经欠拟合,可试试降维来提升性能2、下列说法错误的是(C)
A、降维能够减小训练的时间复杂度
B、降维能够减小预测的时间复杂度
C、维数灾难不会引起过拟合
D、根据原始数据挖掘出新特征后,特征数量较多,可能会引发维数灾难