Non Parametric Machine Learning