Neural network GA训练的神经网络在测试集上的性能比BP训练的神经网络差

Neural network GA训练的神经网络在测试集上的性能比BP训练的神经网络差,neural-network,genetic-algorithm,backpropagation,Neural Network,Genetic Algorithm,Backpropagation,我用遗传算法和反向传播训练了一个神经网络。遗传算法为训练数据找到合适的权重,但在测试数据上表现不佳。如果我用反向传播训练神经网络,它在测试数据上表现得更好,即使训练误差不比GA训练版本小很多。即使我使用遗传算法获得的权重作为反向传播的初始权重,神经网络在测试数据上的表现也比仅使用反向传播进行训练差。谁能告诉我哪里出了错吗?我建议你读一些关于过度装修的书。简言之,您将擅长于训练集,但在测试集方面较差(因为神经网络遵循异常、不确定性和数据)。神经网络的任务是泛化的,但遗传算法只能使训练集中的误差最小

我用遗传算法和反向传播训练了一个神经网络。遗传算法为训练数据找到合适的权重,但在测试数据上表现不佳。如果我用反向传播训练神经网络,它在测试数据上表现得更好,即使训练误差不比GA训练版本小很多。即使我使用遗传算法获得的权重作为反向传播的初始权重,神经网络在测试数据上的表现也比仅使用反向传播进行训练差。谁能告诉我哪里出了错吗?

我建议你读一些关于过度装修的书。简言之,您将擅长于训练集,但在测试集方面较差(因为神经网络遵循异常、不确定性和数据)。神经网络的任务是泛化的,但遗传算法只能使训练集中的误差最小(公平地说,这是遗传算法的任务)

有一些处理过拟合的方法。我建议您使用验证集。第一步是将数据分成三组。培训、测试和验证。方法很简单,您将使用遗传算法对神经网络进行训练,以最小化训练集上的错误,但您也可以在验证集上运行神经网络,只运行,不运行。训练集上的网络误差减小,但验证集上的误差也应减小。所以,若错误在训练集减少,但在验证集开始增加,那个么您必须停止学习(请不要在第一次迭代时停止)


希望这会有帮助

我建议你读一些关于过度装修的书。简言之,您将擅长于训练集,但在测试集方面较差(因为神经网络遵循异常、不确定性和数据)。神经网络的任务是泛化的,但遗传算法只能使训练集中的误差最小(公平地说,这是遗传算法的任务)

有一些处理过拟合的方法。我建议您使用验证集。第一步是将数据分成三组。培训、测试和验证。方法很简单,您将使用遗传算法对神经网络进行训练,以最小化训练集上的错误,但您也可以在验证集上运行神经网络,只运行,不运行。训练集上的网络误差减小,但验证集上的误差也应减小。所以,若错误在训练集减少,但在验证集开始增加,那个么您必须停止学习(请不要在第一次迭代时停止)


希望这会有帮助

我遇到了类似的问题,神经网络初始值的选择似乎不会影响最终的分类精度。我使用matlab中的feedforwardnet()函数来比较这两种情况。一种是直接训练,程序给出随机的初始权重和偏差值。一种是通过遗传算法找到合适的初始权值和偏差值,然后将其分配给神经网络,然后开始训练。然而,后一种方法并不能提高神经网络分类的准确性。

我遇到了类似的问题,神经网络初始值的选择似乎不会影响最终的分类精度。我使用matlab中的feedforwardnet()函数来比较这两种情况。一种是直接训练,程序给出随机的初始权重和偏差值。一种是通过遗传算法找到合适的初始权值和偏差值,然后将其分配给神经网络,然后开始训练。但是,后一种方法并不能提高神经网络分类的准确性。

您可以更详细地询问关于哪个主题的问题。您可以更详细地询问关于哪个主题的问题。