Machine Learning in Discrete Molecular Spaces