# Is there any variant of perceptron convergence algorithm that ensures uniqueness?

The perceptron convergence algorithm given below ensures the convergence of weights of the perceptron provided enough data points and iterations.

Although it ensures convergence by finally getting a decision hyperplane that can separate positive samples (P) from negative samples N. It does not ensure the uniqueness of the decision hyperplane.

The solution is not unique, because there are more than one hyperplanes separating two linearly separable classes.

Are there any variants to this algorithm in the literature that are capable of ensuring uniqueness?

The problem of multiple existing solutions is not uniquely related to the optimization algorithm of choice, it is actually many times related to the problem itself. More precisely, it is a direct consequence of the Rouché–Capelli theorem.

A simple or multilayer perceptron is nothing but a system of linear equations, in which the input set represent the coefficient matrix, the input set plus the targets represent the augmented matrix and the perceptron weights are the free parameters to solve.

As the theorem states, if the 2 matrices have the same rank, there is at least one solution, and if the rank of the 2 matrices is less than the number of unknowns, the solutions will be infinite in number.

Let's consider a very simple function, the XOR function in the image below. We can see that both, the coefficient matrix (input 1 + input 2 column) and the augmented matrix (input1 + input 2 + output) have rank 3, since row 1 and row 3 are not indipendent (i.e. I can rewrite one as a multiple of the other). Moreover, we can see that the number of unknowns is 4, less than the rank. Hence there are infinite solutions, because once I find a solution, for the weights for row 1, I can write infinite sets of weights, multiples of the solution found, that will work as parameters for row 3.

Note that the theorem talks only about coefficients, i.e. known variables, so this result and test holds regardless of the learned weights and therefore regardless of the optimization algorithm of choice.

Like what was mentioned by Edoardo, absent some other constraint, if your data is infinitely separable, then you can find an infinite number of separating hyperplanes. The perceptron algorithm will just find a hyperplane.

However there are constraints you can put on your model such that there only exists a single separating hyperplane.

The most famous is probably the support vector machine. Here, we assume that the "best" hyperplane should also be the one that's the furthest from the closest points in each class (i.e., the maximum-margin hyperplane). There are conditions in which this hyperplane is unique.