Graph based semi-supervised learning via label fitting