Building an intelligent agent
There
are many ways to impart intelligence to an agent. The most commonly used techniques
include machine learning, stored knowledge, rules, and so on. In this section,
we will focus on machine learning. In this method, the way we impart
intelligence to an agent is through data and training.
Let's see how an intelligent agent interacts with the
environment:
With machine learning, we want to program
our machines to use labeled data to solve a given problem. By going through the data
and the associated labels, the machine learns how to extract patterns and relationships.
In the preceding example, the intelligent
agent depends on the learning model to run the inference engine. Once the sensor perceives the input, it sends it to the feature extraction block. Once the relevant features are
extracted, the trained inference engine performs a prediction based on the learning model.
This learning model is built using machine learning. The inference engine then takes
a decision and sends it to the actuator, which then takes the required action in the real
world.
There are many applications of machine
learning that exist today. It is used in image recognition, robotics, speech recognition, predicting stock market behavior, and so on. In order to understand machine learning and
build a complete solution, you will have to be
familiar with many techniques from
different fields such as pattern recognition, artificial neural networks, data mining, statistics,
and so on.
Types of models
There are two types of models in the AI
world: Analytical models and Learned models.
Before we had
machines that could compute, people used to rely on analytical models.These models were derived using a
mathematical formulation, which is basically a sequence of steps followed to arrive at a
final equation. The problem with this approach is that it was based on human judgment. Hence
these models were simplistic and inaccurate with just a few
parameters.
We then entered the
world of computers. These computers were good at analyzing data. So,people
increasingly started using learned models. These models are obtained through
the process of training. During training, the
machines look at many examples of inputs and outputs to arrive at the equation. These
learned models are usually complex and accurate,with thousands of parameters. This gives
rise to a very complex mathematical equation that
governs the data.
Machine Learning
allows us to obtain these learned models that can be used in an inference engine.
One of the best things about this is the fact that we don't need to derive the underlying mathematical formula. You don't
need to know complex mathematics, because the machine derives the formula based on
data. All we need to do is create the list of inputs and the corresponding outputs. The learned
model that we get is just the relationship between labeled inputs and the desired
outputs.