kmeans segmentation clustering for parameter initialisation

sometimes the covariance matrices obtained from this procedure are not
positive semi-definite. To make this more robust an approximation is
used in these cases. This approximation is computed using Higham's
"nearest symmetric positive semi-definite matrix" algorithm.

NB --> This is strange as the numpy.cov() function is used to compute
the covariance matrices. The problem may be due to rounding errors
induced by a inappropriate profile vector encoding.