The error still exceeds the tolerance of 0.1 after 1000 iterations. The reason it can't is that it has only an input and an output layer. To solve the XOR problem the network would need an intermediate processing stage. In other words, it would need an additional layer of units between the input and the output layers. Thus, if the hidden units are linear, then the connectivity matrices can be multiplied together to yield one matrix that takes the input to the output, and the hidden layer becomes superfluous.
Hidden layers are useful only if the hidden units are nonlinear.
Any differentiable nonlinear function can be used for the hidden unit transfer function. The squashing function is the most commonly used hidden unit transfer function, and it is the one we use here. Problem 5 Making them nonlinear can make the hidden units useful, but the problem of training them remains. The goal of this problem is to use back-prop to train a pattern associator with hidden units to solve the XOR problem. The beauty of back-prop is that it can assign error values to hidden units.