当前位置: 首页 > 知识库问答 >
问题:

在什么情况下,在神经网络中使用偏差可能没有好处?

壤驷阳波
2023-03-14

我目前正在阅读迈克尔·尼尔森的电子书《神经网络与深度学习》,并运行了第1章末尾的代码,该代码训练神经网络识别手写数字(稍作修改,使反向传播算法基于小批量矩阵)。

然而,在运行此代码并实现略低于94%的分类准确率后,我决定从网络中删除偏见的使用。重新训练修改后的网络后,我发现分类准确率没有差异!

NB:该网络的输出层包含10个神经元;如果这些神经元的第i个具有最高的激活率,则输入被归类为数字i。

这让我想知道为什么有必要在神经网络中使用偏差,而不仅仅是权重,以及偏差会提高网络性能的任务和不会提高网络性能的任务之间的区别是什么?

我的代码可以在这里找到:https://github.com/pipthagoras/neural-network-1

共有1个答案

茅鸿宝
2023-03-14

偏差用于解释基础数据可能未居中这一事实。在线性回归的情况下,可以更清楚地看到这一点。

如果在没有截距(或偏差)的情况下进行回归,则会强制基础模型通过原点,如果基础数据未居中(例如,如果真正的生成过程为Y=3000),则会导致模型不佳。另一方面,如果你的数据居中或接近居中,那么消除偏差是好的,因为你不会引入一个事实上独立于预测变量的术语(这就像选择一个更简单的模型,如果它实际反映了基础数据,则会更容易概括)。

 类似资料:
  • 本文向大家介绍循环神经网络,为什么好?相关面试题,主要包含被问及循环神经网络,为什么好?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 循环神经网络模型(RNN)是一种节点定向连接成环的人工神经网络,是一种反馈神经网络,RNN利用内部的记忆来处理任意时序的输入序列,并且在其处理单元之间既有内部的反馈连接又有前馈连接,这使得RNN可以更加容易处理不分段的文本等。

  • 例如,我的训练集是20 x 20个图像或400个特征图像来识别书写数字,我假设我在NNs中有模型3层:输入层包含400个神经元;一个隐藏层包含25个神经元,输出层包含10个神经元。我读了《神经网络与深度学习》的第一章。 最后一部分“一个简单的手写数字分类网络”(您可以使用ctrl-f进行搜索),它说“隐藏层中的神经元检测是否存在以下图像”。所以,它想说隐藏层中的神经元是通过图像呈现的吗?我认为它们

  • 我想使用并使其直接进入给定的url,而不是从ribbon配置中获取主机。 我知道在Spring,cloud-feign默认与ribbon和eureka一起出现。 根据这个:https://cloud.spring.io/spring-cloud-netflix/multi/multi_spring-cloud-ribbon.html#spring-cloud-ribbon-without-eure

  • 在设计用于提取DNA基序的卷积神经网络的背景下,为什么一个卷积层之间没有最大池函数? 以下是此架构出现的上下文。

  • 问题内容: 我需要创建一个使用12个参数的存储过程,并使用此参数的不同组合来过滤查询。所有12个参数都不是强制性的,好像我传递3或5或12个参数取决于用户输入的搜索输入。 我可以使用动态SQL查询或“ Case where”语句创建2种方法。这些查询的示例如下: 动态查询 DECLARE @condition VARCHAR(MAX)=’‘ Declare @var1 varchar(10) De

  • 问题内容: 我得到这个错误 01-14 12:20:57.591:E / AndroidRuntime(1825):原因:android.content.res.Resources $ NotFoundException:字符串资源ID#0x7f040003 如果我使用类变量保存上下文并执行 context.getString(R.string.create_profile_table_sql)*