Artificial Intelligence and Machine Learning
What is artificial intelligence?
"A branch of computer science dealing with the simulation of intelligent behavior in computers; the capability of a machine to imitate intelligent human behavior" - Merriam Webster
Artificial intelligence is essentially the capability of a machine not necessarily a computer to be able to imitate tasks that humans can perform. These tasks include recognizing objects, interpreting voice commands, playing games, driving cars, etc. Artificial intelligence is being used by companies for various applications and purposes around the world. The most common I would say, would be Tesla's Autopilot system which uses machine learning algorithms to take large data inputs gathered from information on the road, analyzing it and using it to make increasingly accurate predictions and decisions. Companies such as Google, Facebook and Amazon are using artificial intelligence to improve the quality of the products which they offer to the public.
Artificial intelligence is being applied in the medical field to improve diagnoses and treatments. Xplain which was developed at the University of Massachusetts uses a given a set of symptoms and uses artificial intelligence to come up with a list of possible diagnoses which might be related to the selected symptoms. Other companies are using artificial intelligence to create robotic surgical systems which would allow the doctor to operate on the patient using the precise movements of the robotic arm.
The ability of the machine to perform the task is powered by a program or multiple programs which utilize machine learning, neural networks, or deep learning. Each of these subfields allows the developer to create different types of programs to complete certain tasks. These three subfields are designed to serve different purposes but they all link back to creating a more advanced experience for the user by having a machine think like a human.
Machine Learning
Machine learning is the field of study that gives computers the ability to learn without being explicitly programmed - Arthur Samuel
This gives the computer the ability to perform tasks without having to be guided by a human every step of the way. This makes the machine more independent and also saves the user time and resources as they do not constantly have to provide the machine with directions.
Machine learning consists of supervised learning, unsupervised learning and reinforcement learning.
Supervised Learning
Supervised learning is a machine learning task that uses labeled training data to create a function that presents a desired output with the input. Supervised learning requires that the algorithm’s possible outputs are already known and that the data used to train the algorithm is already labeled with "correct" answers. A supervised learning algorithm analyzes the training data and produces an inferred function, which can be used for mapping new examples. The algorithm produces a value which is called cost. This value determines how far off the output of the function is compared to the "correct" answer. The accuracy of the output increases as the algorithm is further trained with more and more datasets. An optimal scenario will allow for the algorithm to correctly determine the class labels for unseen instances. For example, a supervised learning algorithm will learn to identify animals after being trained on a dataset of images that are properly labeled with the species of the animal and some identifying characteristics.
Unsupervised Learning
Unsupervised learning is a type of machine learning in which data the machine is given unlabeled data and it must find structure in the data. This means that the machine will try to figure out a method or way of classifying the input and output data according to what it decides is "correct" in that situation which could be similarities and differences in the data presented. Unsupervised machine learning is more closely aligned with what some people call true artificial intelligence which is the idea that a machine or computer can learn to identify complex processes and patterns without guidance along the way. Unsupervised learning is useful for determining the probability of an outcome because it is able to recognize patterns in the data. In real-world applications, unsupervised learning methods are used for drawing inferences and determining relationships between datasets which could be used to solve problems that humans previously could not do. For example, suppose you have the recordings of a cocktail party and there are many overlapping voices and you would like to distinguish between peoples voices. So, what you can do is use an unsupervised learning algorithm to find structure in this data for you. And what the algorithm will do is listen to the audio recordings and it will identify that there are multiple voices and it will separate out the voices by comparing it with the other recordings.
Reinforcement Learning
Reinforcement learning is a type of machine learning in which machines and software agents are placed in environments to determine the ideal behavior within a specific context, to maximize its performance. Reinforcement learning uses a reward and punishment system to maximize its performance where it is rewarded if it does something good and punished if it does something bad. When the agent is placed into the environment, it can do whatever it feels like but there are some reward systems coded into the machine in order to have the agent do as the user wishes. Take the example of a child trying to walk. The child is an agent trying to manipulate the environment, which is the surface on which it walks by taking actions, which is walking. The child tries to go from one state to another which is going from one step to the next. The child gets a reward which could be chocolate when he/she accomplishes the task and will not receive any chocolate when he/she is not able to walk.
Really liked this article Azim, well explained concepts and the differentiated models of learning help to understand real-world applications in different environments.
Very Well Done, Learned Loads!
Great article! Learned a lot.
Nice Read Azim!