By Sanchit Gupta, Microsoft Student Partner.
The most common approach to address ‘Machine Learning’ these days is to think of it as just another arduous subject, one which young computer scientists choose in their last two years of college. A huge percentage of people are not able to realise that this ‘subject’ is actually one of the most important strategies that humans use throughout their lifetime. Let me start with a simple example. During childhood, every kid is curious about how the surroundings around him or her work – anyone with any experience of young children will know you have to be very careful about their activities! You can’t just let it go near a burning flame, near sharp knives or let it eat just anything off the floor. Even if we keep aside the mischievousness and the curiosity of the human mind, the main reason we have to be careful with a child is because they don’t know the outcomes of those actions. They are not aware of the harmful consequences because they are still new to the world and haven’t registered what’s right and what’s wrong. In other words, they are still ‘learning’. On the other hand, the adults have the appropriate knowledge and experience to judge such situations and they already know they have to be more careful. They have ‘learnt’ from their own actions, or maybe from their seniors, about what may or will happen if they engage in a certain activity.
Have you ever thought about why it is wise for us to go to our elders for advice? Why does everyone quote the phrase, “learn from your mistakes”? This is where we, as humans, have an advantage. We can learn about the consequences of our actions after two or maybe three similar instances. We register that and then think twice if we land up in a similar situation again.
Since the birth of Artificial Intelligence, the main focus of every expert in the field has been to reduce the gap between humans and computers, making the latter behave like the former in a more efficient manner. If you want the machines to work like humans, you have to first make them think like one. If the robot is always instructed about every single action, its existence becomes futile. Therefore, we make the machine ‘learn’ from past experiences. No, they won’t have an elder machine come and guide them through. It’s the responsibility of the developer to infuse a learning mechanism while building the program, machine or robot. This is commonly done by providing it with old data, thus informing it about the different parameters of a situation and then the final outcome. The type of situation can vary from the possibility of rain given different values of humidity, temperature and wind direction, to the value of a company’s stock price given its current financial situation and the market trend. The situation and the parameters can be varied according to the purpose of the developer, but the main idea remains the same. Do you see the similarity? The machine is just like a baby. It has no knowledge or sense to judge a situation before hand.
The tricky part about Machine Learning, which is challenging for most people, is choosing a strategy for the computer to deduce and derive certain observations from the old data. How can we do that? The answer lies in the fact that we make the computer create a small prediction model from scratch that ‘fits’ the data provided to it as closely as possible. When a new data point is fed into it, it can predict its outcome, class or category. The efficiency of the results highly depends on the learning strategy and the kind of data used to fit the model. Now we can go into our ‘nerd-mode’ and think about the mathematics behind it. The root of a prediction model is a simple Mathematics concept called Probability and more specifically Conditional Probability. We calculate a label for a data point based on the labels we have seen in the past for similar points.
There are many Machine Learning strategies available today: k-means clustering, regression, Naïve Bayes, to name a few. Their usage and working vary from each other, but every single algorithm aims to find patterns in a given pool of data and then use that knowledge for classification of new data. Simple, isn’t it? Machine Learning is one of the core subjects that every AI enthusiast should be familiar with. After all when you build your own robot, you will have to treat it like your baby!
Interested in finding out more about the future of technology? Build, one of the biggest Microsoft events of the year, is less than a week away – March 30th-April 1st. It’s sure to have something to interest every IT Pro, whatever your area of work or expertise. Even if you aren’t one of the lucky ones attending the event in person, you can still follow all of the announcements and developments at our Build Keynote Party! The party is being held at our brand new London office, 2 Kingdom Street in Paddington, and if you’d like to watch the keynote on a big screen, eating pizza and drinking beer with a bunch of like minded IT Pros and Developers, then sign up now to avoid disappointment.
More information on the Build viewing parties that are taking place up and down the country can be found on our viewing party post.
Data Science and Machine Learning essentials – Microsoft Virtual Academy
Getting started with Microsoft Azure Machine Learning – Microsoft Virtual Academy
By Sanchit Gupta, third year Artificial Intelligence and Software Engineering student at the University of Edinburgh. Sanchit is a Microsoft Student Partner and a member of our Student Partner Editorial team. Passionate about Machine Learning, Sanchit would love to have a one-to-one discussion with one of his creations someday!