神经网络对训练数据的要求 用同一数据集训练神经网络,每次训练结果不一样,有时正确率很高,有时很低,为什么?
用同一数据集训练神经网络,每次训练结果不一样,有时正确率很高,有时很低,为什么?
其实这个问题的实质是,如果我们用机器学习算法在数据集上训练一次数据模型,保存模型,然后用同样的算法和同样的数据集和数据排序再训练一遍,第一个模型和第二个模型是一样的吗?
这可能是因为神经网络用增益或权重的随机值初始化,然后每个模拟在训练阶段有不同的起点。如果您希望始终保持相同的初始权重,可以尝试为初始权重修复种子以消除问题。
如果我们深入研究这个问题,我们可以根据ml算法的“确定性”来对其进行分类。当从同一个数据集进行训练时:
一个是总是生成相同的模型,并且记录以相同的顺序呈现;
另一个是总是生成不同的模型,并且记录顺序不同。
在实践中,大多数是“不确定的”。模型变化的原因可能是机器学习算法本身存在随机游走、不同权值的随机初始化、不同分量的概率分布抽样来分配优化函数。
虽然模型的“不确定性”可能会对单个训练结果造成干扰,但我们也可以用“不确定性”来确认模型的稳定性,如决策树、支持向量机(SVM)、神经网络等,最终可以通过多次迭代来确认模型的稳定性。
BP神经网络的训练集需要大样本吗?一般样本个数为多少?
训练集样本的不同必然会影响权重的变化。您要训练的数据是您希望系统在输入某些数据时获得的数据。如果训练集是随机的,那么它将毫无意义。神经网络权值的初始值可以是随机的,但随着训练的继续,权值会趋于稳定,从而达到神经网络的效果。
神经网络对训练数据的要求 神经网络数据集要求 神经网络训练结果都是1
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。