Introduction To Machine Learning

We’ll try to answer all the basic questions related to machine learning in this and the following articles; know what it is and what could be achieved with it.

Machine Learning: An Introduction

Why machine learning? Why do you want to understand it? How does it matter to your life? If not a master of it, why do you at least need to understand the basics of it? The answer to all these questions is very simple. It’s because machine learning on a day to day basis is becoming bigger, and it is knowingly or unknowingly part of our life; so it is important to know what it is.

Series

We’ll try to cover the topic and machine learning concepts including terminology in a form of series. This being the first article of the series will focus on high level machine learning concept that could be followed by understanding it in detail with how it works. Following are the articles that will follow:

Introduction to machine learning.

Machine learning processes and scenarios.

Machine learning: Deep dive.

What Is It?

So, what is machine learning? To be true, there is no such definition that everyone knows; but it is a concept, and there are more core concepts related to this. The one important area where we could apply machine learning is to find patterns in data. Then those patterns are used to predict the future and make decisions. E.g. on a Learning Management System (LMS) one can identify that on what chapter, content, and image a learner or reader spent more time reading, as well as what interests more an individual as a reader; what quizzes and courses interest them. One can apply machine learning concepts to identify each and every action and the time spent by the reader on the learning content and, accordingly, the content creator will know which area of the content are people more interested in, and what more has to be improved or should be focused on.

Another such example could be to detect an internet banking fraud. If there is a continuous fraud happening with the funds transfer via internet banking and we have the complete data, we could find out the pattern involved through which we can identify where are the loop holes or hack prone areas of the application. So it’s all about patterns and predicting the results and future on the basis of those patterns. As a conclusion to the definition we can say that machine learning plays an important role in data mining, image processing, and language processing. It cannot always provide a correct analysis or cannot always provide an accurate result based on the analysis, but it gives a predictive model based on historical data to make decisions. The more data, the more the result-oriented predictions that can be made.

Patterns

Let’s take a simple example of reading and learning. We learn by reading, but how do we read? We read by identifying patterns; we identify the letters, the patterns of the alphabets to form words. Then we get adapted to that pattern by seeing it again and again, therefore we learn to read and eventually read to learn. Now, coming onto the net banking fraud that I mentioned, suppose we have data for the transactions happened through net banking, we can create a predictive analysis model and try to know the future. Let’s suppose we have 5 records for transactions:

As shown in the above image, we have the data of customer name, amount, and the fraudulent transactions.

When we see the data and try to identify the pattern, we cannot really get anything out except from the conclusion that all those customers whose name starts with “J” have fraudulent transactions. But this is not something on which we can rely upon, as this is kind of a vague prediction. So the limitation here for us to identify the correct pattern is data or, one can say, limited/less data. We cannot conclude why the two transactions are likely to be fraudulent.

Now, suppose we have more data as shown below:

So, we have almost 16 transaction records with us now, with more details like the location of the transaction and the age of the customer as well. If we closely look into the data and try to find a pattern, we see that all the fraudulent transactions have been made in China, the age group of the customers who fall in fraudulent transactions is between 20 to 25, and the amount for which fraud has been detected is always more than $20000. So we can say that we found a pattern here; but, again, can we rely on this analysis and make a prediction? Do we have enough data for the analysis? Maybe not. We need more and more transaction data to actually predict the behavior based on patterns. But when it comes to millions of transaction records, it would be then cumbersome for us to find the right pattern with the naked eye or manually. There we need software to do all the analysis, and so machine learning comes into the picture.

Machine Learning: High Level View

At a high level, machine earning could be understood in a way as shown in the following diagram:

We initially start with lots of data, the data that contains patterns. That data gets inside machine learning logic and algorithm to find the pattern or patterns. A predictive model is the outcome of the machine learning algorithm process. A model is typically the business logic that identifies the probable patterns with new data. Application is used to supply data to model to know if the model identifies the known pattern with the new data. In the case that we took, new data could be data of more transactions. Probable patterns mean that a model should come up with predictive patterns to check if the transactions are really fraudulent.

The Buzz

We see machine learning picking up the pace and is very popular nowadays. The question is why; but there are a lot of reasons to answer this question.

Firstly, if we see a machine learning process we figure out that to correctly do with machine learning; we need to feed it with lots of data. The data could be structured or un-structured, and the good thing is that we have that data. In this era of Big Data, we not only have a lot of data but we also have the computation power to process that data. Not only this; we talk about cloud computing which requires operative and implied machine learning algorithms, which we also have. All these things were not available earlier as they are now to us.

Another question is who does machine learning interest? Who are the people who actually care about it? The people in a nutshell could be divided into 3 major groups:

Business owners.
They always need solutions to solve their business needs and business problems. E.g. to check the fraudulent transactions, to check how likely their customers are to switch to other providers. Machine learning thus adds value to the business by providing better solutions and accurate predictions. The better and the bigger an organization is, the better and faster business they own, and therefore the need of those business solutions always persists. The best thing is that the business owners are also ready to pay for the business solutions. So we see machine learning is already beyond limitations.

Software developers.
They care about machine learning so that they can build good applications to solve business problems. The applications as we saw in the machine learning model are dependent upon predictive models created out of machine learning algorithms to make better predictions. So software developers do not actually need to worry about the models, or they do not have to really be experts on models; using machine learning they can build smart applications which just use those models.

Data scientists who actually need effective and handy tools.
Data scientists are the people who really care and have a deep knowledge of statistics and machine learning tools/softwares, who know well how to code, and who really are domain experts. Data scientists are very limited and expensive because, again, they help businesses to grow by solving business problems; and growing businesses means saving and earning more money. So data scientists themselves are a value to any business, as they are a complete package of knowledge, statistics, problem domain, and machine learning.

Also, another group that we did not talked about is vendors who make machine learning offerings and services. Since machine learning is referred to many times as predictive analysis, there are vendors who offer analytics, there is SAAS, RapidMiner, and others too that are the part of this space.

Machine learning is more of an added value to conventional analytics of data mining in most ways. That’s the reason why companies like SAP, Oracle, Microsoft, and IBM offer such machine learning products; because they know that big money is involved in this space, and they know that this is a part of a growing market. On the other hand, when we see the companies like Amazon ani Microsoft providing cloud offerings, we see the machine learning offering already living there.

R Programming

“R” is a programming language and environment; the beauty is that it is an open source programming language. Following is the definition from r-project:

R is a language and environment for statistical computing and graphics. It is a GNU project which is similar to the S language and environment which was developed at Bell Laboratories (formerly AT&T, now Lucent Technologies) by John Chambers and colleagues. R can be considered as a different implementation of S. There are some important differences, but much code written for S runs unaltered under R.

R provides a wide variety of statistical (linear and nonlinear modelling, classical statistical tests, time-series analysis, classification, clustering, …) and graphical techniques, and is highly extensible. The S language is often the vehicle of choice for research in statistical methodology, and R provides an Open Source route to participation in that activity.

The definition is self-explanatory about this language; R supports machine learning, statistics computation, and a lot more. It contains packages to solve various sorts of machine learning problems, and it is supported by a lot of commercial machine learning offerings. R is not alone; Python is equally popular in this area, and also contains packages more or less similar to R to solve business problems.

Conclusion

To handle an intelligent conversation and to have a high level knowledge of machine learning, we acquired theoretically a good knowledge. We can say that using machine learning we can find patterns, and then create a model that recognizes those patterns with new iterative data. Last but not the least, machine learning can really help any organization to grow.