制作多层感知器的训练实例

Making training example of multilayer perceptron

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

  • Four inputs x_1, ... x_4 , where x_i is Real number, and the network must output(y) 1 if x_1 < x_2 < x_3 < x_4 (sorted order), and 0 otherwise.

  • A hard threshold activation function ;

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)

And, f(y).

我想训练样本应该是

(-2,-1,0,1) -> output 1, (0,0,0,0) -> output 0, (0,0,0,1) -> output 0, (1,2,3,4) -> output 1.

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

你能帮我找到应用 algorithm 的正确示例吗?

不,它并不宽泛,您可以只针对每个 x_i 集中在 [0, 1] 范围内,因为在任何情况下您都需要归一化数据来训练神经网络。

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