Machine Learning Driven Programming
INNOVATING OURSELVES OUT OF POVERTY
If you’re one to keep up with tech news, you’d know that machine learning has been a thing for a while. It has been on the technology scene for a number of years now and continues to gain popularity as technology improves. If you’re Zambian, you know that Zambia tends to be a couple centuries back when it comes to modern technology so maybe thats the reason you put off having an interest in the concept. But that kind of thinking will only hold us back so maybe it’s time we got interested in some of the more modern technologies available. Therefore, today we will look at machine learning driven programming and how we can potentially use it to innovate ourselves out of poverty.
What Is It?
Machine learning is an application of artificial intelligence that focuses on developing programs that can access data and use it to predict outcomes for themselves instead of being explicitly programmed.
How Is It Different From Traditional Programming?
When we write a traditional program, we include the decision making directly in the program using conditional statements like ‘if/else’ statements. In machine learning, we allow the program to make the decisions on its own.
For example, imagine you want to create a program that is able to check if an email address is valid based on its format. Your program might look something like this:
1. Starts with any number of non special characters 2. Followed by @ symbol 3. Any number of non special characters 4. Followed by a single dot 5. End with either com or org 6. If above tests fail, then it is not a valid email
Emails such as the ones below would all be rejected by your program (and rightly so):
email.com @gmail.com firstname.lastname@example.org
Machine learning is different because it does not hard code any decisions into the program. Instead, you will feed ALL of your data into the program (including the above 3 ‘bad’ emails) and allow the machine to learn for itself what a valid email address looks like.
The machine will look at the 3 ‘bad’ emails and recognize on its own that what makes it a bad email is that it is missing an @ symbol or it is not ending in .com. So it is able to learn from experience and is able to notice even conditions that might have been missed in your original traditional program.
Why It Matters?
Machine learning is important for a number of reasons, I’ll name four:
1. It’s fast. It is able to sift through data iteratively and within short periods of time. It allows for billions of operations to be carried out per second and has the ability to identify patterns in a pile of data much faster than humans do. It’s ability to save both time and money makes it practical and useful for real organizations and business goals.
2. Data availability. Although machine learning has been around for a number of years, it has not been as relevant as it is now because there wasn’t a huge amount of digital data available. As I mentioned before, machine learning is reliant on data being fed into it. The more data there is, the better the predictions are. Thanks to the internet of things and the advanced technological age we are currently in, a huge amount of digital data is being generated. This data helps in making more intelligent decisions and makes it relevant now more than it ever used to be.
3. It handles unprogrammable tasks. One of the common examples of the use of machine learning is in self driving cars. Imagine having to write a program to accomplish this the traditional way. You’d have to have a different condition for a number of situations. For example, someone crossing the road, a car stopping in front of you, a thousand different road signs, a random pothole, a four way stop etc. There is an unlimited variety of situations and all require split second decisions making it impossible to code this the traditional way. Machine learning is able to figure out all these conditions for itself and do so very quickly.
It allows for real-time updates resulting in more accurate and secure results.
4. It is dynamic. Traditional programming is limited because uses static samples of data which do not allow for real-time updates or new conditions quite as easily. For example, a program that is able to identify spam email addresses will work fine until hackers find another format to use for spam emails that does not fit into the static list of conditions that were defined. This leads to inaccurate conclusions causing results that are less secure and less reliable.
Can We Use It To Innovate Ourselves Out Of Poverty?
As Zambians, we often get comfortable when it comes to innovation and we wait for the ‘white man’ to bring technology to us before we get interested in it.
Although Silicon Valley has shown us that it knows how to use machine learning concepts to make perfect wearable devices, smart home gadgets, driverless cars and a plethora of other technologies that solve first-world problems, it doesn’t do as well at solving the actual problems of the third world.
If people face inhibited resources, they might be driven to solve problems that fundamentally change their daily lives
It is yet to effectively tackle world hunger, economic stagnation, insufficient sanitation, homelessness, disease and limited access to education. And who can blame them? It’s up to us as Zambians to innovate ourselves out of poverty. The link between poverty and innovation goes like this: if people face inhibited resources, they might be driven to be constantly creative and solve problems in ways that fundamentally change their daily lives.
Machine learning is a useful and practical tool we could use to innovate ourselves out of poverty.
Lets look at the disease for example. This is one of the most common problems faced in Zambia and other third world countries. Systems currently exist to identify cancer, heart disease and other common illnesses based only on an image. A system designed by IBM correctly picked the cancerous lesions in images with 95% accuracy where a doctor’s accuracy is usually between 75% – 84% using manual methods.
An app called Face2Gene identifies rare diseases by suggesting a list of potential diagnoses based on an image of the patients face. All these use machine learning to predict their outcomes. Zambia has its own stream of rare diseases that have not made their way across the continent and so would not be captured by these existing systems.
Furthermore, the country has numerous inaccessible townships and villages that do not have easy access to reliable healthcare nor the means to afford specialist doctors making machine learning an ideal solution. Disease is the leading cause of the death in Zambia so it is clearly a problem. Most of the time, it happens because it was not detected early. If diseases were detected early, they can be treated early and the problem of outbreak would be better managed.
What about the other problems I listed earlier – homelessness, insufficient sanitation, hunger? Couldn’t the power of prediction that comes with machine learning be helpful to alienate these pressing problems? Machine learning can be used to detect early signs of food shortages such as crop failure, droughts and rising food prices. This information can then be used as an early warning to help tackle impending crises.
Do you think we can use machine learning to innovate ourselves out of poverty? How can we spread the ML buzz in Zambia? Leave your comments below!