Machine Learning in Small Data Environments: Is it Possible?

Machine learning often requires large datasets, but what do you do when data is limited? Have you used any strategies like data augmentation or transfer learning to deal with this?