A Group-Theoretic Framework for Data Augmentation