When the world was going through the Big Data hoo-ha and how it was supposed to be the next big thing, machine learning was gaining research traction. The argument was: If data can be mined to help humans understand the world around them (aka Big Data), then it can also be mined to make applications smarter, allowing them to adapt (i.e. Facebook’s smart news feeds). So then, what exactly is this machine learning and why is it getting so much attention in the tech world? More importantly, why should techies in Zambia even think about it?
We live in a connected world where we are becoming more dependent on the tools around us for productivity, personalization, and communication. But, we’re at a point where even the most well written algorithms aren’t able to achieve that degree of adaptable functionality we’re becoming accustomed to. And the industry is recognizing this. The move by Microsoft to have an organic operating system, Facebook’s extensive social research, Google’s arsenal of data mining tools, are all examples of how businesses are trying to evolve their solutions in real-time.
So then, what if, we could develop applications that do more than just react to queries, applications that take some kind of ‘initiative’? For example, imagine searching for a 3 bedroom house on Sangwapo, that is close to a good primary school and a good clinic, has an affordable supermarket close by, was built after the year 2000, is a short commute to work, is in a low crime neighbourhood, has good yard space for expansion, etc. A traditional search algorithm will require explicit triggers for each search criterial and will need each searchable piece of data to be indexed. And that’s okay when searches are as simple as “3 bedroom house, Chilanga”, but as the search criterial changes and becomes more complex, some kind of intelligence is required that will adapt to the changing search plane.
Using the stockpiles of data many businesses collect about their users, Machine learning, makes it possible to use that data to improve how applications react to their users. The Facebook newsfeed is a good example, when you like TechTrends Zambia, any news update from TTZM will suddenly move to the top of your newsfeed, and as long as you keep “liking” their posts, they’ll remain there, along with other suggestions of similar posts and pages. But as you attention shifts to say a “stop poaching in Zambia” cause, the feed will adapt to your new preferences and will trying and empathize with you, but surrounding you with news and posts that feed into your new interest. Google does this with search as well. If you typed “things to do on the weekend in Solwezi” and I ran the same search, our search results will be very different.
Machine learning comes in many flavours, but that used behind the scenes in a Google search or a Facebook newsfeed takes on two forms: supervised and unsupervised. Supervised Machine Learning involves forming patterns from data based on what has been learnt in the past, while Unsupervised Machine Learning can make connections based on current datasets.
If you’re an Application developer, APIs to integrate Machine Learning into your applications are now available on most major platforms. Amazon Machine Learning, Google Cloud Machine Learning, BigML, IBM Watson Analytics, Microsoft Machine Learning Studio, etc. Most ML providers provide a free version that you can use to evaluate their solution and see if it fits your needs.
You don’t need to understand the complexities of ML, and each of the above platforms has acknowledged that by ensuring their platforms take the science out of the integration process and focus on the functionality you can add to your applications. An introductory course to Machine Learning is also currently available on Udacity. It would be nice to see some of you boffins make sense out of the piles of raw data around Zambia waiting to be turned into meaningful and connected information. #ICTZM