首页 >

用同一数据集训练神经网络,每次训练结果不一样,有时正确率很高,有时很低,为什么? – 网络|

水星路由器怎么调时间,msg2.0.db怎么打开,一个好的app应该具备什么特征用同一数据集训练神经网络,每次训练结果不一样,有时正确率很高,有时很低,为什么? - 网络|用同一数据集训练神经网络,每次训练结果不一样,有时正确率很高,有时很低,为什么

这可能是因为在神经网络使用增益或权重的随机值进行初始化,然后在训练阶段每个模拟都有不同的起点。如果想要始终保持相同的初始权重,可尝试为初始权重固定种子,即可消除该问题。

如果大家深入研究这个问题,大家可以从它们的“确定性”对ML算法进行分类,当从同一数据集训练时:

  • 一类是始终产生相同模型,并且记录以相同顺序呈现;

  • 二类是始终产生不一样模型,并且记录顺序不同。

在实际情况中,一般情况下是“不确定性”居多,产生模型变化的原因可能是在机器学习算法本身中可能存在随机游走,权重随机初始化不同,或概率分布的采样以分配优化函数的分量不同。

虽然模型“不确定性”可能对单次训练结果造成干扰,但大家也可以利用该“不确定性”来确认模型的稳定性,例如决策树、支持向量机(SVM)、神经网络等,可通过多次迭代来最终确认模型的稳定性。


用同一数据集训练神经网络,每次训练结果不一样,有时正确率很高,有时很低,为什么? - 网络|
  • 停车场收费软件能计算收费金额,但收费查询不到,收费总金额也不会变化,怎么回事? - 网络|
  • 停车场收费软件能计算收费金额,但收费查询不到,收费总金额也不会变化,怎么回事? - 网络| | 停车场收费软件能计算收费金额,但收费查询不到,收费总金额也不会变化,怎么回事? - 网络| ...

    用同一数据集训练神经网络,每次训练结果不一样,有时正确率很高,有时很低,为什么? - 网络|
  • Python面向对象如何理解多态?? |树莓派如何与python
  • Python面向对象如何理解多态?? |树莓派如何与python | Python面向对象如何理解多态?? |树莓派如何与python ...

    用同一数据集训练神经网络,每次训练结果不一样,有时正确率很高,有时很低,为什么? - 网络|
  • 太原计算机培训机构有哪些? - 网络|
  • 太原计算机培训机构有哪些? - 网络| | 太原计算机培训机构有哪些? - 网络| ...