NK3 - Data Science , AI & ML -Dummies & Quick Start Guide
“In your thirst for knowledge, be sure not to drown in all the information.” Anthony J. D'Angelo
I thought I should change the tone of my articles a bit from the last two that i have published...here is to all the budding data scientists and who want to venture into the world of AI & ML.
Cheat sheet i created when i was embarking on this topic. (Credits to Google)
Contents
AI vs ML vs Deep learning: “Russian Dolls”
What is Artificial Intelligence?
Artificial Intelligence and Internet of Things.
Characteristics of an Algorithm
Types of Machine Learning Algorithms
Importance of Data and Is at the Heart of the Matter
Perquisites to start on Machine Learning
Step By Step on Machine Learning
Data Science, AI and ML
AI vs ML vs Deep learning: “Russian Dolls”
What is Artificial Intelligence?
AI involves machines that can perform tasks that are characteristic of human intelligence, while this is rather general, it includes things like planning, understanding language, recognizing objects and sounds, learning, and problem solving.
When machines carry out tasks based on algorithms in an “intelligent” manner that is AI
Here are a few other definitions of artificial intelligence:
- A branch of computer science dealing with the simulation of intelligent behaviour in computers.
- The capability of a machine to imitate intelligent human behaviour.
- A computer system able to perform tasks that normally require human intelligence, such as visual perception, speech recognition, decision-making, and translation between languages.
AI can be a pile of if-then statements, or a complex statistical model mapping raw sensory data to symbolic categories. The if-then statements are simply rules explicitly programmed by a human hand. Taken together, these if-then statements are sometimes called rules engines, expert systems, knowledge graphs or symbolic AI
We can put AI in two categories:
· General : General AI would have all of the characteristics of human intelligence, including the capacities mentioned above
· Narrow: Narrow AI exhibits some facet(s) of human intelligence, and can do that facet extremely well, but is lacking in other areas. A machine that’s great at recognizing images, but nothing else, would be an example of narrow AI.
What is Machine Learning?
ML is Subset of AI but “Ability to learn without explicit programming”, with million lines of code and complex rules and decision trees, ML is training an algorithm so that it can lean how
Machine learning is a subset of AI and focuses on the ability of machines to receive a set of data and learn for themselves, changing algorithms as they learn more about the information they are processing.
· Training feeding huge amounts of data to the algorithm and allowing the algorithm to adjust itself and improve. Example: You gather hundreds of thousands or even millions of pictures and then have humans tag them. For example, the humans might tag pictures that have a cat in them versus those that do not. Then, the algorithm tries to build a model that can accurately tag a picture as containing a cat or not as well as a human. Once the accuracy level is high enough, the machine has now “learned” what a cat looks like
· The “learning” part of machine learning means that ML algorithms attempt to optimize along a certain dimension; i.e. they usually try to minimize error or maximize the likelihood of their predictions being true. This has three names: an error function, a loss function, or an objective function, because the algorithm has an objective… When someone says they are working with a machine-learning algorithm, you can get to the gist of its value by asking: What’s the objective function?
How does one minimize error?
· To build a framework that multiplies inputs in order to make guesses as to the inputs’ nature.
· Different outputs/guesses are the product of the inputs and the algorithm.
· The initial guesses are quite wrong, and if you are lucky enough to have ground-truth labels pertaining to the input, you can measure how wrong your guesses are by contrasting them with the truth, and then use that error to modify your algorithm.
Machine learning Process
What is Deep Learning?
Deep learning is one of many approaches to machine learning. The concept of deep learning is sometimes just referred to as "deep neural networks," referring to the many layers involved. A neural network may only have a single layer of data, while a deep neural network has two or more. The layers can be seen as a nested hierarchy of related concepts or decision trees. The answer to one question leads to a set of deeper related questions.
Deep learning networks need to see large quantities of items in order to be trained.
They are referring to deep artificial neural networks, and somewhat less frequently to deep reinforcement learning.
What does Deep Mean?
Deep is a technical term. It refers to the number of layers in a neural network. A shallow network has one so-called hidden layer, and a deep network has more than one. Multiple hidden layers allow deep neural networks to learn features of the data in a so-called feature hierarchy, because simple features (e.g. two pixels) recombine from one layer to the next, to form more complex features (e.g. a line). Nets with many layers pass input data (features) through more mathematical operations than nets with few layers, and are therefore more computationally intensive to train. Computational intensively is one of the hallmarks of deep learning, and it is one reason why GPUs are in demand to train deep-learning models.
· Other approaches include
· decision tree learning,
· inductive logic programming,
· clustering, reinforcement learning,
· and Bayesian networks
What Inspired Deep Learning?
Deep learning was inspired by the structure and function of the brain, namely the interconnecting of many neurons. Artificial Neural Networks (ANNs) are algorithms that mimic the biological structure of the brain.
In ANNs, there are “neurons” which have discrete layers and connections to other “neurons”. Each layer picks out a specific feature to learn, such as curves/edges in image recognition. It’s this layering that gives deep learning its name, depth is created by using multiple layers as opposed to a single layer.
Artificial Intelligence and Internet of Things
AI and IoT much like the relationship between the human brain and body.
Our bodies collect sensory input such as sight, sound, and touch. Our brains take that data and makes sense of it, turning light into recognizable objects and turning sounds into understandable speech. Our brains then make decisions
What Is an Algorithm?
An algorithm is a set of rules to be followed when solving problems. In machine learning, algorithms take in data and perform calculations to find an answer. The calculations can be very simple or they can be more on the complex side
Characteristics of an Algorithm:
· Deliver correct answer
· In the most efficient way
Algorithms need to be trained to learn how to classify and process information. The efficiency and accuracy of the algorithm are dependent on how well the algorithm was trained. Using an algorithm to calculate something does not automatically mean machine learning or AI was being used.
Using an algorithm to predict an outcome of an event is not machine learning. Using the outcome of your prediction to improve future predictions is.
Types of Machine Learning Algorithms
Machine learning Algorithms can be isolated into 3 general categories :
1. Supervised learning,
2. Unsupervised learning and
3. Reinforcement learning.
Supervised learning is valuable in situations where a property (label) is accessible for a specific dataset (training set), however, is missing and should be anticipated for other instances.
Unsupervised learning is helpful in situations where the test is to find certain connections in a given unlabeled dataset (things which are not pre-assigned)
Reinforcement learning falls between these, there is some type of input accessible for each prescient stride or activity, yet no exact name or blunder message.
What is a Neural Network?
Neural networks are a series of algorithms modeled after the human brain. Just as the brain can recognize patterns and help us categorize and classify information, neural networks do the same for computers. The brain is constantly trying to make sense of the information it is processing, and to do this, it labels and assigns items to categories. When we encounter something new, we try to compare it to a known item to help us understand and make sense of it. Neural networks do the same for computers. A neural network may only have a single layer of data, while a deep neural network has two or more. The layers can be seen as a nested hierarchy of related concepts or decision trees. The answer to one question leads to a set of deeper related questions.
Benefits of neural networks:
§ Extract meaning from complicated data
§ Detect trends and identify patterns too complex for humans to notice
§ Learn by example
§ Speed Advantages
That neural networks do? They keep on measuring the error and modifying their parameters until they can’t achieve any less error. They are, in short, an optimization algorithm. If you tune them right, they minimize their error by guessing and guessing and guessing again.
Importance of Data and Is at the Heart of the Matter
Whether you are using an algorithm, artificial intelligence, or machine learning, one thing is certain: if the data being used is flawed, then the insights and information extracted will be flawed. What is data cleansing?
§ “The process of detecting and correcting (or removing) corrupt or inaccurate records from a record set, table, or database and refers to identifying incomplete, incorrect or irrelevant parts of the data and then replacing, modifying or deleting the dirty or coarse data.”
Perquisites to start on Machine Learning
1. Better than average Maths , some of the maths topics one should be comfortable with
· Linear algebra-Linear Algebra– MIT 18.06 Linear Algebra by Gilbert Strang
· Probability theory-Probability and Statistics– MIT 6.041 Probabilistic Systems Analysis and Applied Probability by John Tsitsiklis
· Calculus
2. Programming language that is widely used for ML such as python, MATLAB or C++.
· Machine Learning with Text in scikit-learn (PyCon 2016)
· Machine learning in Python with scikit-learn
· Machine learning with Python
Step By Step on Machine Learning
1. Step 1 : machine learning fundamentals by studying some material regarding the subject:
· Andrew Ng’s Machine Learning lectures are a great start
· A link to the full playlist is here (Lecture Collection | Machine Learning)
o https://www.youtube.com/view_pla...
· Stanford’s Data Mining and Applications Certificate:
o https://scpd.stanford.edu/public/...
· Artificial Intelligence Introduction by Prof. Deepak Khemani IIT Madras
o https://nptel.ac.in/courses/10610...
2. Step 2 : The main thing I advise somebody who needs to get into machine learning is to take Andrew Ng’s online course.
3. Step 3 : Read Books – Look at the Book References below
4. Step 4 : Learn essential Algorithms & How to set up your data
a. Data features such as selection , transformation and compression
b. https://www.favouriteblog.com/15-algorithms-machine-learning-engineers/
5. Step 5 : Play with large datasets such as US Gov data set
6. Step 6 : Take a project focused ML or attend ML event
References:
3. https://skymind.ai/wiki/ai-vs-machine-learning-vs-deep-learning
4. https://www.favouriteblog.com/10-free-must-read-books-machine-learning/
5. https://www.quora.com/What-are-prerequisites-to-start-learning-machine-learning
6. https://www.favouriteblog.com/15-algorithms-machine-learning-engineers/
Books to Start on AI and ML:
1. An Introduction to Statistical Learning: with Applications in R (Springer Texts in Statistics) 1st ed. 2013, Corr. 7th printing
2. Read the principal introduction sections, and after that bounce to whatever part incorporates an algorithm, you are interested. When you have discovered that algo, jump into it, see every one of the points of interest, and, particularly, implement it. In the past online course step, you would as of now have actualized a few algorithms in Octave. Be that as it may, here I am looking at executing an algorithm without any preparation in a “real” programming language. You can, in any case, begin with a simple one, for example, L2-regularized Logistic Regression, or k-means
· David Barber’s Bayesian Reasoning and Machine Learning
· Kevin Murphy’s Machine learning: a Probabilistic Perspective
· Google says Machine Learning is the Future
· Hastie, Tibshirani, and Friedman’s The Elements of Statistical Learning
· Bishop’s Pattern Recognition and Machine Learning
· Andrew Ng OpenClassRoom Stanford
· Mitchell’s Machine Learning
· There are likewise numerous great books that attention on one specific subject. For instance, Sutton and Re-Inforcement Learning