Fast Semi-Supervised Learning on Large Graphs: An Improved Green-Function Method