反向传播神经网络的最优特征实例比



我正在尝试使用反向传播神经网络对特定问题建模执行留一交叉验证。我的训练数据中有8个特征和20个实例。我试图让神经网络学习一个函数来建立一个预测模型。现在的问题是预测中的错误率相当高。我的猜测是,与考虑的特征数量相比,训练中的实例数量较少。这个结论正确吗?是否存在最优的特征与实例比例?

(这个主题在ML文献中经常被描述为可接受的大小或数据集的形状,因为数据集通常被描述为m x n矩阵,其中m是行数(数据点),n是列数(特征);明显的m>> n优先)

在一个事件中,我不知道一个可接受的特征观察范围的一般规则;这可能有几个原因:

  • 这样的比率很大程度上取决于数据的质量(信噪比);和

  • 特征的数量只是模型复杂性的一个元素(例如,特征之间的交互);和模型复杂性是数据实例(数据点)数量的最强决定因素。


所以有两组方法来解决这个问题——因为它们是相反的,它们都可以应用于同一个模型:

  • 减少特征数量;或者

  • 使用统计技术来利用您所拥有的数据

有几个建议,上面两条路径各一条:

  1. 消除"也好不重要的功能 ——我。E,那些对你的反应变量的可变性没有贡献的特征。主成分分析(PCA)是一种快速而可靠的方法,尽管还有许多其他技术通常被归入"降维"的范畴。

  2. 使用引导方法代替交叉验证。方法上的差异似乎很小,但多层感知器(神经网络)在减少预测误差方面的(通常是实质性的)改进已经得到了很好的记录(例如,Efron, B.和Tibshirani, r.j., )。《美国统计学会学报》,1992,548 -560。, 1997)。如果您不熟悉分割训练数据和测试数据的Bootstrap方法,那么一般的技术类似于交叉验证,只不过不是取整个数据集的子集,而是取子样本Elements第7.11节是对Bootstrap方法的一个很好的介绍。

我发现关于这个一般主题的最佳单一来源是来自Hastie, Tibshirani和Friedman的优秀论文统计学习元素的第7章模型评估和选择。这本书可以从它的主页上免费下载。

最新更新