https://medium.com/@monocosmo77/working-with-nonconvex-concave-concept-part2-machine-learning-geometry-d34e11282286