1

我正在尝试制作几个训练示例,以获得正确实现硬阈值激活功能的特定网络的一组权重和偏差。

  • 四个输入 x_1, ... x_4 ,其中 x_i 是实数,如果 x_1 < x_2 < x_3 < x_4(排序顺序),网络必须输出(y)1,否则为 0。

  • 硬阈值激活函数;

f(z) = 1(如果 z>= 0)或 0(如果 z <0)

h1 = x1w11 + x2w12 + x3w13 + x4w14 + b11

h2 = x1w21 + x2w22 + x3w23 + x4w24 + b21

h3 = x1w31 + x2w32 + x3w33 + x4w34 + b31

y = w1h1 + h2w2 + h3w3 + b (*Actually h1, h2, h3 are f(h1),f(h2),f(h3) because of activation function)

并且,f(y)。

我想训练示例应该是

(-2,-1,0,1) -> 输出 1, (0,0,0,0) -> 输出 0, (0,0,0,1) -> 输出 0, (1,2,3 ,4) -> 输出 1。

.. 等等。但是输入的领域太宽泛,无法建立具体的例子来使用多层感知算法。

你能帮我找到合适的例子来应用algorithm吗?

4

1 回答 1

1

不,它并不宽泛,您可以只专注于每个 x_i 的 [0, 1] 范围,因为在任何情况下您都需要标准化数据来训练神经网络。

所以基本上你可以在 [0, 1] 范围内生成均匀分布的随机数,检查它们是否已排序,并相应地生成标签。然后你重复说 10K 或 100K,然后你有一个数据集来训练 MLP。您还可以使用选定的步骤离散化 [0, 1] 范围以生成数字。

于 2017-01-27T16:46:10.453 回答