title: Training neural network for XOR in Ruby
body: <p>I am trying to train a feedforward network to work to perform an XOR operations with the Ruby Library AI4R. However,
  when I evaluate for the XOR after training it. I am not getting the correct output. Has anyone used this library before
  and gotten it to learn the XOR operation. </p>
  
  <p>I am using two input neurons, three neurons in a hidden layer, and one layer for the output, as I saw a precomputed
  XOR feed forward neural network like this before.</p>
  
  <pre><code>require "rubygems"
  require "ai4r"
  
  # Create the network with:
   #   2 inputs
   #   1 hidden layer with 3 neurons
   #   1 outputs
   net = Ai4r::NeuralNetwork::Backpropagation.new([2, 3, 1])  
  
   example = [[0,0],[0,1],[1,0],[1,1]]
   result = [[0],[1],[1],[0]]
  
   # Train the network
   400.times do |i|
     j = i % result.length
     puts net.train(example[j], result[j])
   end
  
   # Use it: Evaluate data with the trained network
  puts "evaluate 0,0: #{net.eval([0,0])}"  # =&gt;  evaluate 0,0: 0.507531383375123
  puts "evaluate 0,1: #{net.eval([0,1])}"  # =&gt;  evaluate 0,1: 0.491957823618629
  puts "evaluate 1,0: #{net.eval([1,0])}"  # =&gt;  evaluate 1,0: 0.516413912471401
  puts "evaluate 1,1: #{net.eval([1,1])}"  # =&gt;  evaluate 1,1: 0.500197884691668
  </code></pre>
  
  <p>Ted</p>