Please add simple tests here for both cases:
* training == true
* training == false

To keep it simple you only need to check if the predicted label in `psi_pred` is correct for some easy examples. (Only three labels, short weight vectors like `[-1 +1 0]`, etc.)