From Adaptive Testing to Personalized Adaptive Testing: Applications of Machine Learning Algorithms