本教程中的神经网络拦截偏差

时间:2017-02-01 20:49:30

标签: neural-network backpropagation

我正在浏览本网站的NN教程:

http://peterroelants.github.io/posts/neural_network_implementation_part03/

我对此页面中的一个特定段落感到困惑(下面的屏幕截图)。

enter image description here

  1. -1的截距偏差的选择是否完全随意?我不太明白他的解释。

  2. 在屏幕截图中说RBF函数将所有值映射到[0,+ infinity]的范围。但是,RBF函数仅映射到[0,1]的范围。这是一个错误吗?这个正范围如何导致-1截距偏差的选择?

1 个答案:

答案 0 :(得分:3)

我是这篇博文的作者。感谢您提出这些问题。

  
      
  1. -1的截距偏差的选择是否完全是任意的?我不太明白他的解释。
  2.   

这是任意的,因为它可以设置为其他偏置参数。我修正偏差项的原因是我想要一个只有2个参数(但是隐藏层)的网络,所以我可以在2d图中说明成本函数。本节的全部目的是说明添加具有非线性函数的隐藏层允许您分离非线性可分离数据。

必须有两个可能的偏差项。第一个是隐藏层上的偏差项。这个隐藏的层偏置项将增加RBF功能的转换(下图中的黄色和绿色)。通过消除偏差并仅添加权重参数,我们仅模拟宽度' RBF功能(下图中的蓝色,红色和粉红色)。 RBF variations RBF function bias & weight variations (click link to play with plot)

第二个偏差项是输出层逻辑函数的偏差。这与我们决定将某些东西分类为红色或蓝色有关,我们通过向最接近的整数(0或1)舍入来实现。通过选择这种偏差,我们可以选择决策边界。 请注意下图中,如果此偏差为0,那么一切都> 0.5被分类为1并且一切都<1。 0.5被归类为0.如果我们有偏差+1,这个边界增加到0.7左右,我们偏差-1这个边界减少到0.3左右。

Logistic bias Logistic bias variations (click link to play with plot)

如果我们在逻辑函数中输入RBF函数而没有对逻辑函数的偏差,我们注意到该函数要么完全高于0.5,要么完全低于0.5(下图中的黑色,蓝色和红色图形)。通过添加偏差,我们移动输出函数,使得输出函数的一部分低于0.5,部分高于0.5(黄色和绿色),我们实际上可以根据舍入到最接近的整数(分类为0或1)做出决定。通过(任意)选择偏差为-1,我们可以做出这种分类决定而不将所有东西都放在一个类中。

Logistic + RBF bias RBF + logistic variations (click link to play with plot)

试图解释这一点我同意我选择的例子并不是那么清楚,总是欢迎提出更好的例子。

  
      
  1. 在屏幕截图中说RBF函数将所有值映射到[0,+ infinity]的范围。但是,RBF函数仅映射到[0,1]的范围。这是一个错误吗?这个正范围如何导致-1截距偏差的选择?
  2.   

我的理由是,如果它的1或无穷大并不重要,但唯一重要的是0的下限。我同意这里我可以在技术上更正确,更清楚,我将来会更新它。

这些博文基本上是我为自己做的笔记本实验的渲染。我同意他们可以更清楚,并且总是欢迎反馈。