What is machine learning, how does it work and what is it used for