Machine Learning for Metasurfaces Design and Their Applications