Monday 11 November 2013

What is Machine Learning





















Look at the above image. Left is human brain and right is machine. We all know about human learning but have you wondered ever or had thought in mind that a machine is learning or what is machine learning? While going through an article about Artificial Intelligence i came to know about Machine Learning and i thought i should share my knowledge with you. So here i have written a short explanatory note on what it is.

Machine learning is a branch of artificial intelligence, concerns the construction and study of systems that can learn from data. For example, a machine learning system could be trained on email messages to learn to distinguish between spam and non-spam messages. After learning, it can then be used to classify new email messages into spam and non-spam folders.
                                                                                   --Definition on Wikipedia

I am sure many of you didn't got the above definition. Let’s take real life example to get more understanding on itMachine learning is so pervasive today that you probably use it dozens of times a day without knowing it. 

Suppose you go shopping for mangoes one day. You handpick the mangoes, the vendor will weigh them and you pay according to fixed Rs per Kg rate. Obviously, you want to pick the sweetest, most ripe mangoes for yourself since you are paying by weight and not by quality.

So How do you choose the mangoes?
You remember your grandmother saying that bright yellow mangoes are sweeter than pale yellow ones. So you make a simple rule: pick only from the bright yellow mangoes. You check the colour of the mangoes, pick the bright yellow ones, pay up, and return home. Happy ending?

Not yet.


Life is complicated
Suppose you go home and taste the mangoes. Some of them are not sweet as you'd like. You are worried and think that your grandmother's wisdom about mango is insufficient. There is more to mangoes than just colour.

After a lot of pondering (and tasting different types of mangoes), you conclude that the bigger, bright yellow mangoes are guaranteed to be sweet, while the smaller, bright yellow mangoes are sweet only half the time. (i.e. if you buy 100 bright yellow mangoes, out of which 50 are big in size and 50 are small, then the 50 big mangoes will all be sweet, while out of the 50 small ones, on average only 25 mangoes will turn out to be sweet).

You are happy with your findings and you keep them in mind the next time you go mango shopping. But next time at the market, you see that your favourite vendor has gone out of town. You decide to buy from a different vendor who supplies mangoes grown from a different part of the country. Now, you realize that the rule which you had learnt (that big, bright yellow mangoes are the sweetest) is no longer applicable. You have to learn from scratch. You taste a mango of each kind from this vendor, and realize that the small, pale yellow ones are in fact the sweetest of all.


Now, a distant cousin visits you from another city. You decide to treat her with mangoes. But she mentions that she doesn't care about the sweetness of a mango, she only wants the juiciest ones. Once again, you run your experiments tasting all kinds of mangoes, and realizing that the softer ones are more juicy.

Now, you move to a different part of the world. Here, mangoes taste surprisingly different from your home country. You realize that the green mangoes are in fact tastier than the yellow ones.

You marry someone who hates mangoes. She loves apples instead. You go apple shopping. Now, all your accumulated knowledge about mangoes is worthless. You have to learn everything about the correlation between the physical characteristics and the taste of apples, by the same method of experimentation you do it, because you love her.


Enter computer programs
Now, imagine that all this while, you were writing a computer program to help you choose your mangoes (or apples). You would write rules of the following kind:

if (colour is bright yellow and size is big and sold by favourite vendor): mango is sweet.
if (soft): mango is juicy.
etc.

You would use these rules to choose the mangoes. You could even send your younger brother with this list of rules to buy the mangoes, and you would be assured that he will pick only the mangoes of your choice.

But every time you make a new observation from your experiments, you have to manually modify the list of rules. You have to understand the intricate details of all the factors affecting the quality of mangoes. If the problem gets complicated enough, it can get really difficult to make accurate rules by hand that cover all possible types of mangoes. Your research could earn you a PhD in Mango Science (if there is one).

But not everyone has that kind of time. 
J

Enter Machine Learning algorithms
ML algorithms are an evolution over normal algorithms. They make your programs "smarter", by allowing them to automatically learn from the data you provide.

You take a randomly selected specimen of mangoes from the market (training data), make a table of all the physical characteristics of each mango, like colour, size, shape, grown in which part of the country, sold by which vendor, etc (features), along with the sweetness, juiciness, ripeness of that mango (output variables). You feed this data to the machine learning algorithm (classification/regression), and it learns a model of the correlation between an average mango's physical characteristics, and its quality.

Next time you go to the market, you measure the characteristics of the mangoes on sale and feed it to the ML algorithm. It will use the model computed earlier to predict which mangoes are sweet, ripe and/or juicy. The algorithm may internally use rules similar to the rules you manually wrote earlier but you don't need to worry about that to a large extent.

Now you can now shop for mangoes with great confidence, without worrying about the details of how to choose the best mangoes. And what's more, you can make your algorithm improve over time so that it will improve its accuracy as it reads more training data, and modifies itself when it makes a wrong prediction. But the best part is, you can use the same algorithm to train different models, one each for predicting the quality of apples, oranges, bananas, grapes, cherries and watermelons, and keep all your loved ones happy. 
J

And that is Machine Learning for you.

There are many examples of machine learning problems which you might use in you day to day activity but not aware of it. Here are some these examples.
  • Optical character recognition: categorize images of handwritten characters by the letters represented
  • Face detection: find faces in images (or indicate if a face is present)
  • Spam Filtering: identify email messages as spam or non-spam
  • Topic spotting: categorize news articles (say) as to whether they are about politics, sports, entertainment, etc.
  • Spoken language understanding: within the context of a limited domain, determine the meaning of something uttered by a speaker to the extent that it can be classified into one of a fixed set of categories.
  • Medical diagnosis: diagnose a patient as a sufferer or non-sufferer of some disease.
  • Customer segmentation: predict, for instance, which customers will respond to a particular promotion
  • Fraud detection: identify credit card transactions (for instance) which may be fraudulent in nature
  • Weather prediction: predict, for instance, whether or not it will rain tomorrow (In this last case, we most likely would actually be more interested in estimating the probability of rain tomorrow.)
  • Effective web search: Each time you do web search on google or bing that work so well because their machine learning software has figured out how to rank the pages.
At last i will say Machine learning studies computer algorithms for learning to do stuff. The learning that is being done is always based on some sort of observations or data such as examples, direct experience, or instruction. So in general, machine learning is about learning to do better in the future based on what was experienced in the past.

If you like this blog please left your comment on it !!

About Author:
Manish Chandak is social media enthusiast and works as business analysts with Systems Plus. He in free time reads and write on various technologies and process around social media, analysis and testing. He can be contacted at: manish.c@spluspl.com

3 comments:

  1. Good One Manish Keep it up!!!

    ReplyDelete
  2. I was very pleased to find this site. business analyst trainingI definitely enjoyed reading every little bit of it and I have it bookmarked to check out new stuff posted regularly.

    ReplyDelete
  3. Really very good blog, and I realize that I was one of those "Mangoes". - Santosh

    ReplyDelete