I have a following thought problem involving perceptron and binary classification that I wonder if anyone has thought about before. This is not from any textbook or reference, although I doubt I'm the first one to observe the following.
Suppose you wish to do binary linear classification on a separable dataset.
From the famous perceptron convergence theorem (I am referring to the last equation in this document: http://www.cs.columbia.edu/~mcollins/courses/6998-2012/notes/perc.converge.pdf)
The number of iterations $(k)$ is upper bounded by ,
$$k \leq R^2/\gamma^2$$
Where $R$ is the largest magnitude of your data and $\gamma$ is the margin to the optimal/separating hyperplane.
Now if I wished to increase the rate of convergence of perceptron for finding this optimal hyperplane. This means, I would either increase $\gamma$ or lower $R$.
Since $\gamma$ is an unknown, prior to calculating the optimal hyperplane. Then I can only lower $R$.
I use standardscaler or whatever else technology to normalize my data around the mean and divide by the standard deviation. Great, now $R$ is smaller.
But a problem now arises: the normalized dataset appears to be more "squished" together. This means that my $\gamma$ has also gotten smaller. Hence the bound is now bigger.
Thenceforth, the perceptron dilemma: should you normalize your data or not?