Touching
Data Science
15 April 2020, 21:34 GMT +3
MITx DATA SCIENCE 2020 – MY EXPERIENCE
  • Who can benefit from this course
  • What this course won't teach
  • My key learnings
Who can benefit from this course
Data Science takes the world by storm these days. This trend gave birth to two extreme notions:
1
It is some magic that is beyond the comprehension of any human person
2
All the visuals recognition Neural Networks, generative, and other cool algorithms are put into libraries by guys from the first question category. I will simply learn "these" APIs and will do Data Science solutions as easy as I do sites with Django
The truth is somewhere in the middle. This course gives a pretty clear perspective on where it precisely is.

What does it mean:

  • if you are into Data Science but not deep enough to make serious decisions
  • if work with Data Scientists as their peer or boss
  • if you see yourself in the second category and resolved to move to Top League
  • if you learned php / Python / anything else using online articles and books, this approach failed you with Data Science, and you decided to learn from the best
then – this course is for you.
What this course won't teach
For instance:

You may don't know how Cross-Entropy Loss works and what will happen if you replace it with MSELoss. You will be able to open docs on both and figure that out in minutes.
Python

You're expected to know it well already, at least all it's application that can be squeezed into 400 pages book.

Frameworks like TensorFlow / PyTorch / Keras

The course is mainly focused on fundamental Machine Learning concepts and math beyond. Students apply those concepts and get some real results, like image recognition. This creates the foundation upon which the solid understanding of all these fancy frameworks can be built upon.
What I learned
To be a bit more formal here is it:
What of all that was really cool:
Closed-form solutions
Are not always the best. For instance, inverse matrix computation in linear regression is way harder than stochastic gradient descend
Natural Language Processing
One doesn't need to understand the language to interpret it. Ups. May algorithms use statistical methods and do their job well.
A cost function is a King
  1. define it
  2. optimize it
  3. "you're golden" ⓒ prof. P. Rigllet
Keep Python cost model in mind
Otherwise don't get surprised if model learning takes longer than Big Freeze
Cache functions
Otherwise - see the card about cost model. Such as @lru_cache
Understand the math
Or tomorrow, you may look at your code and shout "OMG! I should rewrite it completely. But before, I should understand the math."
Conclusion
This was one of the most challenging courses. At the same time, the level of simplicity that instructors explain complex concepts with – is fascinating. It was one of the most efficient investments of my time and money.