The previous chapters introduced the main knowledge elements from the knowledge base of an agent, which are all based on the notion of concept. This chapter presents the basic operations involved in learning, including comparing the generality of concepts, generalizing concepts, and specializing concepts. We start with a brief overview of several machine learning strategies that are particularly useful for knowledge-based agents.
INTRODUCTION TO MACHINE LEARNING
What Is Learning?
The following are definitions of learning given by some of the most prominent researchers in this field:
• “Learning denotes changes in the system that are adaptive in the sense that they enable the system to do the same task or tasks drawn from the same population more efficiently and more effectively the next time” (Simon, 1983, p. 28).
• “‘Learning’ is making useful changes in the workings of our minds” (Minsky, 1986, p. 120).
• “Learning is constructing or modifying representations of what is being experienced” (Michalski, 1986, p. 10).
• “A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E.” (Mitchell, 1997, p. 2).
Given the preceding definitions, we may characterize learning as denoting the way in which people and computers:
• Acquire, discover, and organize knowledge by building, modifying, and organizing internal representations of some external reality.
• Acquire skills by gradually improving their motor or cognitive abilities through repeated practice, sometimes involving little or no conscious thought.
There are two complementary dimensions of learning: competence and efficiency. A system is improving its competence if it learns to solve a broader class of problems and to make fewer mistakes in problem solving. The system is improving its efficiency if it learns to solve the problems from its area of competence faster or by using fewer resources.
Machine learning is the domain of artificial intelligence that is concerned with building adaptive computer systems that are able to improve their performance (competence and/or efficiency) through learning from input data, from a user, or from their own problem-solving experience.