Data augmentation
This article relies largely or entirely on a single source. (September 2020) |
Part of a series on |
Machine learning and data mining |
---|
Data augmentation is a technique in machine learning used to reduce overfitting when training a machine learning model,[1] by training models on several slightly-modified copies of existing data.
Synthetic oversampling techniques for traditional machine learning
Data augmentation for image classification
Data augmentation plays a crucial role in image classification tasks, which involve categorizing images into predefined classes. Image classification has numerous applications, including object recognition, scene understanding, and facial recognition.
In image classification, data augmentation helps prevent overfitting and improves the model's generalization capabilities, especially when dealing with limited datasets. By creating slightly modified copies of existing images, data augmentation increases the diversity of the training set, enabling the model to learn from a wider range of examples.[2]
There are several common image augmentation techniques used for image classification tasks:
- Rotation: Rotating the image by a certain angle, usually within a specific range (e.g., -45 to 45 degrees).
- Scaling: Resizing the image by a scaling factor, which can either enlarge or reduce the image size.
- Flipping: Flipping the image horizontally or vertically, creating a mirrored version.
- Cropping: Removing parts of the image, usually by taking random crops of a predefined size.
- Brightness and contrast adjustments: Modifying the brightness and contrast levels of the image.
- Noise injection: Adding random noise to the image, such as Gaussian noise or salt and pepper noise.
- Color transformations: Changing color properties, such as converting to grayscale, or adjusting hue and saturation levels.
Several popular libraries and frameworks offer image augmentation functionality for image classification tasks:
- Albumentations: A high-performance, flexible library for image augmentation built on top of OpenCV.
- Keras ImageDataGenerator:[3] A built-in class in Keras for real-time data augmentation with various image preprocessing functions.
- imgaug[4]: A versatile library for image augmentation with a wide range of available techniques and configurations.
- torchvision (for PyTorch):[5] A package containing popular datasets, model architectures, and common image transformations for computer vision in the PyTorch framework.
When applying data augmentation in image classification tasks, it is essential to select appropriate augmentation techniques and their parameters based on the specific problem domain and dataset characteristics. Practical examples and best practices include:
- Evaluating the impact of different augmentation techniques on the model's performance, using techniques such as cross-validation.
- Gradually increasing the complexity and variety of augmentations to prevent the model from overfitting while maintaining its ability to learn meaningful features.
- Ensuring that the chosen augmentation techniques are consistent with the problem domain and do not introduce unrealistic or irrelevant variations to the dataset.
Data augmentation for signal processing
Residual or block bootstrap can be used for time series augmentation.
Biological signals
Synthetic data augmentation is of paramount importance for machine learning classification, particularly for biological data, which tend to be high dimensional and scarce. The applications of robotic control and augmentation in disabled and able-bodied subjects still rely mainly on subject-specific analyses. Data scarcity is notable in signal processing problems such as for Parkinson's Disease Electromyography signals, which are difficult to source - Zanini, et al. noted that it is possible to use a Generative adversarial network (in particular, a DCGAN) to perform style transfer in order to generate synthetic electromyographic signals that corresponded to those exhibited by sufferers of Parkinson's Disease.[6]
The approaches are also important in electroencephalography (brainwaves). Wang, et al. explored the idea of using Deep Convolutional Neural Networks for EEG-Based Emotion Recognition, results show that emotion recognition was improved when data augmentation was used.[7]
A common approach is to generate synthetic signals by re-arranging components of real data. Lotte[8] proposed a method of "Artificial Trial Generation Based on Analogy" where three data examples provide examples and an artificial is formed which is to what is to . A transformation is applied to to make it more similar to , the same transformation is then applied to which generates . This approach was shown to improve performance of a Linear Discriminant Analysis classifier on three different datasets.
Current research shows great impact can be derived from relatively simple techniques. For example, Freer[9] observed that introducing noise into gathered data to form additional data points improved the learning ability of several models which otherwise performed relatively poorly. Tsinganos et al.[10] studied the approaches of magnitude warping, wavelet decomposition, and synthetic surface EMG models (generative approaches) for hand gesture recognition, finding classification performance increases of up to +16% when augmented data was introduced during training. More recently, data augmentation studies have begun to focus on the field of deep learning, more specifically on the ability of generative models to create artificial data which is then introduced during the classification model training process. In 2018, Luo et al.[11] observed that useful EEG signal data could be generated by Conditional Wasserstein Generative Adversarial Networks (GANs) which was then introduced to the training set in a classical train-test learning framework. The authors found classification performance was improved when such techniques were introduced.
Mechanical signals
The prediction of mechanical signals based on data augmentation brings a new generation of technological innovations, such as new energy dispatch, 5G communication field, and robotics control engineering.[12] In 2022, Yang et al.[12] integrate constraints, optimization and control into a deep network framework based on data augmentation and data pruning with spatio-temporal data correlation, and improve the interpretability, safety and controllability of deep learning in real industrial projects through explicit mathematical programming equations and analytical solutions.
See also
- Oversampling and undersampling in data analysis
- Generative adversarial network
- Variational autoencoder
- Data pre-processing
- Convolutional neural network
- Regularization (mathematics)
- Data preparation
- Data fusion
References
- ^ Shorten, Connor; Khoshgoftaar, Taghi M. (2019). "A survey on Image Data Augmentation for Deep Learning". Mathematics and Computers in Simulation. 6. springer: 60. doi:10.1186/s40537-019-0197-0.
- ^ Shorten, C.; Khoshgoftaar, T. M. (2019). "A survey on Image Data Augmentation for Deep Learning". Journal of Big Data. 6 (1): 60. doi:10.1186/s40537-019-0197-0.
{{cite journal}}
: CS1 maint: unflagged free DOI (link) - ^ "Keras ImageDataGenerator". Keras. Retrieved 2023-04-03.
- ^ "imgaug: Image Augmentation Library". GitHub. Retrieved 2023-04-03.
- ^ "torchvision: Datasets, Transforms and Models specific to Computer Vision". PyTorch. Retrieved 2023-04-03.
- ^ Anicet Zanini, Rafael; Luna Colombini, Esther (2020). "Parkinson's Disease EMG Data Augmentation and Simulation with DCGANs and Style Transfer". Sensors. 20 (9): 2605. Bibcode:2020Senso..20.2605A. doi:10.3390/s20092605. ISSN 1424-8220. PMC 7248755. PMID 32375217.
- ^ Wang, Fang; Zhong, Sheng-hua; Peng, Jianfeng; Jiang, Jianmin; Liu, Yan (2018). "Data Augmentation for EEG-Based Emotion Recognition with Deep Convolutional Neural Networks". Multi Media Modeling. Lecture Notes in Computer Science. Vol. 10705. pp. 82–93. doi:10.1007/978-3-319-73600-6_8. ISBN 978-3-319-73599-3. ISSN 0302-9743.
- ^ Lotte, Fabien (2015). "Signal Processing Approaches to Minimize or Suppress Calibration Time in Oscillatory Activity-Based Brain–Computer Interfaces" (PDF). Proceedings of the IEEE. 103 (6): 871–890. doi:10.1109/JPROC.2015.2404941. ISSN 0018-9219. S2CID 22472204.
- ^ Freer, Daniel; Yang, Guang-Zhong (2020). "Data augmentation for self-paced motor imagery classification with C-LSTM". Journal of Neural Engineering. 17 (1): 016041. Bibcode:2020JNEng..17a6041F. doi:10.1088/1741-2552/ab57c0. hdl:10044/1/75376. ISSN 1741-2552. PMID 31726440. S2CID 208034533.
- ^ Tsinganos, Panagiotis; Cornelis, Bruno; Cornelis, Jan; Jansen, Bart; Skodras, Athanassios (2020). "Data Augmentation of Surface Electromyography for Hand Gesture Recognition". Sensors. 20 (17): 4892. Bibcode:2020Senso..20.4892T. doi:10.3390/s20174892. ISSN 1424-8220. PMC 7506981. PMID 32872508.
- ^ Luo, Yun; Lu, Bao-Liang (2018). "EEG Data Augmentation for Emotion Recognition Using a Conditional Wasserstein GAN". 2018 40th Annual International Conference of the IEEE Engineering in Medicine and Biology Society (EMBC). Vol. 2018. pp. 2535–2538. doi:10.1109/EMBC.2018.8512865. ISBN 978-1-5386-3646-6. PMID 30440924. S2CID 53105445.
{{cite book}}
:|journal=
ignored (help) - ^ a b Yang, Yang (2022). "Wind speed forecasting with correlation network pruning and augmentation: A two-phase deep learning method". Renewable Energy. 198 (1): 267–282. doi:10.1016/j.renene.2022.07.125. ISSN 0960-1481. S2CID 251511199.