Learning: Symbol-based
In AI research, the word "learning" is often used in a very broad sense, and many theories have been proposed with various types of "learning" defined.
In the previous lectures, we have discussed several types of learning, such as the parameter learning algorithm in game playing and the evidential learning in Bayesian network. In the following lectures, we will see more types of learning.
In this lecture, we focus on the topics which are usually listed under "machine learning", using symbolic methods.
The machine learning approach: collect training examples, then use an algorithm to produce a classifier, which is either a general description or a decision procedure for the concept(s).
Supervised learning of a concept: when examples are already properly classified, and the task is to learn the hidden standard of classification. The process often consists of cycles of "hypothesis generating" followed by "hypothesis testing".
Version space search is the search for a proper concept among all possible candidates, according to given (positive and negative) examples. Roughly speaking, a positive example specifies what a concept should include, and a negative example specifies what it should not include. They can be used to eliminate candidates that are either too general or too specific. Example: Figure 10.5.

A Prolog implementation of this algorithm is in Section 15.8.1.
When the system has to learn multiple categories, the learning result is sometimes represented as a "decision tree": given an object or a situation specified by a set of attributes, the tree decides which category it belongs to. Each internal node in the tree represents a test on one of those attributes, and the branches from the node are labeled with the possible outcomes of the test. Each leaf node is a Boolean classifier for the input instance. The whole point of the decision tree is to find ways that only parts of the input need to be examined in order to reach a decision. It is similar to the "20 Questions" game.
To learn a decision tree: to recursively split the example class into subclasses using a property, until all subclasses contains examples of the same categorization. See an example.
Unsupervised learning of concepts: The instances are not labeled, and the task is to cluster them into classes according to their similarity. One way to do it is to recursively merge or split the current class(es), with the hope to achieve the minimum intra-class distances and the maximum inter-class distances.
Weka is a collection of machine learning algorithms.
An example is the Player 5, where the final result of a game is used to adjust preferences among options.
One hard problem in this type of learning is credit/blame assignment. When the feedback is only about a complete sequence of actions, not about each individual action (delayed reward), it is not always easy to determine what is right/wrong.
Another issue in reinforcement learning is the tradeoff between exploration and exploitation. To get the maximum reward in the long run in a uncertain environment, sometimes it is better to take a less-explored option, even when another option has a better historic record. Example: k-armed bandit problem.
Non-deductive inference can be seen as a kind of learning, because here the conclusion usually contains information not available in the premises.
Induction produces generalizations from special cases.
From P(A), Q(A), P(B), Q(B) to derive P(x) → Q(x). Or concretely,
Robins are birds
Robins have feather
--------------------
Birds have feather
Abduction produces explanations for given cases.
From P(x) → Q(x) and Q(A) to derive P(A). Or concretely,
Birds have feather
Robins have feather
--------------------
Robins are birds
Analogy produces similarity-based judgments.
From P(A), Q(A), P(B), Q(B), and R(A) to derive R(B). Or concretely,
Robins have featherAll non-deductive inference, by definition, may derive false conclusions from true premises. If they are used as ways of learning, a justification is needed.
Swallows are similar to robins
------------------------------
Swallows have feather
Major approaches in AI:
In a logic programming language like Prolog, it is possible to add a new inference mechanism, Inductive Logic Programming, to induce rules from examples (see here).
NARS: learning as reasoning with uncertainty.
Researchers from many intellectual communities have much to contribute to this field. These include the communities of machine learning, statistics, databases, visualization and graphics, optimization, computational mathematics, and the theory of algorithms.
Sometimes we find surprising relations in data: diaper and beer, football and election. How to distinguish a coincidence from a causal relation?
The major research challenges: