【问题标题】:when to apply feature selection何时应用特征选择
【发布时间】:2016-08-28 23:03:19
【问题描述】:
我正在开发一种用于自动化机器学习的软件。
我在一些特征数量较少的数据集中(4,5)观察到,如果我们应用特征选择并因此我的分类器建模,性能实际上会降低(由于信息丢失)......但在某些情况下如果我们应用特征选择,具有大量特征的数据集实际上会提高性能......
所以我正在寻找一些启发式来确定是否应用特征选择?
有没有解决这个问题的论文/工作?什么时候应用特征选择,什么时候不应用?
【问题讨论】:
标签:
machine-learning
feature-extraction
feature-selection
【解决方案1】:
有很多启发式方法。我不知道有一篇论文或资料可以在很短的时间内解决所有这些问题。
当您说“性能”时,我假设您指的是您的模型对测试数据集的预测准确性,该模型已经过训练数据集和交叉验证数据集的训练和交叉验证。
还有大量的机器学习算法,特征选择可能不会对它们产生同样的影响。你用的是哪个?
例如,对神经网络应用特征选择将导致影响模型的偏差和方差的变化,进而影响测试集上的预测准确性:
- 过多的特征可能会由于高方差而导致过拟合(取决于样本训练大小)
- 太少可能会导致拟合不足或偏倚过高(无论样本训练大小如何)
两者都会导致对测试集的预测受到影响。此外,在“调整”模型(找出特征、度数、正则化 lambda 等)时,仅准确度是不够的。要弄清楚什么是最好的,您需要查看的是模型的精度和召回率.
不幸的是,我没有快速简便的方法可以在简短的 SO 答案中详细解释您需要做什么来优化模型。
我建议您花时间学习 Andrew Ng 的机器学习入门课程 https://www.coursera.org/learn/machine-learning/home/welcome。第 6 章讨论如何确定如何优化 NN 模型。