The Ultimate Crash Course On Artificial Intelligence (Part 1)
On a bright Monday morning, you’re here sipping your nice cup of java, or otherwise known as coffee, while you’re browsing the latest news on your phone and scrolling through Reddit. Right before you’re about to put your phone away and head to school or work, all the headlines and notifications flood you at once. They flood everyone’s phones.
“GPT-3, an OpenAI initiative that managed to pose as a human, answering questions on Reddit undetected, for over a week…”
“AI ‘outperforms’ doctors diagnosing breast cancer — BBC News”
“Former Go champion beaten by DeepMind retires after declaring AI invincible” — Verge
“Surprising Ways How Driverless Cars Will Change Our Future” — Machine Design
“Millions of Americans Have Lost Jobs in the Pandemic — And Robots and AI Are Replacing Them Faster Than Ever” — Time.com
All of a sudden, panic rushes through your veins, and you begin to sweat. You wonder how the world has gotten to a point where technology has revolutionized our everyday lives. Your degree that’s sitting on your wall is starting to shake, knowing that it soon might not be of use. You’re wondering if you’ll be able to keep your job if you’re part of the working class or if you’ll soon be replaced by some super-intelligent robot that doesn’t require a paycheque every two weeks.
However, a tiny voice in the back of your head tells you not to worry. Less than 20 seconds later, your friend calls you up and starts freaking out as well. It turns out that everyone in the world received these notifications at the exact same time.
In the midst of all of this panic, your phone vibrates profusely again, notifying you that there’s something that demands your attention. Sitting there on your screen is a text from someone Anonymous that tells you that there’s nothing to fear. It says that you’ve been invited to join a secret group, a group that will dedicate all of their lives towards research, and education amid these new times. They’ve invited you to be apart of the new 4th Industrial Revolution with technology.
As a naturally curious person, you reply back and agree to join. They instantly send you a link to an article that plans to explain what is all of this Artificial Intelligence, Machine Learning and Deep Learning that’s constantly in the news.
You open it and bam. Here you are!
Let’s get into it. In this article, we’ll be talking about the following concepts broken down into sections!
Get ready for a wild ride and prepare to have your mind blown!
🤖 What is Artificial Intelligence (AI)?
Artificial Intelligence is absolutely huge. Here, take a look and see:
This visual encapsulates everything you need to know about Artificial Intelligence, and all of these areas connect with each other to fuel the innovation in this space as we know it today.
The most practical definition that can be used to describe Artificial Intelligence can be as follows:
“The theory and development of computers to be able to perform tasks that normally require human intelligence, i.e. Visual Perception, Speech Recognition, Decision Making, and Translation”
In simple layman terms, this means that the core of AI lies in the principle of machines doing things and performing tasks that usually require a human with some form of intelligence, to complete.
Now you might be wondering… “well, if these computers, programmers, and corporations get sophisticated enough with the technology and innovation, wouldn’t the very need of humans and its existence be in jeopardy?”
To that my friend, I’ll provide some reassurance and evidence to support my claims that we’re very far from that. First, let’s discuss some history and applications of AI.
📔 History of AI
If you’re like most, you typically HATE history with a passion. All you probably remember from your history class is probably what wars our countries have fought, who the leaders of our countries were, and how everything ties back together to where we are today.
However, history is critical since it’s the study of past events, of which usually can be a good indicator of the future.
The very beginnings of AI started in 1950 when Alan Turing published a paper called Computing Machinery and Intelligence in which he outlined the Turing Test. Simply put the Turing Test is the process to determine whether a computer is capable of thinking like a human being.
A few years later in 1956 at the Dartmouth Conference, John McCarthy coined the term “Artificial Intelligence,” and defined it as “the science and engineering of making intelligent machines.” This was the true birth of AI.
Over the course of many years and decades, new advancements were made: the First AI Lab at MIT built-in 1959, the first Chatbot named Eliza created in 1961, IBM Deep Blue beating the world champion at Chess in 1997, IBM Watson defeated the two greatest Jeopardy players and more.
All of this leads us to the present day.
🏛 Applications of AI
Today, we have AI at every single corner of our lives, in every single industry. AI can and has transformed healthcare, education, transportation, retail, manufacturing, climate change, and much much more. The applications of AI have changed the world as we know it.
Here are some of the most popular ones that you may have heard of:
When you type a word into Google’s Search box, you’ll be suggested searches with Google’s autofill. Google’s Predictive Search Engine is based on Natural Language Processing and uses data, browser history, location and other related information to display the best result for you. This is practice is often used among many companies for their search functionalities (Netflix, Youtube, etc.)
Another application of AI lies in Gmail’s Spam Filtering where Google’s Machine Learning Algorithms and Natural Language Processing views the content in an email and determines whether it’s spam or not.
Google’s AlphaGo had previously beat the world’s best Go player through Reinforcement Learning, a process where the computer teaches itself how to perform certain tasks by trial and error. On top of that, Google’s DeepMind is another subsidiary of Google that focuses on research into the field of AI and advancing the industry as a whole.
Facebook uses various Machine Learning and Deep Learning functionalities to do any number of things. For one, it can detect your facial features and tag your friends in the photos you upload before you hit the post button. When Facebook is trying to serve ads to it’s customers, it also uses similar algorithms to classify which ads would be the best for which audiences and it enables the company as a whole to make money off of it’s users.
JPMorgan Chase’s Contract Intelligence (COiN)
JPMorgan’s Machine Learning technology has the ability to review 12,000 annual commercial loan agreements in a mere matter of seconds when the same task would take over 360,000 hours to complete by humans. This single application alone can save JPMorgan, thousands if not millions of dollars.
The average Netflix subscriber spends over 10 hours a week on this app alone, and you might be thinking those are rookie numbers in your head. The reason that Netflix can keep eyeballs on their platform for so long is simply due to the fact that their recommendation algorithm is extremely powerful and serves to you what it thinks you’ll fall in love with. Over 75% of what you watch is recommended by Netflix. Since the recommendations are so personalized, there’s a high probability that they’ll keep you glued and loyal to their company, providing them with a solid stream of revenue every month.
And much much more!
Artificial Intelligence has been found to treat and diagnose cancers, used for surveillance, used to power the self-driving cars that exist on the road today and it’s even made music. The solutions that AI can bring to the enormous amount of problems that exist today is endless.
🌀 Types of AI
We as humans are always on the lookout for anything that might tip our system and result in massive disruption to our status quo and way of living. By status quo, I mean where humans typically are the rulers of Earth and hold all the power to do anything they so choose. Here’s why you shouldn’t be afraid of AI. It’s only here to help us. For now…
There are two, if not, three types of Artificial Intelligence: the first of which being Artificial Narrow Intelligence, the second of which being Artificial General Intelligence, and the last of which being Artificial Super Intelligence.
- Artificial Narrow Intelligence (ANI) is known as weak AI which involves applying AI to only specific tasks. This includes almost all of the current advancements and innovations in this field. Examples include: Facebook using AI to detect facial features and tag friends, your Siri or Google Assistant helping you set timers or turn on lights, or even Tesla with Self Driving Cars; ANI can also help us complete menial and gruesome tasks that no one wants to do, thus resulting in great happiness and satisfaction among humans
- Artificial General Intelligence (AGI) is known as strong AI, which is where machines possess the ability to perform any intellectual task that a human can do. We are currently still pretty far from reaching this state of AI. Experts predict that we’ll reach AGI around 2050, and even possibly sooner. However, the field will still require a lot of research from scientists and a ton of smart people working on this for us to achieve AGI.
- Artificial Super Intelligence (ASI) is also known as singularity. The point in time where the capabilities of computers will surpass humans and current the date of this being achieved is unknown. Many predict that it’ll be many decades and potentially even a century before we reach ASI.
The only two that you should pay attention to would probably be AGI and ASI, as these kinds of AI would be the type that could POTENTIALLY take over the world.
👨💻 Programming Languages Used In Artificial Intelligence
Since Artificial Intelligence is huge, the list of programming languages that can be used to work with AI is also vast. Nonetheless, some work better than others depending on the use case.
Here are some of the most common and most suitable languages for AI:
Python, an Object-Oriented Programming language (OOP) is by far the most popular language for AI. Most developers use Python simply due to its ease of use, readability, and how straightforward it is. Furthermore, many libraries have already built up Artificial Intelligence algorithms that programmers could easily import into their code.
- R (statistical programming language, the easiest syntax which greatly resembles English)
R is also a notable choice for Data Science and Machine Learning. As a statistical-oriented programming language, it excels in analyzing and manipulating data. R is also often used in data visualization and can create great-looking publication plots.
- Java (known for their awesome Graphical User Interfaces, GUI’s)
Remember the language that you learnt in your high school CS class? That’s right, you can even use it for AI development. Due to its ease of use, debugging capabilities, and packages that make Java UI friendly, it’s no wonder why Java is another popular language for AI.
- Lisp (on the older end, invented by John McCarthy)
Created by the father of AI, John McCarthy, it’s the oldest and the most suited language for AI development. It’s able to process symbolic information which can prove to be useful in many situations. It’s also easy to use and great for prototyping. While it is a good language, there are other languages that are more effective to choose from.
- Other Languages
While I’ve mentioned 4 of the most popular languages, there are also other ones that you can use for AI, however, I won’t go in-depth, since their main purpose usually isn’t for AI.
❔ Why You Should Care and Why AI is Important
Now, you might be thinking, “dude, this sounds cool and all but, why should I care?”
Well for starters, the AI and Data Science field is growing at an exponential rate since it’s a very rewarding career path for many people. Average salaries for an AI developer ranges from $100,000 USD to $150,000 USD (nearly $200,000 in CAD)! This is a huge contributing factor as to why so many are interested in learning about it. Almost 15–20% of jobs at the biggest companies lie in the realm of AI, which makes getting a job a lot easier. In a time where job stability is at an all-time low and where up to 800 million jobs could be lost due to AI by 2030, this is a great game to get into. Furthermore, in 2016, the global market value for AI was only $4 billion, but by 2025, it;’s expected to be at $169 billion! That’s seriously rapid growth.
We also create and generate over 2.5 quintillion bytes of data every single day. That amount of data is insane. Imagine if we needed to have humans manually tag and label every single photo on Facebook for example. By the time that someone has successfully tagged 100 photos, they’ll have thousands if not millions more to go through. This is where AI excels, as its strength lies in its ability to process, analyze astronomical amounts of data and find correlations in a matter of seconds.
Other applications in various realms have also already been mentioned and with all of that combined, it should be evident how impactful and important AI will be in our daily lives and in the years to come.
🔎 What is Machine Learning (ML)?
Let’s now dive into Machine Learning. A computer scientist, Arthur Samuel first coined the term Machine Learning in 1959 and here was his definition:
A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P if it’s performance at tasks in T, as measured by P, improves with the experience E.
Trust me, it’s okay, when I first heard of this, I was just confused as you are right now. In simplified terms, it’s essentially a subarea of Artificial Intelligence which lets machines learn automatically and improve from experience, without it being explicitly programmed to do so.
🎎 Difference Between Machine Learning and AI
The difference between Machine Learning and Artificial Intelligence, is simply that Machine Learning is a SUBSET of AI and ML is USED in AI. Machine Learning by definition is simply the process of feeding computers a ton of data to make them learn and draw conclusions & insights.
💎 The Significance of Machine Learning
Just in case you haven’t understood how powerful this technology is, I’m going to continue proving why it’s critical. Here are three main reasons that Machine Learning can power many industries and it can help with various implications. Due to the increase in Data Generation, Machine Learning can improve decision making, uncover patterns & trends in data and be used to solve complex problems.
- Increase In Data Generation
We literally generate over 2.5 quintillion bytes of data every day and it’s only going to grow from there. By 2020, it’s estimated that 1.7 MB of data will be created every second for every person on Earth. That’s astronomical. To put that in perspective, that’s 2,500,000 terabytes, and assuming we break that down and store it 1TB hard drives (the average size of disks for personal computers). That’s 2,500,000 hard drives of data that we’re creating every single day. That’s insane. You could probably fill multiple football fields will all of the disks that you’d have filled with data.
- Improved Decision Making
Since we have so much data to work through, and so many algorithms to choose from, we can leverage Machine Learning to make better decisions in all facets of life. For example, many companies have a ton of data that they collect from their customers that simply haven’t been used. The insights that can be drawn from this data that’s just sitting there can produce thousands, if not millions in additional revenue depending on the organization.
- Data Analysis
Using Machine Learning, we can once again plow through all of the enormous amounts of data that we generate daily. Theoretically, yes, we can have humans analyze these 2.5 quintillion bytes of data every day, but I’m sure all of these people have better things to do with their time, like binge Netflix and generate more data. Instead, we can just use Machine Learning to plow through the data and bam, problem solved.
📚 Machine Learning Definitions and Terms
Here are some quick Machine Learning definitions and terms that are frequently called upon, and it might be helpful to remember these before we get into the next portions:
- Algorithm: A set of rules and statistical techniques used to learn patterns from data.
- Model: A model is trained by using Machine Learning.
- Predictor Variable: This is a feature of the data that can be used to predict the output.
- Response Variable: The feature or the output variable that needs to be predicted by using the predictor variables.
- Training Data: The Machine Learning model is built using the training data.
- Testing Data: The Machine Learning model is evaluated using the testing data.
Got it? Great, let’s move on!
🤔 How Machines Learn (The Process)
To achieve the best result, we should follow the best process to help machines learn to the best of their abilities! Let’s start off with Step 1!
- Step 1: Define the Objective of the Problem Figure out what you are trying to predict, and what problem we’re working on? (What are the target features, what’s the input data, what kind of problem that we’re facing; whether it’s binary classification or clustering)
- Step 2: Data Gathering Data is either collected manually or scraped from the internet from various databases and websites. The type and what the data includes depends on your project goals and needs.
- Step 3: Preparing Data Data Cleaning involves getting rid of inconsistencies in data such as missing values or redundant variables (Eg. Transform data into the desired format, data cleaning for missing values, and/or corrupted data, and removing unnecessary data)
- Step 4: Exploratory Data Analysis Data Exploration involves the understanding of patterns and trends in the data. Try to draw useful insights and correlations between variables that are understood.
- Step 5: Building a Machine Learning Model At this stage, a Predictive Model is built by using Machine Learning Algorithms such as Linear Regression, Decision Trees, etc. (Machine Learning model is built by using the training data set, Model is the Machine Learning algorithm that predicts the output by using the data fed into it)
- Step 6: Model Evaluation & Optimization The efficiency of the model is evaluated and any further improvements in the model are implemented. The Machine Learning model is then validated using the testing data sets, and the accuracy of the model is calculated, outputted in a percentage form. Further improvements can be made with the help of techniques such as parameter tuning.
- Step 7: Predictions The final outcome is predicted after performing parameter tuning and improving the accuracy of the model.
That’s it, that’s all there really is.
🎎 Types of Machine Learning
Machine Learning can be broken down into 3 different types and whichever one you choose would depend on what you are trying to solve for or what your end result is.
Supervised Learning: This is a technique in which we teach or train the machine using data that is well labelled. Furthermore, this labelled dataset helps to train the model to understand patterns in the data.
A great way to visualize this would be through a hypothetical example: Suppose you wanted to train your ML model to distinguish between cats and dogs. The training set that you give to your program will include labelled images of cats and dogs. The model will also then proceed to use a classification algorithm to determine if a new picture that we feed it would be a cat or a dog.
Unsupervised Learning: The training of machines using information that is unlabeled and allowing the algorithm to act on that information without guidance.
Using the same example of our computer trying to determine whether a new image is a cat or dog. The approach with Unsupervised Learning would not require us to label the data and images. The Machine Learning algorithm would group the images into 2 groups and place new images into which ever group suits the new image best.
Reinforcement Learning: A part of Machine Learning where an agent is put in an environment and learns to behave in this environment by performing certain actions and observing the rewards which it gets from those actions. (Similar to Pavlov’s Classical Conditioning Experiment in Psychology)
We can think of this as computers using trial and error to learn what is the right decision. In Reinforcement Learning, agents can be given 2 terms or choices. Say this agent’s goal is to only pick up a stuffed toy, either Tom or Jerry. If this baby picks up Tom or Jerry, then it gets a reward, maybe a treat. If the baby picks something else, it’ll get punishments and the baby will want to maximize its rewards. Therefore it’ll attempt to only do work on the right things.
🆎 Classifying Machine Learning Algorithms
Machine Learning can be divided into 3 types as I’ve mentioned with Supervised, Unsupervised, and Reinforcement Learning. The algorithms that can be used to solve problems include Regression, Classification and Clustering algorithms. I’ve attached a table that might help you out!
Here are some quick points pulled directly from the table if you didn’t like that image…
- Supervised Learning
- Output is a continous quantity
- Main aim is to forecast or predict
- Eg. Predict stock market price
- Algorithm: Linear Regression
- Supervised Learning
- Output is a categorial quantity
- Main aim is to compute the categroy of the data
- Eg. Classify email as spam or non-spam
- Algorithm: Logistic Regression
- Unsupervised Learning
- Assigns data points into clusters
- Main aim is to group similar items clusters
- Eg. Find all transactions which are fraud
- Algorithm: K-Means
🌀 Types of Machine Learning Algorithms
Now that you understand the very basics of Machine Learning, here are the various algorithms that are used in more detail.
Supervised Learning Algorithms
- Linear Regression
- Logistic Regression
- Decision Tree
- Random Forest
- Naive Bayes Classifier
- K Nearest Neighbour
- Support Vector Machines
Unsupervised Learning Algorithms
- K-Means Clustering
Reinforcement Learning Algorithms
Linear Regression is a method to predict the dependent variable (Y) based on values of independant variables (X). This can be used in cases where we want to predict a continous quantity.
The goal in Linear Regression is to use our independent variable x to predict the dependant variable y. The relationship in Linear Regression is linear and not quadratic.
The formula for Linear Gression is $y = Bo + B1x + e$ which is very similar to the slope of a line which is $y = mx+b$. Bo is the Y-intercept, B1 being the slope with X remaining as the independent variable and e being the error, the average distance between the data points and the line of best fit.
Essentially Linear Regression is essentially the process of determining the line of best fit from a list of data points plotted onto a graph. Its applications are endless.
Next up is Logistic Regression which is pretty similar to Linear Regression.
Logistical Regression is the method used to predict a dependant variable (y), given a set of independant variables (x), such as that the dependant variable is categorical.
Essentially speaking, Logistical Regression can be used where the output would only be two categories and the only outputs would be either 0, or 1 (depending on what your goal or desired outcome is, 0, and 1 could mean different things).
Compared to Linear Regression, Logistical Regression is different as it only has 2 categories. There’s also the sigmoid term and essentially it’s a term that will tell us how likely our outputs will be either 0, or 1. Logistical Regression doesn’t calculate the output to be exactly 0, or 1 and simply is looking for the probability that something would fall into Class 0, or Class 1. Applications of Logistical Regression are endless and examples include binary classification like determining what an object is (dog, or cat; apple or orange, blue or red), determining whether a tumour is malignant, and etc.
A decision tree is a Supervised Machine Learning Algorithm that looks like an inverted tree, wherein each node represents a predictor variable (feature), the link between the nodes represents a Decision and each leaf node represents an outcome (response variable).
Decision Trees can be thought of as a flow chart that breaks into two sections for every stage. At every stage, there’s a yes or no option that can help us figure out the output/prediction to a greater extent. To do this we need to follow the Information Gain and Entropy Process.
Information Gain and Entropy Process
Step 1: Select Best Attribute (A)
Step 2: Assign A as a decision variable for the root node.
Step 3: For each value of A, build a descendant of the node
Step 4: Assign Classification Labels to the Leaf Node
Step 5: If data is correctly classified: stop..
Step 6: Else: Iterate Over the Tree
You might be wondering well, “How do you know which variable best separates the data?” The answer to that is quite simple, as the variable with the highest Information Gain that best divides the data into the desired output classes is the most important variable.
Here are some quick definitions:
- Entropy → Measures the Impurity or uncertainty present in the data
- Informational Gain (IG) → IG indicates how much “information” a particular feature/variable gives us about the final outcome
- Calculate the entropy and informational gain: By thinking about which node/variable has the highest prediction and effect on the final outcome
A problem that can occur with Decision Trees is something that we call overfitting. This happens when our model simply memorizes all the data points and makes predictions from that. In that case, your model isn’t learning and all it’s doing is just memorizing, which isn’t going to produce the best results. Our model isn’t going to perform as well when it’s tested upon. You might be thinking, well how do you solve that? That’s where Random Forests come in.
Random Forests literally is a collection of Decision Trees and putting them all together to optimize for a greater accuracy level (it’s LITERALLY a random forest full of trees). These forests help to solve the issue of overfitting, have greater accuracy and uses bagging (used to make sure it doesn’t overfit).
The goal is to create a bootstrapped data set (an estimation method used to make predictions on a data set by re-sampling it). After that process, you make these decision trees on the basis of the bootstrapped dataset. Begin at the root node & choose the best attribute to split the data set, and repeat the same process for each of the upcoming brand nodes.
Then go back to the first step and repeat consistently. This is done HUNDREDS of times to create multiple decision trees. It’s by far the most repetitive process in comparison to everything that I’ve talked about. Next up you predict the outcome of a new data point and proceed to evaluate the model. In a real-world problem, about 1/3rd of the original data set is not included in the bootstrapped data set. This sample data set that does not include the bootstrapped data set is known as the Out-Of-Bag (OOB) data set. Finally, we can measure the accuracy of a Random Forest by the proportion of OOB samples that are correctly classified.
Naive Bayes Classifier
This Machine Learning Learning Algorithm is based on the Bayes Theorem that is used to solve classification problems by following a probabilistic approach. It’s centralized around the idea that the predictor variables in a Machine Learning model are independent of each other. The problem lies in the fact that real-world problems don’t always have predictor variables that remain independent of each other. Often times a correlation will exist, and this is the reason why Naive Bayes is Naive.
This is another Supervised Learning algorithm. Its goal is to classify new data points into the target class, based on the features of it’s neighbouring data parts. Essentially speaking, it allows the machine to classify a new data point or object based on similar data parts’ classifications.
Take for example you’re once again trying to teach your computers how to classify cats or dogs just because you love them both so much. Our goal is to train the model to detect certain images based on certain features, and when a new image is given to the model, it’ll classify the image as a cat or dog based on how similar its features are.
K-Nearest Neighbour is one of the easiest, and straightforward ML algorithms and can be implemented for many problems. Moreover, it can also act as a regression algorithm. All that you do is decide what value you want K to be, which represents the number of neighbouring points that you want to use. To calculate what K should be, we can use the Elbow Method! Here’s a resource that can explain the Elbow Method in more depth!
Support Vector Machines
Support Vector Machine (SVM) is a Supervised classification method that separates data using hyperplanes. Essentially it proceeds to draw decision boundaries that can best separate the classes of data that exist. Linear SVM can be used when data can be separated using a straight line into two different classes. However, there comes a point where data simply can’t be separated or divided into classes with straight lines, therefore, you can introduce Non-Linear SVM and enable your data to properly be separated.
Unsupervised Learning Algorithms
This is the process where objects are classified into a predefined number of groups so that they are as much dissimilar as possible from one group to another group, but as much similar as possible within each group.
First, we need to decide the number of clusters to be made, afterwards, we can provide centroids of all the clusters needed. The algorithms calculate the Euclidian distance of the points from each centroid and assign the point to the closest cluster. Next, the centroid is calculated again, when we have our new cluster. The distance of the points from the centre of clusters is calculated again and points are assigned to the closest cluster, and then again the new centroid for the cluster is calculated.
All of these steps are repeated until we have repetition in the centroids or new centroids are very close to the previous ones.
Reinforcement Learning Algorithms
Reinforcement Learning is also another huge part of Machine Learning, where agents can be put into an unknown environment and learn how to behave by performing certain actions to get rewards and observe them; taking actions to maximize rewards. The two components are the agents and the environments.
A lot of Reinforcement Learning lies around Trial and Error, as the environment sends its state and then the agent sends its action then repeats.
Here’s some quick terminology that exists for RL:
- Agent: The RL algorithm that learns from trial and error
- Environment: The world through which the agent moves
- Action (A): All the possible steps that the agent can take
- State (S) The current condition returned by the environment
- Reward (R): Instant return form the environment to appraise the last action
- Policy (pi): The approach that the agent uses to determine the next action based on the current state
- Value (V): The expected long-term return with discount, as opposed to the short term reward R
- Action-value (Q): Similar to value expect it takes an extra parameter, the current action (A)
Reward Maximization is the goal for the RL agents since they must be trained in such a way that they take the best action so that the reward is maximum. There has to be a balance between Exploitation and Exploration. Exploitation is about using the already known exploited information to heighten the rewards, while Exploration is about exploring and capturing more information about an environment.
To map a solution in reinforcement learning, you can also use the Markov Decision Process (MDP), where the following parameters are used to attain a solution:
- Set of actions, A
- Set of states, S
- Reward, R
- Policy, π
- Value, V
The key algorithm is Q-Learning which is by far the most difficult part of Machine Learning! We’ll cover that another day!
🚧 Limitations of Machine Learning
Now as awesome as Machine Learning is, there are most certainly numerous limitations. Here’s where Machine Learning struggles:
- High Dimensional Data: Machine Learning can’t deal with large inputs and outputs very effectively. An example of this would be image recognition. Image Recognition has to deal with images with a huge number of pixels, (a 1920 by 1080 px image can have over 2 million pixels), and Machine Learning can’t deal with that effectively.
- Feature Extraction → Object Recognition or Handwriting Recognition also can’t be done effectively, since that also relies heavily on imagery/video which is high dimensional data once again.
This is where Deep Learning comes in and saves the day… but that’s for another time. For now, I’m going to transport you back to the real world and you’re going to realize that you’re now ahead of the majority of the world. I’ll send you another notification and make your phone vibrate profusely again next week. Just go to work, or do whatever you need to get done, and start thinking about how you can implement AI. We’ll talk soon!
If you got here and you stuck with me to the very end, I just want you to know that I’m extremely thankful and hope this was helpful! Shoot me a message via email at firstname.lastname@example.org, or connect with me on Linkedin here.
Until next time!