Some Hints on the Teaching of Machine Learning to Industrial Practitioners

Many machine learning algorithms are now leaving academic laboratories to be embedded in industrial applications. This implies that machine leaning students should have a more pragmatic knowledge about machine learning technology. In this article, I present three practical points about machine learning that should be more emphasized in courses: the maturity of machine learning techniques, the way to transform a machine learning algorithm into a successful application and some specificities of conducting a machine learning-based software project. Machine learning (ML) techniques are more and more used in the industry in a large variety of application domains: information technology (search engines, speech or document recognizers), medicine (image processing, computer-aided diagnostic systems, bioinformatics) or finance (stock market prediction, actuarial science). This implies that machine learning algorithms are being transfered from academic laboratories to private companies. But this transfer from laboratories to applications is not straightforward: it can be slow, it can be more or less advanced depending on the application, some technologies have great chance to be transfered within two years whereas for some other technologies the scope is at least ten years. The state of maturity of machine learning technologies and applications is a knowledge that should be shared by the community and should be taught to students. Even though, to my knowledge, no publication such as a “state of machine learning technology“ exists, the maturity of a technology can be evaluated by the experimental settings in which the technology is tested. In section 1, I describe a four level scale of maturity based the kind of data and problems on which the technology is successfully tested. I also describe a development curve designed in 2005 by an advisory firm to report the level of maturity of any technology and give a summary of the level of maturity of some machine learning technology estimated by this firm over the last four years, One may think that the good time to transfer a machine learning technology from laboratories to the industry is when the error rate reaches zero or so on the task. But if it was the case, machine learning algorithms would still be in laboratories. The key to a successful machine learning based application is not a zero error rate (though it could help) but is to find a working point. A working point is a setting for which using the machine learning algorithm improves the whole process either in term of productivity or in term of cost. In section 2, I give an example of such a working point for a customer mail processing system. I show that the key to a successful application is not directly the error rate but the confidence measure associated to the prediction. To my mind, this point should be more emphasized both in publications and in machine learning lectures. Once a software product has been designed using a machine learning algorithm, this product usually has to be delivered to customers through software projects. Projects for softwares based on ML algorithms have some specificities compared to both research projects in laboratories and traditional software projects. First, both the data and the problem on which the ML software will be trained and used can be new to a certain extend and should be considered with a very critical eye. In section 3, I sketch the list of critical points which should be considered. Second, machine learning practitioners have to interact with customers, software engineers, project managers, all kind of people who are not familiar with fundamental machine learning concepts and hypothesis. This means that hypothesis which are usually implicit in the machine learning community must be made explicit in communication outside the community. In the last section, I list some of the concepts and hypothesis that must be explained Some Hints on the Teaching of Machine Learning to Industrial Practitioners in software projects in which a ML algorithm is embedded. 1. Evaluating the maturity of Machine