Machine Learning Without Tears, Part two: Generalization