小编Tor*_*rax的帖子

神经网络不适合XOR

我创建了一个Octave脚本,用于使用反向传播训练具有1个隐藏层的神经网络,但它似乎不适合XOR函数.

  • x 输入4x2矩阵 [0 0; 0 1; 1 0; 1 1]
  • y 输出4x1矩阵 [0; 1; 1; 0]
  • theta 隐藏/输出图层权重
  • z 加权总和
  • a 激活函数应用于加权和
  • m样品数量(4这里)

我的权重初始化如下

epsilon_init = 0.12;
theta1 = rand(hiddenCount, inputCount + 1) * 2 * epsilon_init * epsilon_init;
theta2 = rand(outputCount, hiddenCount + 1) * 2 * epsilon_init * epsilon_init;
Run Code Online (Sandbox Code Playgroud)

前馈

a1 = x;
a1_with_bias = [ones(m, 1) a1];
z2 = a1_with_bias * theta1';
a2 = sigmoid(z2);
a2_with_bias = [ones(size(a2, 1), 1) a2];
z3 = …
Run Code Online (Sandbox Code Playgroud)

matlab machine-learning octave backpropagation neural-network

5
推荐指数
1
解决办法
1059
查看次数