AI & Machine Learning
What is AI ?
Artificial Intelligence
» From SIRI to self-driving cars, artificial intelligence (AI) is progressing rapidly.
› While science fiction often portrays AI as robots with human-like characteristics, AI can encompass anything from Google’s search algorithms to IBM’s Watson to autonomous weapons.
» Narrow AI (Weak)
› Artificial intelligence today is properly known as narrow AI (or weak AI), in that it is designed to perform a narrow task (e.g. only facial recognition or only internet searches or only driving a car).
» General AI (Strong AI Or AGI)
› The long-term goal of many researchers is to create general AI (AGI or strong AI). While narrow AI may outperform humans at whatever its specific task is, like playing chess or solving equations, AGI would outperform humans at nearly every cognitive task
Machine Learning a Type of AI
» Machine learning is a type of artificial intelligence (AI) that provides computers with the ability to learn without being explicitly programmed.
» Machine learning focuses on the development of computer programs that can change when exposed to new data.
What Exactly is Machine Learning ?
» Machine learning is a set of techniques, which help in dealing with vast data in the most intelligent fashion (by developing algorithms or set of logical rules) to derive actionable insights (Search Results for Google Search).
» The process of machine learning is similar to that of data mining.
» Both systems search through data to look for patterns, in Data Mining : Data is extracted for human comprehension & in Machine learning uses that data to detect patterns in data and adjust program actions accordingly.
Steps Involved in Machine Learning
» There are 5 basic steps used to perform a machine learning task:
» Collecting data: Be it the raw data from excel, access, text files etc., this step (gathering past data) forms the foundation of the future learning. The better the variety, density and volume of relevant data, better the learning prospects for the machine becomes.
» Preparing the data: Any analytical process thrives on the quality of the data used. One needs to spend time determining the quality of data and then taking steps for fixing issues such as missing data and treatment of outliers.
» Training a model: This step involves choosing the appropriate algorithm and representation of data in the form of the model. The cleaned data is split into two parts – train and test (proportion depending on the prerequisites); the first part (training data) is used for developing the model. The second part (test data), is used as a reference.
» Evaluating the model: To test the accuracy, the second part of the data (holdout / test data) is used. This step determines the precision in the choice of the algorithm based on the outcome. A better test to check accuracy of model is to see its performance on data which was not used at all during model build.
» Improving the performance: This step might involve choosing a different model altogether or introducing more variables to augment the efficiency. That’s why significant amount of time needs to be spent in data collection and preparation.
Categories of ML (Machine Learning) Algorithms
» Supervised Learning / Predictive models:
» Predictive model as the name suggests is used to predict the future outcome based on the historical data. Predictive models are normally given clear instructions right from the beginning as in what needs to be learnt and how it needs to be learnt. These class of learning algorithms are termed as Supervised Learning.
» Algorithms: Nearest neighbour, Naïve Bayes, Decision Trees, Regression etc.
» Unsupervised learning / Descriptive models:
» It is used to train descriptive models where no target is set and no single feature is important than the other. The case of unsupervised learning can be: When a retailer wishes to find out what are the combination of products, customers tends to buy more frequently.
» Algorithm : K- means Clustering Algorithm
» Reinforcement learning (RL):
» It is an example of machine learning where the machine is trained to take specific decisions based on the business requirement with the sole motto to maximize efficiency (performance). The idea involved in reinforcement learning is: The machine/ software agent trains itself on a continual basis based on the environment it is exposed to, and applies it’s enriched knowledge to solve business problems. This continual learning process ensures less involvement of human expertise which in turn saves a lot of time!
A good example to understand the difference is self driving cars. Self driving cars use Reinforcement learning to make decisions continuously – which route to take? what speed to drive on? are some of the questions which are decided after interacting with the environment. A simple manifestation for supervised learning would be to predict fare from a cab going from one place to another.
Traditional ML vs Deep learning (Neural Networks)
» Traditional machine learning algorithms are linear, deep learning algorithms are stacked in a hierarchy of increasing complexity and abstraction.
» To understand deep learning, imagine a toddler whose first word is “dog.” The toddler learns what is (and what is not) a dog by pointing to objects and saying the word “dog.” The parent says “Yes, that is a dog” or “No, that is not a dog.”
» As the toddler continues to point to objects, he becomes more aware of the features that all dogs possess. What the toddler does, without knowing it, is to clarify a complex abstraction (the concept of dog) by building a hierarchy in which each level of abstraction is created with knowledge that was gained from the preceding layer of the hierarchy.
» Computer programs that use deep learning go through much the same process. Each algorithm in the hierarchy applies a non-linear transformation on its input and uses what it learns to create a statistical model as output.
» Iterations continue until the output has reached an acceptable level of accuracy.
» In traditional machine learning, the learning process is supervised and the programmer has to be very, very specific when telling the computer what types of things it should be looking for when deciding if an image contains a dog or does not contain a dog.
» This is a laborious process called feature extraction and the computer’s success rate depends entirely upon the programmer’s ability to accurately define a feature set for "dog."
» The advantage of deep learning is that the program builds the feature set by itself without supervision. This is not only faster, it is usually more accurate.
Real World Machine Learning Examples
» “Is this cancer?”
» IBM detects skin cancer more quickly with visual machine learning, In a scan of 3,000 images, IBM technology was able to spot melanoma with an accuracy of about 95 percent, much better than the 75 percent to 84 percent average of today's largely manual methods.
» “What did you say?”
» Speech conversion from one language to other : This Skype feature helps in bringing down the language barrier during voice/video calling. It translates the conversation into another language in real time allowing both side of speakers to effectively share their views in their native language
» “Who is this?”
» Auto identification of faces in photos posted in Face Book
» Many more : Spam Detection, Credit Card Fraud Detection, Product Recommendation, Medical Diagnosis, Stock Trading, Traffic Control Systems, Tactical Weapons Control Systems, Robotics (Self-Driving Cars for example),Suspicious activity detection from CCTVs
good article Rupesh Khaple