如何选择神经网络的特征?


16

我知道这个问题尚无明确答案,但让我们假设我有一个庞大的神经网络,其中包含大量数据,并且我想在输入中添加新功能。“最佳”方法是使用新功能测试网络并查看结果,但是有没有方法可以测试该功能是否异常有用?像相关度量(http://www3.nd.edu/~mclark19/learn/CorrelationComparison.pdf)等?


1
非随机关联可能是一个指标,该特征有用的。但是我不确定会否排除想法的预训练。您链接的论文清楚地表明,可用的测试无法很好地检测非线性相关性,但是神经网络有机会找到并使用它们。
尼尔·斯莱特

Answers:


16

新功能和现有功能之间的密切相关性非常好,表明新功能提供的新信息很少。新功能和现有功能之间的低相关性可能更可取。

新特征和预测变量之间的强线性相关性是一个新特征将是有价值的一个好兆头,但是缺少高相关性并不一定是一个较差特征的兆头,因为神经网络不限于线性组合变量。

如果新功能是由现有功能的组合手动构建的,请考虑将其保留。神经网络的优点在于几乎不需要特征工程和预处理-而是由中间层学习特征。只要有可能,就更喜欢学习功能来设计它们。


我一直在想将预测值与功能进行比较,您正在谈论功能之间的相关性。您的回答也适用于我的情况吗?从理论上讲,我应该仅添加与要预测的值相关的新功能,对吗?
marcodena 2014年

这也是一个有价值的指标-刚刚更新了我的答案即可解决该问题。
麦迪逊2014年5

简而言之,与预测值的强相关性是一个好兆头,但与预测值的弱相关性不一定是一个坏兆头。
麦迪逊2014年5

谢谢。我正在写一份报告,我想展示线性/非线性相关性以证明特征(甚至在结果之前)。有什么意义吗?根据您的回答,我可以建立一个相关矩阵,但也许没什么意义
marcodena 2014年

1
我会使用非线性相关性,但很好,谢谢
marcodena 2014年

0

如果您使用的是sklearn,则有一个很好的函数,称为model.feature_importances_。试试看您的模型/新功能,看看是否有帮助。也请查看此处此处的示例。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.