1 what is learning? “learning denotes changes in a system that... enable a system to do the same...

30
1 What is learning? “Learning denotes changes in a system that ... enable a system to do the same task more efficiently the next time.” –Herbert Simon “Learning is any process by which a system improves performance from experience.” – Herbert Simon “Learning is constructing or modifying representations of what is being experienced.” –Ryszard Michalski “Learning is making useful changes in our minds.” –Marvin Minsky

Upload: jason-ellis

Post on 27-Dec-2015

247 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 What is learning? “Learning denotes changes in a system that... enable a system to do the same task more efficiently the next time.” –Herbert Simon “Learning

1

What is learning?

“Learning denotes changes in a system that ... enable a system to do the same task more efficiently the next time.” –Herbert Simon

“Learning is any process by which a system improves performance from experience.” –Herbert Simon

“Learning is constructing or modifying representations of what is being experienced.” –Ryszard Michalski

“Learning is making useful changes in our minds.” –Marvin Minsky

Page 2: 1 What is learning? “Learning denotes changes in a system that... enable a system to do the same task more efficiently the next time.” –Herbert Simon “Learning

2

Machine Learning - Example

One of my favorite AI/Machine Learning sites: http://www.20q.net/

Page 3: 1 What is learning? “Learning denotes changes in a system that... enable a system to do the same task more efficiently the next time.” –Herbert Simon “Learning

3

Why learn?

Build software agents that can adapt to their users or to other software agents or to changing environments Personalized news or mail filter Personalized tutoring Mars robot

Develop systems that are too difficult/expensive to construct manually because they require specific detailed skills or knowledge tuned to a specific task Large, complex AI systems cannot be completely derived by hand

and require dynamic updating to incorporate new information.

Discover new things or structure that were previously unknown to humans Examples: data mining, scientific discovery

Page 4: 1 What is learning? “Learning denotes changes in a system that... enable a system to do the same task more efficiently the next time.” –Herbert Simon “Learning

4

Page 5: 1 What is learning? “Learning denotes changes in a system that... enable a system to do the same task more efficiently the next time.” –Herbert Simon “Learning

5

Applications

Assign object/event to one of a given finite set of categories. Medical diagnosis Credit card applications or transactions Fraud detection in e-commerce Spam filtering in email Recommended books, movies, music Financial investments Spoken words Handwritten letters

Page 6: 1 What is learning? “Learning denotes changes in a system that... enable a system to do the same task more efficiently the next time.” –Herbert Simon “Learning

6

Major paradigms of machine learning

Rote learning – “Learning by memorization.” Employed by first machine learning systems, in 1950s

Samuel’s Checkers program

Supervised learning – Use specific examples to reach general conclusions or extract general rules

Classification (Concept learning) Regression

Unsupervised learning (Clustering) – Unsupervised identification of natural groups in data

Reinforcement learning– Feedback (positive or negative reward) given at the end of a sequence of steps

Analogy – Determine correspondence between two different representations

Discovery – Unsupervised, specific goal not given

Page 7: 1 What is learning? “Learning denotes changes in a system that... enable a system to do the same task more efficiently the next time.” –Herbert Simon “Learning

7

Rote Learning is Limited

Memorize I/O pairs and perform exact matching with new inputs

If a computer has not seen the precise case before, it cannot apply its experience

We want computers to “generalize” from prior experience Generalization is the most important factor in learning

Page 8: 1 What is learning? “Learning denotes changes in a system that... enable a system to do the same task more efficiently the next time.” –Herbert Simon “Learning

8

The inductive learning problem

Extrapolate from a given set of examples to make accurate predictions about future examples

Supervised versus unsupervised learning Learn an unknown function f(X) = Y, where X is an input

example and Y is the desired output. Supervised learning implies we are given a training set of

(X, Y) pairs by a “teacher” Unsupervised learning means we are only given the Xs. Semi-supervised learning: mostly unlabelled data

Page 9: 1 What is learning? “Learning denotes changes in a system that... enable a system to do the same task more efficiently the next time.” –Herbert Simon “Learning

9

Types of supervised learning

a) Classification: • We are given the label of the training objects: {(x1,x2,y=T/O)}

• We are interested in classifying future objects: (x1’,x2’) with the correct label.

I.e. Find y’ for given (x1’,x2’).

b) Concept Learning:

• We are given positive and negative samples for the concept we want to learn (e.g.Tangerine): {(x1,x2,y=+/-)}

• We are interested in classifying future objects as member of

the class (or positive example for the concept) or not.

I.e. Answer +/- for given (x1’,x2’).

x1=size

x2=

col

or Tangerines Oranges

Tangerines Not Tangerines

Page 10: 1 What is learning? “Learning denotes changes in a system that... enable a system to do the same task more efficiently the next time.” –Herbert Simon “Learning

10

Types of Supervised Learning

Regression Target function is continuous rather than class membership y=f(x)

Page 11: 1 What is learning? “Learning denotes changes in a system that... enable a system to do the same task more efficiently the next time.” –Herbert Simon “Learning

11

Example

Positive Examples Negative Examples

How does this symbol classify?

•Concept

•Solid Red Circle in a (regular?) Polygon

•What about?•Figures on left side of page•Figures drawn before 5pm 2/2/89 <etc>

Page 12: 1 What is learning? “Learning denotes changes in a system that... enable a system to do the same task more efficiently the next time.” –Herbert Simon “Learning

12

Inductive learning framework: Feature Space

Raw input data from sensors are typically preprocessed to obtain a feature vector, X, that adequately describes all of the relevant features for classifying examples

Each x is a list of (attribute, value) pairs x = [Color=Orange Shape=Round Weight=200g ]

Each attribute can be discrete or continuous

Each example can be interpreted as a point in an n-dimensional feature space, where n is the number of attributes

Model space M defines the possible hypotheses M: X → C , M = {m1, … mn} (possibly infinite)

Training data can be used to direct the search for a good (consistent, complete, simple) hypothesis in the model space

Page 13: 1 What is learning? “Learning denotes changes in a system that... enable a system to do the same task more efficiently the next time.” –Herbert Simon “Learning

13

Feature Space

Size

Color

Weight

?Big

2500

Gray

A “concept” is then a (possibly disjoint) volume in this space.

Page 14: 1 What is learning? “Learning denotes changes in a system that... enable a system to do the same task more efficiently the next time.” –Herbert Simon “Learning

14

Learning: Key Steps

• data and assumptions– what data is available for the learning task?– what can we assume about the problem?

• representation– how should we represent the examples to be classified

• method and estimation– what are the possible hypotheses?– what learning algorithm to use to infer the most likely hypothesis?– how do we adjust our predictions based on the feedback?

• evaluation– how well are we doing?…

Page 15: 1 What is learning? “Learning denotes changes in a system that... enable a system to do the same task more efficiently the next time.” –Herbert Simon “Learning

15

Page 16: 1 What is learning? “Learning denotes changes in a system that... enable a system to do the same task more efficiently the next time.” –Herbert Simon “Learning

16

Evaluation of Learning Systems

Experimental Conduct controlled cross-validation experiments to compare

various methods on a variety of benchmark datasets. Gather data on their performance, e.g. test accuracy, training-

time, testing-time. Analyze differences for statistical significance.

Theoretical Analyze algorithms mathematically and prove theorems about

their: Computational complexity Ability to fit training data Sample complexity (number of training examples needed to learn an

accurate function)

Page 17: 1 What is learning? “Learning denotes changes in a system that... enable a system to do the same task more efficiently the next time.” –Herbert Simon “Learning

17

Measuring Performance

Performance of the learner can be measured in one of the following ways, as suitable for the application: Accuracy performance

Number of mistakes Mean Square Error

Solution quality (length, efficiency) Speed of performance …

Page 18: 1 What is learning? “Learning denotes changes in a system that... enable a system to do the same task more efficiently the next time.” –Herbert Simon “Learning

18

Page 19: 1 What is learning? “Learning denotes changes in a system that... enable a system to do the same task more efficiently the next time.” –Herbert Simon “Learning

19

Curse of Dimensionality

Page 20: 1 What is learning? “Learning denotes changes in a system that... enable a system to do the same task more efficiently the next time.” –Herbert Simon “Learning

20

Curse of Dimensionality

Imagine a learning task, such as recognizing printed

characters.

Intuitively, adding more attributes would help the learner,

as more information never hurts, right?

In fact, sometimes it does, due to what is called

curse of dimensionality it can be summarized as the situation where the available data

may not be sufficient to compensate for the increased number of parameters that comes with increased dimensionality

Page 21: 1 What is learning? “Learning denotes changes in a system that... enable a system to do the same task more efficiently the next time.” –Herbert Simon “Learning

22

Polynomial Curve Fitting

Page 22: 1 What is learning? “Learning denotes changes in a system that... enable a system to do the same task more efficiently the next time.” –Herbert Simon “Learning

23

Sum-of-Squares Error Function

Page 23: 1 What is learning? “Learning denotes changes in a system that... enable a system to do the same task more efficiently the next time.” –Herbert Simon “Learning

24

0th Order Polynomial

Page 24: 1 What is learning? “Learning denotes changes in a system that... enable a system to do the same task more efficiently the next time.” –Herbert Simon “Learning

25

1st Order Polynomial

Page 25: 1 What is learning? “Learning denotes changes in a system that... enable a system to do the same task more efficiently the next time.” –Herbert Simon “Learning

26

3rd Order Polynomial

Page 26: 1 What is learning? “Learning denotes changes in a system that... enable a system to do the same task more efficiently the next time.” –Herbert Simon “Learning

27

9th Order Polynomial

Page 27: 1 What is learning? “Learning denotes changes in a system that... enable a system to do the same task more efficiently the next time.” –Herbert Simon “Learning

28

Over-fitting

Root-Mean-Square (RMS) Error:

Page 28: 1 What is learning? “Learning denotes changes in a system that... enable a system to do the same task more efficiently the next time.” –Herbert Simon “Learning

29

Data Set Size:

9th Order Polynomial

Page 29: 1 What is learning? “Learning denotes changes in a system that... enable a system to do the same task more efficiently the next time.” –Herbert Simon “Learning

30

Data Set Size:

9th Order Polynomial

Page 30: 1 What is learning? “Learning denotes changes in a system that... enable a system to do the same task more efficiently the next time.” –Herbert Simon “Learning

32

Issues in Machine Learning Training Experience

What can be the training experience (labelled samples, self-play,…)

Target Function What should we aim to learn? What should the representation of the target function be (features, hypothesis class,…)

Learning: What learning algorithms exist for learning general target functions from specific training examples? Which algorithms can approximate functions well (and when)? How does noisy data influence accuracy? How does number of training samples influence accuracy?

Training Data: How much training data is sufficient? How does number of training examples influence accuracy? What is the best strategy for choosing a useful next training experience? How it affects complexity?

Prior Knowledge/Domain Knowledge: When and how can prior knowledge guide the learning process?

Evaluation: What specific target functions/performance measure should the system attempt to learn?