具有随机权重的神经网络每次都会给出相同的预测率吗?

时间:2016-06-24 17:20:36

标签: matlab neural-network

对于具有随机权重的输入,我的预测效率会改变吗? 我也没有考虑过我的网络中的偏差,这是效率较低的可能原因(200个示例的训练数据的预测率为93%,100个示例的测试数据的预测率为90%。我已经学习了为0.01和误差阈值0.005。我使用了反向传播算法

2 个答案:

答案 0 :(得分:2)

如果您使用神经网络,那么预测的效率(我宁可称之为准确性)通常会降低。

我会以这种方式解释它。

神经网络训练其权重和偏差,以获得给定输入集(训练数据)的所需输出。神经网络使用反向传播算法来获得一组权重,这些权重在给定一定数量的迭代(时期)的情况下对于网络而言是“最”最优的。

当您在测试数据集上测试网络的预测准确性时,您更喜欢经过训练的权重和偏差(通过训练数据集上的神经网络获得),因为它们已经过训练以产生所需的结果(输出) )。如果您在随机权重和偏差上测试网络的预测准确性,您的预测准确性通常较低,并且可能在很大范围内变化。

您可能会惊讶于您对具有随机权重的测试数据集的预测准确性高于在训练数据集上训练的权重和偏差所预测的那些。虽然很少见,但可能会发生,在这种情况下,随机权重接近网络的最佳权重。

总之,最好是根据训练有素的权重和偏差来测试您的网络,而不是随机权重。否则,机器学习算法的目的是什么。

答案 1 :(得分:0)

如前所述:具有随机权重的网络是未经训练的网络。如果它具有随机权重的良好准确性,那就是偶然的。

如果您考虑使用中性网络,特别是Backpropagation作为函数的优化过程

f(x)= mx + b

其目标是为所有训练集找到最佳匹配线。

最初的步骤是为m和b选择一个随机值。通过随机初始化的狂野猜测,线接近最佳匹配的概率非常小。

反向传播的目标是通过将当前设置的错误传播回网络并调整这些设置直到找到可接受的设置来确定m和b的最佳设置。通过梯度下降完成调整,梯度下降用于查找误差表面的最小值,该误差表面由所有训练样本的输出和目标值之间的差异创建。

如果这不是你的问题的意思,你要求初始随机权重对培训结果的影响:

取决于您要优化的功能。如果误差表面是非凸的,就像在大多数情况下那样,则初始值定义了梯度下降的起点,因此会影响训练结果。

将错误曲面视为具有多个山谷的山地景观。梯度下降的目标是到达其中一个山谷,在最好的情况下,最深的一个是全球最小值。由于梯度下降通常会在第一次发现的最小值(取决于学习速度和动量)中陷入困境,因此答案是否定的。找到的最小值取决于起始位置。因此,您通常会使用不同的初始权重获得不同的准确度。

我最近做了一些权重随机化的实验。我的结果是,如果随机生成的数字的方差太大,网络永远不会收敛到适当的解决方案。