Deep Learning for Student Course Recommendation
25,000 Michigan Alumni are ready to advise you now!
How much time do you spend to discover and decide what courses to take in your next term? How many senior students and upperclassmen do you consult to get their experience in planning your course schedules each term?
At Michigan CSE, we have now built a deep learning system that you can consult with to help pick courses, a system that has learnt interesting patterns from all the courses pursued by more than 25,000 alumni at the University of Michigan, in the last 36 years!
The system can now recommend EECS courses, and we will roll this out to our entire University soon. Go ahead, find your next term’s courses!
The system takes the history of EECS courses you have taken so far and runs it through a Deep Recurrent Neural Network (RNN) that has been trained on every EECS course that every Michigan EECS student has ever pursued in the last 36 years, and predicts what you might end up taking based on the patterns found.
We had several different formulations for this problem, and found RNNs with LSTM (Long Short Term Memory) cells squeeze out the best performances in learning from Michigan’s historic student-course data. From a total of ~250 popular EECS courses offered by Michigan, we generate a sorted list of top-10 recommended courses for a current student’s past course history. Courses that you will eventually end up taking in the next term, on an average, will fall at position 11.6 from the top, in the sorted list of ~250 courses generated by RNNs (see Figure 1 for results comparing various algorithms), so we hope the top 10 courses generated are useful for you!
Figure 1 shows the performances (lower the better) of the various machine learning formulations and architectures we tried: Alternating Least Squares, Random Forests, short-order Markov models, Predictive State Representations and RNNs. The best model was an LSTM-RNN architecture, achieving a performance of 11.6.
At Michigan we want to push the frontiers of efficiency, and training a recommender system hard and deep to learn from 36 years of historic data is only the first step. We are building dialog systems on top of this recommender, to which you can simply talk, ask questions in natural language, and get answers to one of the most beaten down questions in the minds of students at our university:
“What courses should I take next term??”