As we have discussed before, a perceptron will find a solution in finite time if the data is separable. However, how many iterations it will take to find a solution depends on how close the groups are to each other in the feature space.
Convergence is when the learning algorithm finds a solution or reaches a steady state that is acceptable to the designer of the learning model.
The following paragraphs will deal with convergence on different types of data: linearly separable and non-linearly separable.
Convergence on linearly separable data
For the particular dataset that we have been studying in this chapter, the separation between the two groups of data is a parameter that can be varied (this is usually a problem with real data). The parameter is class_sep and can take on a real number; for example:
X, y = make_classification(..., class_sep=2.0, ...)
This allows us to study how many iterations it takes, on average, for the perceptron algorithm...