Convolutions are the key features behind the idea of Convolutional Neural Networks in Python for Data Science.
The process of extraction of useful pattern from input data is Feature engineering or feature extraction. It helps in predicting the model for understanding the real nature of the problem. A good feature learning presents a pattern that increases the accuracy and the performance of the apply machine learning algorithms which is impossible or too expensive for machine learning itself. It finds the common patterns which are important for distinction between want classes and then it extracts them automatically. Then they are there in a classification or regression problem.
Yann Lecun introduce the concept of Convolutional Network in 1998. It was capable of classifying images of handwrite characters with 99% accuracy. One great advantage of this is that it is uncommonly good at finding features in images which grow after each level, this results in high level features at the end. The final layers will use all the generate features for classification and regression.
It is an operation performe on an image for extraction of features from it applying a smaller tensor as kernel, which is similar to a sliding window over the image. We will see in the below example the detection of horizontal and vertical edges in an image using appropriate kernels.