A neural network algorithm for semi-supervised node label learning from unbalanced data