Machine learning for perovskite materials design and discovery