问题引入

机器学习中经常会遇到维度灾难这个话题吗,那么啥是维度灾难,如何避免维度灾难呢?

问题解答

什么是维度灾难
维数灾难(Curse of Dimensionality):通常是指在涉及到向量的计算的问题中,随着维数的增加,计算量呈指数倍增长的一种现象。维数灾难涉及数字分析、抽样、组合、机器学习、数据挖掘和数据库等诸多领域。在机器学习的建模过程中,通常指的是随着特征数量的增多,计算量会变得很大,如特征得到上亿维的话,在进行计算的时候是算不出来的。如我们熟悉的KNN的问题,如果不是 构建Kd数等可以加快计算,按照暴力的话,计算量是很大的。而且有的时候,维度太大也会导致机器学习性能的下降,并不是特征维度越大越好,模型的性能会随着特征的增加先上升后下降。

解决维度灾难问题
主成分分析法PCA,线性判别法LDA
奇异值分解简化数据、拉普拉斯特征映射
Lassio缩减系数法、小波分析法

参考:

[1]https://blog.csdn.net/red_stone1/article/details/71692444

喜欢就关注一下啦~~~


维度灾难是啥?怎么避免?_java