There was a time when computing technology was beyond the reach of the common man and maintenance of a computer meant changing vacuum tubes. During the initial stages of the era of modern computing technology, data and programs were stored on punch cards and if you accidentally dropped a couple of cards everything would go topsy-turvy. Programming was a specialised activity that could only be done by highly qualified engineers. But technological advancements have relegated all the complexities into the background and anyone with a logical bent of mind can now pick up programming.
The technological advancements made in the computing industry hide the complexities and provide us with a simple interface. A lay user now does not need to worry about how a computer works under the hood. She can simply focus on the job she wants to do. This is how IT penetrated into all aspects of our life. If we closely watch the developments in the machine learning front, we can see a similar pattern in this area.
Machine learning in a nutshell
In traditional programming, if you wish to create an application, say, to evaluate the creditworthiness of a bank customer, you need to write a program specifying the conditions that make a customer creditworthy. These conditions or risk factors could be articulated like this: does the customer have a permanent source of income; how long will he be in the workforce, the stability of his account balance and so on. This kind of solution has several shortcomings.
Depending on the context, the rules can change and when the rules change, we need to rebuild the application. Moreover, when we frame rules to predict the creditworthiness of a person, human bias could also creep in. This is where machine learning comes into play. The distinct advantage of machine learning is that it lets computers learn the solution by finding patterns in data. Here, we simply feed the data (like the customers’ age, income and so on) and the system will automatically create a model using these features.
As observed earlier, machine learning technology lets you build models and classifiers that can learn to do specific things by analysing data pertinent to the task at hand. For instance, we can create an ML system that can identify numbers in images by training the system with several images of numbers. Likewise, by feeding the classifier with emails labelled spam and non-spam, we can create spam filters.
The success of a machine learning application depends on the availability of relevant data – the more data we ingest, the smarter the application gets. Another factor that accelerates the growth of machine learning applications is the widespread availability of electronic sensors that can produce a huge variety of data.
A sensor is basically a device that can measure a physical property and respond to it (for example, it can measure water flow, temperature, pressure, soil moisture and the like). These devices or things fitted with sensors can communicate with each other and stream their data to the Cloud by linking them to the Internet. This ecosystem of internet connected devices is called the Internet of Things or IoT. Due to technological advances, we can now deploy low-cost sensors everywhere to measure everything. The IoT technology lets us harness the data from these sensors and make them available for further analysis. The great strides made in machine learning technology coupled with the pile of data that emanates from IoT devices open up immense possibilities.
Machine learning with wearable devices
Some studies suggest our walking style is a good barometer of health and other habits. Your walking styles can even provide clues about several diseases. So, if we can capture our walking style via some type of sensors and feed this data to a machine learning classifier, perhaps we can create a model that can detect certain types of diseases. Don’t think that this is wishful thinking. Many such experiments are already in place. An interesting story about the application of machine learning in dairy farming, appeared in a blog from Google, ‘The Keyword’, attesting this observation.
The basic idea of the farming application mentioned is this: The productivity (in terms of milk production) of a cow is mainly determined by its health. The promoters of the dairy farm observed that when a cow becomes unhealthy it gets reflected in its movements. This means that by analysing the movements of a cow, we can predict the disease that the cow is prone to get.
To put this idea into practice, they collected the cow’s movements with the help of a sensor that sits on the cow’s neck. This data was fed to TensorFlow, a free open source machine learning tool from Google which created an electronic farming assistant to automatically figure out what the cow was doing. The tool helps them distinguish between multiple behaviours of the cow: eating, drinking, standing, playing, etc. In addition, if the assistant sees a certain pattern in the cow’s behaviour it can spot the disease symptoms and warn the farmer too.
The burgeoning machine learning ecosystem
Machine learning is one of the fast-growing fields of the digital age. Many businesses are trying to enhance the functionality of their applications by adopting this technology. The cashier-free store ‘Amazon Go‘ is the latest example of the application of machine learning to our daily life. The GO store lets anyone with an Amazon account go inside and pick up any product she wishes to buy. When the customer picks up the product, machine learning application (with input from the store’s cameras) determines its identity and automatically enters it in the buying cart. When the customer leaves the store, the account is charged to her Amazon account.
One of the reasons for the spectacular growth in machine learning-based applications is the opening up of this technology to developers by major players (like Google, Microsoft, IBM etc.). The open-source machine learning tool TensorFlow is an instance of such a trend.
Machine learning innovators (like Google) opened their pre-trained machine learning models to the public and enabled businesses to add machine learning functionality to their products. However, this facility does not let businesses create their own machine learning models using their data. Even this constraint is going to disappear soon if we can rely on the latest machine learning offering from Google. The new service from Google called Cloud AutoML lets small businesses upload their data and create a machine learning application customised to their requirements. According to Google, the service can be used even by developers who do not have much machine learning expertise. This could turn out to be the next big step in taking the field of machine learning from the lab into the real world.