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

时间:2020-03-17 16:14:11

标签: machine-learning neural-network

我目前正在浏览迈克尔·尼尔森(Michael Nielsen)的电子书Neural Networks and Deep Learning,并运行了第1章结尾处的代码,该代码训练了一个神经网络来识别手写数字(稍作修改以使反向传播算法超过基于小批量矩阵)。

但是,运行此代码并实现了不到94%的分类精度后,我决定从网络中删除对偏差的使用。重新训练修改后的网络后,我发现分类准确性没有差异!

注意::该网络的输出层包含十个神经元;如果这些神经元中的第i个具有最高的激活度,则将输入分类为数字i。

这让我想知道为什么有必要在神经网络中使用偏见,而不仅仅是权重,以及偏见将改善网络性能的任务与任务之间的区别他们不会吗?

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

1 个答案:

答案 0 :(得分:1)

偏差用于说明您的基础数据可能未居中的事实。在线性回归的情况下更容易看到。

enter image description here

如果进行回归分析时没有截距(或偏差),则将迫使基础模型通过原点,如果基础数据未居中(例如,如果生成过程为真,则将导致模型不佳)是Y = 3000)。另一方面,如果您的数据是居中或接近居中的,那么消除偏差是有好处的,因为您不会引入一个实际上与预测变量无关的术语(就像选择一个更简单的模型那样,将提供更好的一般化条件,条件是它实际上反映了基础数据。