Inference and Learning from Data