From Cluster Assumption to Graph Convolution: Graph-based Semi-Supervised Learning Revisited