传统的线性降维方法效果不佳。_AI机器学习中,为什么要进行数据降维?

970334953d57585f617e19864c7ba39c.png

在一些监督学习的应用模型时,输入数据的维度对训练结果有较大的影响,因此如果遇到输入数据的维度较大时,我们需要通过一定的方法来降低数据维度,属于特征工程的一部分。

在讨论数据降维之前,我们先研究一个应用场景中的常见问题,经常会有人问,解决这个问题你需要多少的数据?其实这个问题没有一个确定的答案,数据量的多少和问题的复杂程度和你要选择的模型方法,数据的质量等都有关系,因此这个问题很难回答。但是一般我们再AI需求调研时大致可以了解到数据的质量以及大概的数据维度(属性)的数量级,那么问题来了。

1、机器学习的数据维度和样本数据量的关系是怎样的呢?

这个问题也没有一个准确的答案,但是一些样本量估算的思想和方法可以参考。一般来说

1)非线性的模型的数据要求比线性的模型样本数据量要求更多

2)基于统计学的计算,一般要求样本数据量为模型维度、分类类别数量(对于分类模型)、使用模型的参数数量都呈正相关的关系。样本数据量可以是数据维度的N倍(如N=10)

3)可以建立样本数量和模型结果误差的函数关系,当模型结果误差趋于收敛时的样本量即可作为模型合适的样本数量。

再来说数据降维问题。

2、为什么进行数据降维?

1)数据维度过大会提高模型的复杂度,特别对于一些样本数据不足的情况,最终训练的模型会泛化性差。

2)去除数据属性之间的共线性,可以优化模型,降低模型复杂度

3)降低模型训练时间

4)提高模型鲁棒性和泛化性

3、数据降维方法有哪些?

1)线性降维:PCA; LDA; FA等

2)基于核的非线性降维: RF; KPCA; KDA 等

3)流形降维:ISOmap; LLE; LE; t-SNE; UMAP等

其实在sklearn里有多种降维包,具体可以参加sklearn官方文档,专门一节内容讲解如何进行数据降维。我们实战中还是需要根据具体的数据和模型情况选择合适的降维方法,并一定要进行降维效果的检验。盲目地使用降维操作也可能会适得其反,也许是您的数据不需要降维呢。

参考资料:

[1] PULKIT SHARMA.The Ultimate Guide to 12 Dimensionality Reduction Techniques (with Python codes)

[2] Jason Brownlee.How Much Training Data is Required for Machine Learning?

[3] http://www.fharrell.com/post/ml-sample-size/

[4] https://scikit-learn.org/stable/modules/decomposition.html#decompositions

[5] Omprakash Saini,Prof. Sumit SharmaA Review on Dimension Reduction Techniques in Data Mining


如果大家希望了解更多关于人工智能领域的知识,可以关注我们的头条号,如果大家有关于AI人工智能领域的相关问题或开发接入需求的,也可以直接私信我们。

AI技术联盟,致力于为用户提供最新、最好的AI学习知识,并为用户提供私有化AI领域相关专业化开发外包服务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值