Node Splitting: A Constructive Algorithm for Feed-Forward Neural Networks