Machine learning models have been widely used to address various challenges in computer vision tasks, including image classification, object detection, and visual tracking. In the past decade, Deep neural network becomes one of the most successful machine learning methods when a large amount of annotated data is available. However, one of the major hindrances for Deep Learning is collecting high-quality training data, which is expensive and time-consuming. While training Neural Networks with an insufficient amount of training samples, system performance is often not satisfying. One of the many solutions is generating more training samples from existing training data using a technique called Data Augmentation. This dissertation systematically studies various data augmentation methods for image classification purposes. It presents a newly proposed machine learning-based method for augmentation training data set without a human in the loop. The key idea is to sequentially apply a set of augmentation operations (rotation, translation, etc.) over each training image to generate a new image. A trained neural network determines the optimal augmentation operation at each time-step in order to maximize the training efficiency. Experiments with comparisons to alternative augmentation policies were conducted over public image classification benchmarks, and substantial performance improvements were consistently obtained over various experimental setting.