Learning the Nested Logit Tree of Choice Data

Students

2019
Engineering and Applied Sciences

Faculty

Rachleff Family Associate Professor

Project Summary

Machine Learning is perhaps the hottest key word in the tech world nowadays. I have to admit that it was due to this popularity, along with my interest in both computer science and mathematics, that I developed interest in this field. Nevertheless, I had a strong feeling that research in this field was something I had to experience. This summer, I expected to learn about all the cool machine learning tools and apply them to real world problems. I was mistaken. Research in machine learning was more theoretical than I had imagined. It was more about statistics and optimization than coding, and I used synthetic data more than I used actual real world data. This was a bit disappointing at first, but as I immersed myself deeper into the research, I found myself really enjoying the process of problem solving. The project I worked in was about learning the nested logit tree structure of choice data. The first part was recreating results of an algorithm in a research paper by Google on this topic. Then I implemented a new algorithm that may perform better than the algorithm in the paper. Also, I implemented code that created plots of maximum likelihood estimator computations that show the performance of the algorithms. Creating synthetic data, making the tree datastructure in Matlab, implementing an algorithm from a reference paper, and conducting experiments in the Bayes cluster (distributed computing system hosted by Penn SEAS) were all new problems that I have never encountered before. It was challenging yet reasonably doable and I was excited each time I moved a step forward. I believe that Prof. Agarwal gave me a suitable project considering my background. Also, it was a great experience to work alongside a postdoc (Nick). All in all, I am excited about continuing to work in another research, perhaps a longer project with more interesting things to learn about machine learning.