Quantum machine learning algorithms