Source: Deep Learning on Medium
What is Artificial Intelligence & Machine Learning ?
Artificial intelligence is a booming subject in the current decade and there are lots of improvements and development going on. Objective of this post is to give you a birds eye introduction to the Artificial and Machine Learning.
History of Artificial Intelligence & Machine Learning
You may think that the AI and ML ( Artificial Intelligence & Machine Learning ) are very modern state of the art subject. But it is not. The history of machine learning goes back as far as the history of computer technology. In 1652 Blaise Pascal while a 19-year-old teenager created an arithmetic machine that could add subtract multiply and divide. In 1679 German mathematician Gottfried Wilhelm Leibniz created a system of binary code that laid the groundwork for modern computing. In 1950 Alen Turing proposed the notion of a learning machine. This machine could learn from the world like human beings do and eventually become artificially intelligent. He theorized about intelligence and describe what was to become known as the Turing test of machine intelligence.
In 1951 Marvin Minsky with the help of Dean Edmonds created the first artificial neural network. it was called Snarc(Stochastic neural analog reinforcement calculator). In 1952 Arthur Samuel begins working on some of the first machine learning programs at IBM’s Poughkeepsie laboratory. Samuel was a pioneer in the field of artificial intelligence and computer gaming. One of the first things they build was a machine that could play checkers and more importantly, this checkers playing program good learn and improve its game. In 1959, while working at IBM , Arthur Samuel coined the phrase Machine Learning. Machine learning was developed as part of the quest in the development of artificial intelligence. The goal of machine learning was to have machines learn from data but despite its early start machine learning was largely abandoned in the development of artificial intelligence.
What is Artificial Intelligence ?
When asking this question, it’s easy to think of robots wanting to take over the world and enslave all humanity. However, this obviously is not the case. When we talk about artificial intelligence, we address how we can accomplish more by working with smart software. Artificial intelligence is essentially technology that can learn, understand and respond to a large amount of data. It is technology that can see and interpret everything the way we do. If you take a traditional software or program, it is supposed to do whatever we instructed perfectly without any errors. But can it get adopted to a new data set? Can it alter its instruction by itself and evolving independently? The answer is no. So, this is where the Artificial intelligence coming into the play.
What is Machine Learning?
Machine learning is essentially teaching a program to learn using its own past experiences. It is a branch of artificial intelligence. We can see how machine learning works by considering a simple example such as the spam filtering process in your email. The user can specify certain criteria and the program will automatically mark incoming mail as spam if it fits the given criteria. However, something is lacking.
Instead of having the program memorize criteria to identify spam, we can have the program distinguish what constitutes as spam in the first place and have it identify spam more efficiently. The program can scan emails in the spam folder or emails that are already known to be spam and identify keywords and phrases. Thus, when new emails are received, it can scan the new emails for these keywords and phrases. Once identified, it will mark it as spam and send it to the spam folder. Of course, there may be mistakenly identified spam initially where the machine is wrong. However, the user can ‘teach’ the program by correcting these mistakes. As more spam emails are received, the program can ‘learn’ and identify spam more accurately in the future.
There are few formal definitions to machine learning or data science. One of my favorites is “Data science is the art of turning data into actions. This is accomplished through the creation of data products, which provides actionable information without exposing decision makers to the underlying data or analytics” [Booz Allen Hamilton]
Improving a machine’s performance and efficiency is also a form of learning. However, only some things are considered as machine learning. If we look at another example, let’s say we have some historical data about a football team and its players. We can use this data and data about its competitors to help us predict who will win. This can be considered as one form of machine learning. We can also apply this same concept to machines with artificial intelligence. They are often tasked with diagnosing, predicting and recognizing certain items. In this instance, these machines learn from data provided to them called training data. This training data can be sample data or historical data. The machine will learn to analyze patterns in the data and recognize these patterns for prediction.
There are two common mechanisms to teach machines; supervised learning and unsupervised learning. Skeptics often wonder why machines should learn. They think it’s better if machines only perform specific tasks without ‘learning’ anything. However, there are multiple benefits to having machines learn. For example, we can find out more about human learning through machine learning. Machine learning also helps improve the efficiency and accuracy of the machines themselves.
Developers sometimes cannot teach a machine how to handle every scenario that can happen. Instead, a machine can be trained using examples. It can be fed data as an input and be taught how to derive a required output from that data. Usually, when a developer creates a program, it is to achieve a specific task. Programs can be complex so developers may forget to include all details. Thus, it is useful when the machine can learn its processes by itself.
What do you need to learn become a good ML/AI professional?
This is one of the most debatable areas in the field of ML/AI. Can you define an everyday programmer a good ML/AI professional? Or do he have to have more skills. As I thought you should be in good at least in 4 domains to become a good ML/AI professional. Mainly , Mathematics , Computer Science , Communication and Business domain knowledge. I have found this nice Venn diagram done by Stephan Kolassa. This is an extension to the Drew Convey’s Venn Diagram about principles in AI/ML.
Now a days many people claim that they are good in AI and ML just by throwing data at some cloud hosted ( eg : Azure , AWS, Google ) AI/ML engines and getting some results. As I thought and as the above diagram depicts, you must have a good mathematical knowledge about whats going on under the hood. When we go into the industry, the problems that we are getting are unique and we need to build customized models to solve these problems. In-order to do that you must have very good understanding in mathematics concepts such as Liner algebra , Calculus and Principle component analysis ( PCA ). So If you are thinking of starting a career in AI/ML the best place to start with is brushing up your high school mathematics.
Advantages of Machine Learning
Machine learning has many uses such as in the banking, finance, retail and healthcare sectors. Facebook and Google use it to display adverts based on a user’s past behaviour. Machine learning has helped develop tools that provide continuous improvement in quality in small and larger process environments too. Programs like RapidMiner helps increase the usability of algorithms for numerous applications and complicated tasks.
Machine learning can support complicated programming tasks that may not respond well to conventional programming. This is because these tasks may not have the right amount of clarity that is needed when using a conventional program, or may have too much complexity within them. Also, conventional programming is quite rigid in the sense that once code is written and implemented, it will stay the same unless the code itself is changed. It cannot learn and adapt. In this aspect machine learning is the polar opposite.
Consider tasks that people and animals can perform such as image recognition and driving. Humans can do this just fine but if you use a conventional program to teach a computer to do this, it will run into trouble. It is much better for a computer to learn how to do this and machine learning can help. There are also instances where it can help with tasks that are too hard for humans to do such as going through complex analysis or when there is too much data for one person to go through well. Machine learning can help make decisions and predictions after analyzing this data. Examples of this kind of operations include analyzing genomic data, weather predictions and search engine functions. Humans cannot go through such vast amounts of data thoroughly or in a timely manner. Instead, we can use machine learning to help us.
Another aspect where using machine learning is useful is for speech and facial recognition.
Machine learning is easy to work with as it can learn more efficiently and accurately over time. For example, consider speech recognition. Initially, the program may have trouble recognizing the user’s words. Words may have to be repeated a few times to get the program to understand it. However, as the user keeps using and repeating words, it will begin to understand and recognize aspects of the language. The accent and the way the same words could be said differently by another user are aspects the program would learn over time and use.
Disadvantages of Machine Learning
As much as machine learning is useful for the progression of technology, it does have some drawbacks. One aspect is the difficulty of acquiring data for training. Compiling a large amount of data such that a program can ‘learn’ and behave or predict accurately is no easy task. Besides, data must be processed depending on the algorithm used by the program for machine learning. This can be cumbersome and time-consuming. Based on how the data is processed, it can have a significant impact on the results that need to be obtained as well. Furthermore, at present, technology that surpasses machine learning is being researched where it would improve machine learning itself. Thus, machines would need to be adapted to include this new technology with time.
Subjects Involved in Machine learning
Machine learning uses concepts from multiple different subjects. Each subject helps programmers develop new concepts that form the discipline of machine learning. For example, it is used in statistics when testing a hypothesis defined prior to gathering data. Brain modeling can be said to be related to machine learning because machine learning programs behave similarly to neural networks. Machine learning can be used to model a brain and observe how it behaves. Evolutionary models use machine learning where they can be studied to figure out the ‘genetic algorithm’ of a particular species. Another subject that is related to machine learning is adaptive control theory. It is associated with the control of systems. Machine learning methods help systems to adapt to changes and continue to perform optimally.
What Can Machine Learning Help With?
Machine learning is a great tool that many companies and developers explore where a world of options are available. Some of the challenges that machine learning can help with include the following:
Search engines :As more search requests are done, search engines learn preferences and then present the user with the most relevant choices for their search request.
Collaborative filtering : Retailers can use machine learning to help them increase sales. For example, when a user submits a search request on Amazon, the user will get recommendations for other products based on his previous search request. This is similar to how Amazon uses machine learning to figure out what a user is interested in.
Automatic translation : Almost all translation software uses machine learning. The program has to recognize variable factors such as grammar and syntax in the document being translated. The program will learn how to identify these aspects as more documents are translated and learn from what it has been translated before. At present, this technology is in its infant stages but with machine learning, it can be a useful tool in the future.
Name identity recognition : Here, a program will be able to identify different entities like names, titles, places and actions out of a document that it reads.
Sports and Stick market predictions
Weather Prediction and many more……..
We can see how machine learning helps figure out technically complex issues that cannot be done accurately with conventional programming. Artificial intelligence can be incorporated into our world in a multitude of ways. Ways in which can help us and even make us more productive. Next, we’ll be delving deeper into the inner workings of machine learning so stay tuned!