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

Neural Network Intercept Bias in this tutorial

我正在浏览本网站的神经网络教程:

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

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

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

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

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

  1. Is the choice of the intercept bias of -1 purely arbitrary? I don't quite understand his explanation.

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

有基本的 2 个可能的偏置项是常量。第一个是隐藏层上的偏置项。这个隐藏层偏差项会给 RBF 函数增加一个偏移(下图中的黄色和绿色)。通过去除偏差和只增加一个权重参数,我们只对 RBF 函数的 'width' 建模(蓝色,下图中的红色和粉红色)。 RBF function bias & weight variations (click link to play with plot)

第二个偏置项是对输出层逻辑函数的偏置。这与我们如何决定 class 将某些东西确定为红色或蓝色有关,我们通过向最接近的整数(0 或 1)四舍五入来做到这一点。通过选择这种偏差,我们可以选择决策边界。 请注意,在下图中,如果此偏差为 0,则所有 > 0.5 都被 class 化为 1,所有 < 0.5 都被 class 化为 0。如果我们有偏差 +1,则此边界增加到大约0.7,我们有偏差 -1 这个边界减少到 0.3 左右。

Logistic bias variations (click link to play with plot)

如果我们在 logistic 函数中输入 RBF 函数而不对 logistic 函数施加偏差,我们会注意到该函数完全高于 0.5 或完全低于 0.5(下图中的黑色、蓝色和红色图表)。通过添加偏差,我们移动输出函数,使输出函数的一部分低于 0.5,一部分高于 0.5(黄色和绿色),我们实际上可以根据四舍五入到最接近的整数(至 classify为 0 或 1)。通过(任意)选择偏差为 -1,我们可以做出这个 class 化决策,而无需将所有内容都放在一个 class.

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

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

  1. It said in the screenshot that the RBF function maps all values to a range of [0, +infinity]. However, the RBF function only maps to a range of [0,1]. Is this a mistake? And how does this positive range lead to a choice of -1 intercept bias?

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

这些博文本质上是我为自己做的笔记本实验的渲染图。我同意他们可以更清楚,欢迎随时提供反馈。