https://medium.com/@monocosmo77/revisiting-gaussian-processes-for-machine-learning-part17-c2cfc59a7cf6