2013-09-25 187 views
0

我对Matlab神经网络工具箱比较陌生。我正在训练神经网络,模式识别和3x8670的目标矩阵包含1和0,使用一个隐藏层,40个神经元,其余的默认设置。当我得到新输入集的模拟输出时,数值大约在0和1之间。然后按降序排列它们,并在8670个观察值中选择一个固定数字(这是我所知道的)为1,然后依次为为零。神经网络输出的精度 - Matlab神经网络工具箱

我每次运行该程序,模拟输出的第一行总是有接近100%的准确率和下面的行不表现出相同类型的精度。

有一般一个合理的解释?我明白,最终回答这个问题可能需要对程序和问题的理解,但是它由几个功能组成,以便清楚地解释。我可以在培训中进行一些更改以获得一致性输出吗?

如果您有任何建议,请与我分享。

感谢,

NISHANT

回答

0

您的问题声明并不清楚我。例如,你的意思是:“我将其安排在降序排列,并选择固定数目的......”

据我所知,你没有从你的NN相比,真正的目标得到适当的输出。我的意思是,NN的输出与目标不同。如果是这样,则应考虑不同的可能性:

  1. 如何划分训练/测试/验证集合以用于训练阶段?大部分师应被分配到培训(约75%),并休息以进行测试/验证。

  2. 如何设置你的训练数据?它可以像你期望的那样支持大多数场景吗如果您的训练数据集与您的测试数据集没有多少相似性(例如,您在测试数据集中有一些新的记录/样本未出现在训练阶段(接近出现),则将其解释为“异常值”,NN不能使用这些类型的样本进行高效工作,因此您需要聚类方法而不是NN分类方法),NN的结果超出范围,NN无法根据需要提供理想的精度。 NN对于那些训练数据集和测试数据集之间没有太大差异的数据集训练是很好的。否则,NN不适用。

  3. 有时候你有一个适当的训练数据集,但问题是训练本身。在这种情况下,您需要其他类型的NN,因为像MLP这样的前馈NN不能很好地处理压缩的数据区域和没有很好分离的区域。您需要强函数逼近,如RBF和SVM。