Perceptrons are guaranteed to find a boundary, and with enough iterations, it can find a 0% error boundary, converging in a finite number of steps iff linearly separable.
will give us any old boundary
some boundaries will generalize better (maximize the distance from all data points)