https://medium.com/@monocosmo77/working-with-nonconvex-concave-concept-part1-machine-learning-geometry-91fb3e54bb1b