Course Review: CS 7641 Machine Learning — OMSCS Georgia Institute of Technology

Nikki Hu
7 min readMay 7, 2019

I just finished my 2nd semester and I cannot be happier to have ended up with 2 As, it definitely took a lot of work. I took Machine Learning (ML CS 7641) and Machine Learning for Trading (ML4T CS 7646) this semester, and they were great to take together since the material has some overlap, but they are applied to different problems in different fields. One is more writing and theory-based (ML), while the other is coding and application based (ML4T), so together, they gave a more holistic picture of machine learning.

Machine Learning CS 7641 — OMSCS Georgia Tech:

Overall, ML was a very good course to me. I had not much experience/knowledge of the subject before I started, so I learned a ton. I’d say the most difficult aspect of this course was the amount of information covered. Normally, when a course covers a lot of information, it would not go as deep, but ML required both breadth and depth of information on the subject, which proved to be challenging. Additionally, coming from a non-math background, this is the first math heavy course I have taken, and there was definitely a pretty steep learning curve.

Difficulty: 4/5

Hours per Week: 25

Quality: 4/5

Math:

In order to understand the materials well, I first had to learn what all the math symbols mean, it’s like learning a new language, not hard, but takes time to get used to. Additionally, knowledge of the following subjects was required: probability and statistics and linear algebra. The profs provided some additional reading materials on these topics in the “Prerequisite” test, but since I have no patience with reading, I watched YouTube videos instead to catch up on these topics.

Homework Assignments:

I felt that the first half of the course was a lot more challenging, but that could also be due to the fact that I didn’t really keep up with the curriculum at first. These assignments, you can steal someone’s code, and you are really just graded on your analysis of your results.

Tip 1 — Keep Your Problems Simple: We are given the option to choose our own problem(s) to analyze and it is important to keep these interesting, but simple. For my first homework assignment, I made the mistake of being overly ambitious with my problem selection and ended up spending a ton of time on pre-processing (running NLP on) the data (not part of the assignment, no additional consideration will be given for this work). I realized that the problem is ill-defined and had to select different problems. Needless to say, I was rushing to complete the assignment at the end.

Tip 2 — Assignments Are Due 12 am EASTERN TIME: Another important thing to remember is, for this course, all assignment due times are in EASTERN TIME, as opposed to anywhere on earth time that’s standard for other classes. I actually made the mistake of handing in my assignment a couple of hours late and had to email TA’s to explain my situation. Even though I received a decent grade for the assignment at the end, the mental stress I had to go through was just not worth it. So, the tip is to start very early, something is going to go wrong, as they always do.

Tip 3 — Include Your GitHub Link in Readme.txt : Make sure to read the requirements carefully. The last mistake I made was not including the GitHub link in my README file, which I lost 30+ marks on and had to email the TAs again.

Tip 4 — Start Early and Go Through All Materials Before You Start Writing: You get 2–3 weeks to spend on every assignment, but time goes by so quickly, so you should start early. First, you should complete all the readings/lecture videos on the topic, and that actually helps with exam preparation too. Then, as you are going through the analysis, you will find evidence of theorems and expected outcomes that were discussed in the lectures. Additional Googling is also required as you try to understand why something happened.

Tip 5 — Cite Your Sources: In the middle of the semester, we actually received a note about plagiarism. Your paper will be put through their plagiarism check, so if you do look at past assignments online, make sure you don’t use any of other people’s wordings, and if you decide to use parts from any other paper/websites (e.g., Expedia), make sure to cite properly.

Tip 6— Format Well: The last tip I would give is, since you are graded on your analysis, it is important to make sure your essays look professional. Take the time to format your papers well, follow the good structure for actual published papers, align and name all the graphs you use, and take the time to proofread. This is the easiest part that can really show the TAs that you have put in the time and effort on the assignment, something you can do even if you have very little idea about what you are writing about. It is an important differentiator when they have limited time to go through so many papers.

Exams:

These were really hard. However, they are not impossible to do well on, with proper preparation. I did a lot better on the second exam than the first, after knowing more of what to expect and learned from my mistakes.

Tip 1 — Complete & Understand the Problem Sets: We get problem sets to submit to help us prepare for these, even though they are not graded, do try to complete them as a good practice, and go over the solutions thoroughly after they are released.

Tip 2 — Don’t Rely on Last Minute Cramming: The exam really tries to test your understanding and application of the materials, instead of pure memorization. Therefore, it is important to go through the material several times, with time in between. I didn’t really keep up with all the lectures and readings for the first exam, and as a result, the last-minute cramming I did was not super helpful as our brain are not able to digest knowledge that fast (the knowledge usually solidifies after a few sleeps). Last minute cramming only works for multiple choice, memorization only type of tests.

Tip 3 — Go Through the Textbook Twice: What worked really well for me for the second exam was that, I went through the material fairly thoroughly once while I was working on the assignments. This was really helpful for the assignment as well, so I strongly recommend. When I was preparing for the final exam, I went through all the materials again and veering off to watch YouTube videos on the same topics when I couldn’t understand something completely.

I find that the textbook was great, I bought the Indian edition, at a pretty reasonable price from Amazon. It helps me a lot to be able to write and highlight on the textbook. It is also used for ML4T, which created some synergies between the courses. I read the textbook once extremely thoroughly, writing notes along the way for every sentence that I had trouble understanding. Then I went through the books again, just to consolidate my handwritten notes into typed notes. Again, this repetition works extremely well if you don’t do them back to back, give your brain time to digest the material, and then review.

Tip 4 — Go Through the Lectures at Least Twice and Watch Additional Videos to Supplement Your Understanding: The lectures were easy to go through, I like to watch everything at 2x speed (habit from listening to audiobooks). I find that the materials in the lectures, though cover all the key points, do not present a complete picture. I can go through the whole lesson and not even understand what the topic is. So a lot of the times, I have to go look up additional videos online to learn the background, definitions, etc. It is very important to go through the lecture twice as well, first time stopping and Googling as you go along, and the second time just speeds through everything to put it all into perspective. Obviously going through them more than twice never hurts, if you have the time.

The best resource I found is (link): CMU Machine Learning Lectures by Tom Michell. This is what the CS 7641 is based on, and taught by the professor who wrote the book, so he definitely knows what he’s talking about, and the material is complete and well made. Anytime I am confused about something, I go find the equivalent lecture and watch the video here. You may find their exam questions, and they may seem very difficult, but don’t worry, the exams are not like that.

Easy to understand videos (link): StatQuest with Josh Starme. I watched the videos for PCA on here and it was so easy to understand, he also has other videos too on ML related topics.

Tip 5 — Memorize and Understand How to Apply Key Formulas: Lastly, make sure you understand the key formulas and how to use them. You will be asked to calculate things on the exam, so be ready.

--

--