Machine learning (ML)
A machine learning system can learn from examples, reasoning and experience. It is one of the fields of study of artificial intelligence.
A machine learns by experience if its performance at a task improves over time after doing it multiple times (definition by Tom Michael Mitchell).
Self-learning is the ability of a computer system to assimilate new information without human intervention and to improve decision-making capacity.
What is it for?
Machine learning allows the machine to solve problems not present in the initial programming, make decisions and perform unscheduled actions.
Note. In many cases it is impossible to predict all possible situations. The programmer cannot know all events, the evolution of the environment or the solution of all problems. When the machine finds itself in a situation not present in the initial programming, it blocks or ignores it. For this reason it is preferable to leave the machine a margin of decision-making autonomy and give it the ability to learn.
The machine acquires new knowledge and improves its decision-making ability over time.
The software modifies itself with experience and is able to learn from its mistakes.
How does it work?
In machine learning the behavior of algorithms is not pre-programmed but learned from data.
The computer learns the new knowledge in various ways:
- Observation of the external environment
the agent observes the outside world and learns from the feedbacks of his actions and mistakes.
- Knowledge base
the experience and knowledge of the operating environment are stored in a database called the knowledge base (KB).
The two learning modes are complementary.
One does not exclude the other.
Note. There are different levels of machine learning. Some even involve human supervision. For example, initially the knowledge base is never empty but contains some initial information entered manually by the designer (pre-existing or previous knowledge). Subsequently, during the learning process, the cognitive basis (KB) is modified by the agent through feedback with the environment, based on his direct experience gained over time. A human supervisor might also intervene during the ML process with qualitative judgments to aid machine learning.
Machine learning techniques
The main machine learning techniques are the following:
- Supervised learning
The designer provides a number of examples to the machine. Each example is composed of a series of input values that describe the situation and a label indicating the result, the correct answer or the desired action. The machine processes the data and learns from the examples to find a predictive function or general rule.
Pros and cons. This type of machine learning works well in fully observable environments and in the presence of a human instructor. On the other hand, it is not very effective if it analyzes the feedbacks in partially observable environments, because the agent is unable to identify the cause-effect relationships due to uncertainty.
- Unsupervised learning
In unsupervised learning the agent has no input-output examples to learn from. There is no instructor to decide whether an action is correct or not, nor a benchmark for environmental feedback. However, the agent can learn by discovering the links between some input and output factors. In practice, the machine learns from observation.
Pros and cons. An agent who learns in an unsupervised way is unable to decide, because he cannot distinguish between good and evil, he does not know which action is correct, nor what the objectives of his action are. There is no supervisor to explain them to him, nor does he receive initial examples to analyze. Besides, he doesn't even know the inputs because he has to find them for himself. However, he can construct a realistic and representative function of the functioning of an environment.
- Reinforcement learning
Reinforcement learning is based on the mechanism of rewards and punishments. The agent has no input and output examples, nor supervision to explain the correct behavior to follow. However, the agent has a reinforcement function and a goal to achieve that allows him to evaluate the feedbacks of his actions. In this way, the agent constructs a behavior function, through experience, to maximize reinforcement and minimize punishment. In practice, the machine knows the goal but does not know how to achieve it.
Pros and cons. This approach combines the merits of supervised and unsupervised learning. The agent does not follow the predefined input-output schemes and does not need a human supervisor. Therefore, the agent has fewer constraints to construct a representative function of the environment. He can distinguish between desirable and negative behaviors to pursue a goal (maximize reward). In particular, the reinforcement has an address function.
Phases of the machine learning process
The stages of machine learning are as follows:
- Pre-Processing. It is the phase in which to analyze the data in the training dataset to optimize the performance of the algorithm.
- Learning or training. I's the phase in which the algorithm automatically learns from the data present in the training set to develop a forecast model.
- Rating. It is the phase in which to evaluate if the forecast model created by the algorithm is accurate or not. The data scientist sets an acceptable percentage of correct answers (T). Then, use the prediction model to a test dataset that contains different examples than the learning dataset and calculate the percentage of correct answers (R).The comparison of the results T and R determines the quality of the model.
- R≥T If the percentage of correct answers R exceeds T, the predictive model is promoted. The answers of the machine are sufficiently accurate. The margin of error of the answers is acceptable.
- R<T If the percentage of correct answers R does not exceed T, the forecast quality is not sufficiently effective. It is necessary to train a new model.
- Prediction. It is the final application phase. The predictive model is used with real data to solve practical problems, either by the machine itself or by the end users.
The pre-processing phase is performed before starting an automatic learning process.
What is it for?
In the pre-processing phase, the data of the dataset is analyzed to identify redundant information and noises.
- Noises (irrelevant data) are eliminated from the dataset.
- Related data (redundant data) are combined with each other.
This allows to reduce the dimensionality of the dataset and the computational complexity of the learning algorithm.
The representation of knowledge
The information acquired by the machine can be represented in various ways.
The main ones are the following:
- propositional logic
- first order logic
- Bayesian networks
- neural networks
- decision trees
Knowledge representation is one of the most important technical aspects in the study of machine learning, because it significantly affects the spatial and temporal complexity of the algorithm.