What is machine learning?

This article is part of Demystifying AI, a series of posts that (try) to disambiguate the jargon and myths surrounding AI.

I was nine years old when I had my first taste of programming, and fell in love with the art (yes, I believe programming is as much art as it is science). I quickly became fascinated with how I could control the flow of my programs by setting logical rules and conditions, if…else statements, switches, loops and more.

In later years, I learned to remove clutter from my code by creating modules and abstracting pieces of code into functions and classes. I enhanced my software development skills with object oriented analysis and design (OOA/D). I learned code reuse and design patterns. I learned to express my program in UML charts and diagrams. And I learned to apply those principles in nearly a dozen programming languages.

But the rule of thumb of programming remained the same: Defining the rules and logic. The rest were just tricks that helped facilitate the implementation and maintenance of those rules. Continue reading