In `ml.regression.LinearRegression`, it use breeze `LBFGS` and `OWLQN` optimizer to do data training, but do not check whether breeze's optimizer returned result actually reached convergence.
In fact, the `LBFGS` and `OWLQN` optimizer in breeze finish iteration may result in the following situations:
1) reach max iteration number
2) function reach value convergence
3) objective function stop improving
4) gradient reach convergence
5) search failed(due to some internal numerical error)
only (2) & (4) situations above can be regarded as convergence result.
in other situation, we should at least print some warning to remind spark user.