As machine learning methods scale up and now deal with millions of features, we ideally want to add all possible features without having to manually verify or consider the effectiveness of each feature with respect to the performance.
we need an automatic way to exploit any usable information that can be obtained from features.