When Do Machine Learning Models Generalize Well? A Signal-Processing Perspective