神经网络的学习曲线



我正在努力寻找在倍频程上实现的神经网络模型的最佳参数,该模型用于二进制分类和122个特征(输入(和25个隐藏单元(1个隐藏层(。为此,我有4个矩阵/矢量:

size(X_Train): 125973 x 122
size(Y_Train): 125973 x 1
size(X_Test): 22543 x 122
size(Y_test): 22543 x 1

我已经使用了20%的训练集来生成验证集(XValYVal(

size(X): 100778 x 122
size(Y): 100778 x 1
size(XVal): 25195 x 122
size(YVal): 25195 x 1
size(X_Test): 22543 x 122
size(Y_test): 22543 x 1

目标是生成神经网络的学习曲线。我已经了解到(通过艰苦的方式xD(这是非常耗时的,因为我使用了XvalX的完整大小。

我不知道是否有其他解决方案。我正在考虑减小训练向量X的大小(例如,像5000个样本(,但我不知道我是否能做到这一点,或者由于我只使用训练集的一部分,结果是否会有偏差?

最佳,

上述参数的总数约为3k(122*25+25*1(,这对于一个示例来说并不算大。由于示例的数量很大,您可能希望使用随机梯度下降或小批量,而不是梯度下降。

请注意,Matlab和Octave通常速度较慢,尤其是循环。您需要编写使用矩阵运算而不是循环的代码,以便在Matlab/Octave中管理速度。

最新更新