max-pooling operation is a common operation in neural networks. Especially, if you are using convolutional networks. It may be used. In this tutorial, we will introduct it for machine learning beginners.
What is max-pooling?
You can view it as an operation that finds a maximum number from a small matrix in a big matrix.
For example:
There is a 4*4 matrix, we can use a 2*2 filter to split this big matrix to 4 small ones based on stride 2.
We can find the maximum number in each small matrix. That is max-pooling operation.
max-pooling operation does not a weight matrix
In convolutional network, we need a weight filter to operate a matrix, this weight filter is updated when training. However, as to max-pooling operation, we only need a filter size to find the maximum number from a small block.
Here is an examople:
We use a 2*2 weight filter to make a convolutional operation on a 4*4 matrix by stride 1. We can get a 3*3 matrix.
Then we use a 3*3 size filter to make a max-pooling operation to find the larget number 3 in each matrix.