An Algorithm for Training Polynomial Networks