Skip to content
Oscar Serra edited this page Feb 23, 2015 · 1 revision

What is Machine Learning?

Technological advancements allow us now to create more and more Intelligent machines. The term Artificial Intelligence is not used as much because our perception of whether an algorithm is intelligent or not changes every year, and we want the name of these group of techniques/algorithms to always refer to the same thing. For example, winning a chess game against one of the world's masters was considered intelligent, until a number of computational techniques were developed and IBM's Watson was capable of winning Kasparov in 1997, thus beating human performance in this very specific field. In 2008, an upgraded version of Watson was able to win the Jeopardy TV game. More recently, Deep Learning techniques have been reported [need] to outperform humans in Object Recognition tasks (or at least the 100-150 first ms). Once we understand these techniques, we don't consider them intelligent anymore, because we know a human is capable of much more, which is the referent of intelligence.

Machine Learning (ML) is the technological branch that creates computer software programs that learn from examples. The traditional programming language paradigms force programmers to anticipate all possible situations the algorithm is going to face. The more advanced procedural languages start integrating some smarter routine/procedue schedulers, allowing programs to adapt to new situations. Machine Learning techniques additionally allow for an algorithm to improve performance with experience, like a kid going to school would. Data scientists' main concern will be if their Machine Learning Algorithm generalizes properly, which means the algorithm being able to perform well in unseen situations/examples.

Typically, Data Scientists will iterate through the following steps:

  1. Design
  2. Training (Learning)
  3. Testing (need to re-design?)
  4. Deployment (put in production)
This holds true for Data Mining in general. However, this is not always the case. Data Scientists working in Robotics might embody (deploy) the Machine Learning Algorithm and let it learn continuously (step 1), then putting it into a robot (step 4), and then letting it learn and perform at the same time (steps 2 and 3). This way of operating adds an extra problem to the Machine Learning algorithm at play, catastrophic forgetting, which is the tendency of some algorithms to strongly remember the recent experience while progressively forgetting the past ones.

Computational Machine Learning labs are a bit analogous to microbiology labs in the sense that algorithms (or microorganisms) cannot be tested right away, they need to grow in performance. The serum that microbiologists feed to their specimens to grow, is analogous to the data that computer scientists feed to their Machine Learning Algorithms to learn. In both cases, time and patience is needed to wait for the results.

You might have seen how Google or Honda publish their algorithms in scientific publications, and wondered if they were giving away Intellectual Property. They are, but their competitive advantage lies with their datasets, not so much in the algorithm, and it allows them not only to identify and hire the best researchers in the world but also profit from research done on top of their work. The same way as going to a good school is important for the future success of a kid, having a better dataset makes a big difference. In other words, the same algorithm will perform much better with a bigger and more complete dataset. The value of a dataset is measured in completeness, so in general terms, the bigger the dataset the better the algorithm will generalize. This is why Microsoft, for example, has been recording some kid's life by installing cameras on their glasses [need]. Knowledge is power.

Clone this wiki locally