Linear SVMs for supervised and semi-supervised learning