When I had just started university at the beginning of the 21st century our software engineering teacher stood in front of my class of future mathematicians and stated:
“Life will force you to learn to code”.
So I learned to write good code while I studied maths. When I graduated, the “Data Science – Machine Learning – Big Data – Artificial Intelligence” era had not yet arrived and there weren’t many applied mathematics jobs around, so I started as a database developer in one of the biggest banks in Russia.
Later on, the buzz started. The amount of data businesses have access to was growing exponentially, as was computers’ ability to process it. This meant a big change for business.
I experienced it myself working for the Russian’s regional internet service provider. The change in technologies, changes in customer behaviour, and moving towards reaching the upper limit in our internet market capacity. In the beginning, there were just standard technological issues for database developers to solve – user authentication, matching the traffic, billing issues, etc. Later, the tasks changed to be focused on customer behaviour analysis, including even basic churn modelling. In 2016, the special analytical department was formed at the bank and the company hired young mathematicians to help build models and solve more complex problems.
Finally, I could see mathematical applications becoming more and more ubiquitous, leaving the rooms of the research institutions and entering every-day life. The combination of open source software libraries, high volumes of open data and online education handed the power to the general public to contribute to finding solutions to many kinds of existing problems.
This was the main reason I decided to enroll in a Machine learning course on Coursera taught by Andrew Ng. Started in 2012, the course looked like a great introduction into the world of Machine Learning which gained a lot of popularity recently, despite being on the scene since the middle of the last century. I had to check it out for myself to see if it is really possible to grasp the main ideas in a 10-week period.
Apart from being a known specialist in Machine Learning and Deep Learning, there is no doubt Andrew Ng is also a talented teacher.
“If you can’t explain it simply, you don’t understand it well enough.” Albert Einstein
The course material is extremely well-structured, building up gradually in complexity, and the concepts are explained simply, avoiding overly complicated math notation and terminology. However, I did find my previous knowledge in linear algebra, calculus, mathematical analysis and optimization theory was extremely helpful in getting a deeper grasp of ideas.
The course involved 3-4 hours of watching videos per week in between work and home, and then a more deliberate approach to programming assignments. Some of them required more thinking than others – I could not stand writing for-loops if there was a possibility for vectorized implementation. My previous programming experience in Matlab helped me find solutions faster. Each programming assignment is built around different real-life examples – designing a spam classifier or recommender system for instance.
The practical aspect of the course is what I enjoyed working on the most. The assignments were so practical, including topics such as image recognition, for example, which is a big topic at the moment. What does the code behind this kind of process actually look like? What kind of procedures? I was delighted to learn the process behind this and other topics through completing the course.
It is definitely a great course to start your Machine Learning adventure with. Now I feel empowered and ready to learn more and finally make use of my mathematical skill set.
What is next in my learning journey?
I have already started looking into learning Python with DataCamp – I completed an Intro to Python for Data Science course, where I built up my python programming skills. It was very good and you do not even need to install Python on your machine! Just use the built-in shell!
And I am also going to try to participate in the well known online competition platform Kaggle to apply the knowledge I have got from the course.
So, why should everyone learn more about this topic?
To me, the answer is quite simple:
It’s an old Latin saying – Forewarned is forearmed. Machine Learning is the way of the futrue and there is no point in staying behind.
As technology continues to evolve and become a more significant part of every aspect of our lives, the better we understand the hidden processes behind it the better mechanisms we have to control it and use appropriately. Therefore the better we function as a society.
In the end, it’s all about humans.