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

pst*_*elk 4 machine-learning perceptron neural-network deep-learning

我正在尝试使用Back Propagation Neural Network对一个特定问题进行建模.我的训练数据有8个特征,有20个实例.我正在努力让NN学习构建预测模型的功能.现在,问题是预测中的错误率非常高.我的猜测是,与正在考虑的功能数量相比,培训中的实例数量较少.这个结论是否正确.实例比率是否有任何最佳特征?

dou*_*oug 9

(由于数据集通常被描述为mxn矩阵,其中m是行数(数据点),n是数据集,因此在ML文献中经常将此主题称为数据集的可接受大小或形状.列(特征);明显的m >> n是首选.)

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

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

  • 特征的数量只是模型复杂性的一个要素(例如,特征之间的相互作用); 模型复杂度是数据实例(数据点)数量的最强决定因素.


因此,有2套方案这个问题-这,因为它们是对立,既可以适用于同一型号:

  • 减少功能的数量; 要么

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

一些建议,一个针对上述两条路径中的每条路径:

  1. 消除"非重要"功能 -即那些对响应变量的可变性没有贡献的功能.主成分分析(PCA)是快速可靠的方法,尽管有许多其他技术通常归入"降维"标题.

  2. 使用Bootstrap方法而不是交叉验证.方法的差异似乎很小,但是对于多层感知器(神经网络)来说,减少预测误差的(通常是实质性的)改进已被充分记录(参见例如,Efron,B.和Tibshirani,RJ,引导方法:改进的交叉 -验证,J.of the American Statistical Association,92,548-560.,1997).如果您不熟悉用于拆分训练和测试数据的Bootstrap方法,则通用技术类似于交叉验证,除了不采用整个数据集的子集而是采用子样本.Elements的第7.11节是对Bootstrap方法的一个很好的介绍.

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