Initialize the weight vector \[\mathbf w^{(0)} \leftarrow \mathbf 0 \;(\text{or small random values}), \qquad b^{(0)} \leftarrow 0\]
Loop over the training set \(\{(\mathbf x_i,\,y_i)\}_{i=1}^{N}\) with \(y_i \in \{-1,+1\}\)
Repeat passes (epochs) until all points are classified correctly or a preset iteration budget is exhausted.