【发布时间】:2019-09-25 13:51:34
【问题描述】:
我的数据集有 150 个自变量和 10 个预测变量或响应。问题是找到输入和输出变量之间的映射。有 1000 个数据点,其中 70% 用于训练,30% 用于测试。我正在使用具有 10 个隐藏神经元的前馈神经网络,如 Matlab document 中所述。我正在使用命令评估性能
perf_Train = perform(net,TrainedData',lblTrain')
YPred = net(XTest);
perf_Test = perform(net,YPred,lblTest')
它基本上给出了训练和测试的实际响应和预测(估计)响应之间的均方误差。我的测试数据无法正确拟合经过训练的模型,但训练数据非常适合。
问题1:我的训练性能总是低于测试性能指标,即perf_Train = 0.0867 和perf_Test = 0.567
这是过拟合还是欠拟合?
问题2:如何使测试数据准确拟合?理论说,要克服过拟合和欠拟合,我们需要做正则化。是否有任何参数需要输入到函数中,例如正则化来克服这个问题?
【问题讨论】:
标签: matlab neural-network deep-learning regression prediction