Machine learning (ML) with all its hypes and promises is an extremely interesting area of research. Its study in the most fundamental form requires a strong background in mathematics, statistics, computer science, and engineering. But, when it is applied to real-world problems, it even requires further knowledge in different application domains such as medicine, biology, chemistry, and language. Mastering ML and its applications can easily become a lifelong endeavor for many people.
With the recent success of ML and its demand in industry and academia, there are more and more students, researchers and engineers who are starting to use ML in their daily practices. Although there are many tutorials and examples online for implementing ML models, it is quite challenging for newcomers to gain a fundamental understanding of what they are building. This gap between the fundamental understanding and practice can be even more profound in application domains where ML models are sometimes used as a black box.
I myself came to ML from an engineering and computer vision background (I studied computer engineering in undergrad and computer vision in grad school). Like many students, I used ML to solve fancy computer vision problems. But, the curiosity for having a fundamental understanding always drove me to dig deeper into my training frameworks. In these situations, I often found myself requiring techniques from calculus, statistics or linear algebra; techniques that either I was never formally trained for, or if I was, I didn’t know how to apply them to my problems.
I believe many new graduate students and newcomers to the ML field struggle with similar challenges. This blog is my attempt to share the basic techniques that I have found useful in developing a fundamental understanding of ML models. Here, I am planning on introducing topics from calculus, linear algebra, and statistics that are commonly used in machine learning. Gradually, I will build the foundation to write about more advanced ML models.
I don’t intend to share code or implementation, as I believe there are a lot of online resources and tutorials for that. Instead, I will focus more on illustrations that would help us better understand the fundamental topics. Since I have been working on probabilistic machine learning frameworks, I am thinking to share more topics in statistics.
In this journey, I will need your help and support to improve this blog. If you spot an error, or if you have any suggestion please leave it in the comments section. As I am just about to start this blog, I will need your help to reach out to a greater audience. So, if you like a post, please don’t hesitate to share it with your network.