49
1 Machine Learning Introduction Paola Velardi

1 Machine Learning Introduction Paola Velardi. 2 Course material Slides (partly) from: 91L

Embed Size (px)

Citation preview

1

Machine LearningIntroduction

Paola Velardi

2

Course material

• Slides (partly) from: http://www.cs.utexas.edu/users/mooney/cs391L/

• Textbook: Tom Mitchell, Machine Learning, McGraw Hill, 1997.

• Additional material and papers will be supplied during the last part of the course

3

Course Syllabus

• Part A:1. Concept Learning and the General-to-Specific Ordering

2. Decision Tree Learning

3. Ensamble methods

4. Evaluation methods: experimental and theoretical methods

5. Rule learning

6. Artificial Neural Networks

7. Support Vector Machines

8. Bayesian Learning

9. Instance-based learning

10. Q-learning and Genetic Algorithms

11. Clustering

• Part B:advanced topics (tentative)– Populating the Web on a vast scale

– Machine learning to analyse human brain activity

Exams

• Written test on course material (40%)

• Project (teams of 2-3, joint project with NLP or Web Information Retrieval possible), using the Weka ML toolkit (40%)

• Read and present (in English) one paper on your choice in a (large) list of hot topics (20%)

• Written will be done in two steps, mid-term and end course, or in july (entire program)

4

5

Exam

• Written exam on course material• Course project using Weka• Project is an application of a ML algorithm (from

Weka) to a student-defined problem• Projects can be carried on by teams of 2 students• Projects & topics will be presented to the instructor and

to the other students, each project/topic has a “reviewer” team

• You are evaluated also for your questions/stimuli to the project you review

• Joint projects with Web Information Extraction and/or Natural Language Processing are possible

6

ML: definitions and introduction

7

What is Learning?

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

• What is the task?– Problem solving– Classification

8

Classification

• Assign object/event to one of a given finite set of categories.

– Medical diagnosis– Credit card applications or transactions– Fraud detection in e-commerce– Worm detection in network packets– Spam filtering in email– Recommended articles in a newspaper– Recommended books, movies, music, or jokes– Financial investments– DNA sequences– Spoken words– Handwritten letters– Astronomical images

Example (medical diagnosis): given a set of categories (illness types) and a laboratory data (blood test etc.) , assign a patient to the appropriate category (illness)

Example of classification

9

Starting from: clinical records, each describing a pregnancy and a delivery. Each record has 215 features.Learn: how to identify potential risk for emergency section

Ex: If No previous non-cesarean delivery, and Abnormal 2nd Trimester Ultrasound, and Malpresentation ad admission Then Probability Emergency C-Section is 0.6

YOUR TURN: CAN YOU LIST THE PROBLEMS YOU SEE FOR AN AUTOMATED SYSTEM TO FORMALISE THIS TASK, GIVEN THE CLINICAL RECORD EXAMPLE?

10

An abstract description of the classification task (1)

• Given a set of categories, C={c1, c2,…cn}(we have one in the example: Probability Emergency C-Section )

• Given a set of objects O (e.g. the patient records)• Learn a function C(x) that returns the category of

any object . The co-domain of C(x) can be C, a boolean, a vector of probabilities.. (In the example:

11

x ∈O

C(x) = Pr(x = EmergencyC − Section)

C : O → 0,1[ ]

An abstract description of the task (2)

• Given a set of tuples <x,C(x)> , e.g. a set of objects for which the classification is known (our sample of patient records for which the delivery history is known)

• Learn an hypotesis h(x) for C(x), that is: given a set of known points for the function C(x), try to “approximate” it, in order to be able to predict the classification of new objects (the risk of Emergency during delivery)

12

X ⊆O

Problems

• How we represent the world’s objects (patient records, images, words in texts, economic transactions, customer’s preferences, environmental records..) (FEATURE SELECTION)

• How we model C (logic, algebraic, probabilistic function) HYPOTHESIS REPRESENTATION

• How do we learn an hypotesis for C? LEARNING ALGORITHM

• How do we evaluate our hypotesis or select among multiple hypoteses? PERFORMANCE EVALUATION & HYPOTHESIS RANKING

13

So we have 3 problems

• REPRESENTATION: for the objects and for the function C(x)

• LEARNING: what algorithm to learn C(x)?

• EVALUATION: how to estimate the quality of a learned hypothesis h(x) for C(x)?

14

x ∈O

15

ML is also a Problem Solving Task

• Performing actions in an environment in order to achieve a goal.– Solving calculus problems

– Playing checkers, chess, or backgammon

– Driving a car or a jeep

– Flying a plane, helicopter, or rocket

– Controlling an elevator

– Controlling a character in a video game

– Controlling a mobile robot

Though the general problem formulation remains the same, there are machine learning algorithms that are more suited for classification or for problem solving

Though the general problem formulation remains the same, there are machine learning algorithms that are more suited for classification or for problem solving

Problem Solving

• Game playing (e.g. chess)

• Planning (e.g. robotics, automated driving..)

• Example: given a representation of an environment (a domestic environmnt) and a command for a robot (e.g. bring the chair from the kitchen to the dining room), find the best plan to execute the command

• Objective: learning to move and perform actions in a given environment

16

Example: Automated Driving and Collision Warning

17http://nn.cs.utexas.edu/pages/research/neat-warning/

18

Why Study Machine Learning?Engineering Better Computing Systems

• Develop systems that are too difficult/expensive to construct manually because they require specific detailed skills or knowledge tuned to a specific task (knowledge engineering bottleneck).

• Develop systems that can automatically adapt and customize themselves to individual users.– Personalized news or mail filter– Personalized tutoring

• Discover new knowledge from large databases (data mining).– Market basket analysis (e.g. diapers and beer)– Medical text mining (e.g. migraines to calcium channel blockers to

magnesium)

19

Why Study Machine Learning?The Time is Ripe

• Many basic effective and efficient algorithms available.

• Large amounts of on-line data available.

• Large amounts of computational resources available.

20

Related Disciplines

• Artificial Intelligence• Data Mining• Probability and Statistics• Information theory• Numerical optimization• Computational complexity theory• Control theory (adaptive)• Psychology (developmental, cognitive)• Neurobiology• Linguistics• Philosophy

ML= classification /problem solving

• The very fist step, given a problem, is to formalise the task: what would we like to learn?

• Generally speaking, we can formulate a ML problem in this way:

21

Improve on task T, with respect to performance metric P, based on experience E.

22

Defining the Learning Task: examples

T: Playing checkersP: Percentage of games won against an arbitrary opponent E: Playing practice games against itself

T: Recognizing hand-written wordsP: Percentage of words correctly classifiedE: Database of human-labeled images of handwritten words

T: Driving on four-lane highways using vision sensorsP: Average distance traveled before a human-judged errorE: A sequence of images and steering commands recorded while observing a human driver.

T: Categorize email messages as spam or legitimate.P: Percentage of email messages correctly classified.E: Database of emails, some with human-given labels

Designing a Learning System

• Choose the training experience (the set X), and how to represent it.

• Choose exactly what is too be learned, i.e. the target function C.• Choose how to represent the target function C.• Choose a learning algorithm to infer the target function from the

experience.• Find an evaluation procedure and a metric to test the learned

function

Architecture of a learning system

24

24

Environment/Experience

Learner

Knowledge

Performanceevaluation

the algorithmto learn C(x)

An hypothesish(x) for C(x)

Training set<x,C(x)>

Test set<x,?>

How good is h(x)?

25

Sample Learning Problem

• Learn to play checkers from self-play

• We will develop an approach analogous to that used in the first machine learning system developed by Arthur Samuels at IBM in 1959.

26

Training Experience

• Direct experience: Given sample input and output pairs for a useful target function C.– Checker boards labeled with the correct move, e.g.

extracted from record of expert play

• Indirect experience: Given feedback which is not direct I/O pairs for a useful target function.– Potentially arbitrary sequences of game moves and

their final game results.

• Credit/Blame Assignment Problem: How to assign credit/ blame to individual moves given only indirect feedback?

Example sequence

27

More moves here

28

Source of Training Data: possible cases

1. Provided random examples outside of the learner’s control.Negative examples available or only positive?

2. Good training examples selected by a “benevolent teacher.”An experienced player select good and nearly-good moves

3. Learner can query an oracle about the class (good or bad move) of an unlabeled example in the environment.

4. Learner can construct an arbitrary example and query an oracle for its label.

5. Learner can design and run experiments directly in the environment without any human guidance.

29

Training vs. Test Distribution

• Generally assume that the training and test examples are independently drawn from the same overall distribution of data.

– IID: Independently and identically distributed

– This simply means that we need to learn and test on “equally representative” data: e.g. not good if learn from X games and test on Y games, and is not even good if we train and test ONLY on X &Y games, there might be other gaming strategies that the learner would never see, and would fail to recognize when the system is in operation

30

Choosing a Target Function

• What function is to be learned (representing C(x)) and how will it be used by the performance system (ML algorithm choice)?

• For checkers, assume we are given a function for generating the legal moves for a given board position and want to decide the best move.– Could learn a function: ChooseMove(board, legal-moves) → best-move– Or could learn an evaluation function, V(board) → R, that

gives each board position a score for how favorable it is. V can be used to pick a move by applying each legal move, scoring the resulting board position, and choosing the move that results in the highest scoring board position.

31

Ideal Definition of V(b)

• If b is a final winning board, then V(b) = 100• If b is a final losing board, then V(b) = –100• If b is a final draw board, then V(b) = 0• Otherwise, then V(b) = V(b´), where b´ is the

highest scoring final board position that is achieved starting from b and playing optimally until the end of the game (assuming the opponent plays optimally as well).

32

Approximating V(b)

• Computing V(b) is intractable since it involves searching the complete exponential game tree.

• Therefore, this definition is said to be non-operational.

• An operational definition can be computed in reasonable (polynomial) time.

• Need to learn an operational approximation to the ideal evaluation function.

33

Representing the Target Function

• Target function can be represented in many ways: lookup table, symbolic rules, numerical function, neural network (a graph).

• There is a trade-off between the expressiveness of a representation and the ease of learning.

• The more expressive a representation, the better it will be at approximating an arbitrary function; however, the more examples will be needed to learn an accurate function.

Example (generic)

34

Only two examples are sufficient to perfectly learn a linear function, many examples are needed to approximate a spline

35

Linear Function for Representing V(b)

• In checkers, use a linear approximation of the evaluation function.

– bp(b): number of black pieces on board b

– rp(b): number of red pieces on board b

– bk(b): number of black kings on board b

– rk(b): number of red kings on board b

– bt(b): number of black pieces threatened (i.e. which can be immediately taken by red on its next turn)

– rt(b): number of red pieces threatened

)()()()()()()( 6543210 brtwbbtwbrkwbbkwbrpwbbpwwbV ⋅+⋅+⋅+⋅+⋅+⋅+=)

Learning problem: need to estimate the wi values

Example

bp(b): number of black pieces on board b =16

rp(b): number of red pieces on board b = 16

bk(b): number of black kings on board b = 1

rk(b): number of red kings on board b = 1

bt(b): number of black pieces threatened (i.e. which can be immediately taken by red on its next turn) =0

rt(b): number of red pieces threatened = 0

36

“Sicilian Opening”“Sicilian Opening”

37

How do we learn?

• Direct supervision may be available for the target function, for a set of points in V(b).– < <bp=3,rp=0,bk=1,rk=0,bt=0,rt=0>, 100>

(win for black)

• With indirect feedback, training values can be estimated using temporal difference learning (used in reinforcement learning where supervision is delayed reward, more on that later in this course).

38

Temporal Difference Learning

• Estimate training values for intermediate (non-terminal) board positions by the estimated value of their successor in an actual game trace.

where successor(b) is the next board position where it is the program’s move in actual play.

• Values towards the end of the game are initially more accurate and continued training slowly “backs up” accurate values to earlier board positions.

))successor(()( bVbVtrain

)=

Example: a checkmate sequence

39

The intuition is that the “value” of a move depends on what happens after. We know the value of the last move (100, -100 or 0) and from that, we “backtrack” trough the sequence of moves assigning weight

The intuition is that the “value” of a move depends on what happens after. We know the value of the last move (100, -100 or 0) and from that, we “backtrack” trough the sequence of moves assigning weight

40

Least Mean Squares (LMS) Algorithm

• A gradient descent algorithm that incrementally updates the weights of a linear function in an attempt to minimize the mean squared error

Until error >ε:

For each training example b do :

1) Compute the absolute error :

2) For each board feature, fi, update its weight, wi :

for some small constant (learning rate) c (e.g. 0,1)

)()()( bVbVberror train

)−=

)(berrorfcww iii ⋅⋅+=

41

LMS Discussion

• Intuitively, LMS executes the following rules:– If the output for an example is correct, make no change.

– If the output is too high, lower the weights proportional to the values of their corresponding features, so the overall output decreases

– If the output is too low, increase the weights proportional to the values of their corresponding features, so the overall output increases.

• Under the proper weak assumptions, LMS can be proven to eventually converge to a set of weights that minimizes the mean squared error.

42

Lessons Learned about Learning

• Learning can be viewed as using direct or indirect experience to approximate a chosen target function.

• Function approximation can be viewed as a search through a space of hypotheses (representations of functions) for one that best fits a set of training data.

• Different learning methods assume different hypothesis spaces (representation languages) and/or employ different search techniques.

43

Various Representations for the Objective/target function C

• Numerical functions– Linear regression– Neural networks– Support vector machines

• Symbolic functions– Decision trees– Rules in propositional logic– Rules in first-order predicate logic

• Instance-based functions– Nearest-neighbor– Case-based

• Probabilistic Graphical Models– Naïve Bayes– Bayesian networks– Hidden-Markov Models (HMMs)– Probabilistic Context Free Grammars (PCFGs)– Markov networks

44

Various Search Algorithms

• Gradient descent– Perceptron– Backpropagation

• Dynamic Programming– HMM Learning– PCFG Learning

• Divide and Conquer– Decision tree induction– Rule learning

• Evolutionary Computation– Genetic Algorithms (GAs)– Genetic Programming (GP)– Neuro-evolution

45

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)

46

History of Machine Learning

• 1950s– Samuel’s checker player– Selfridge’s Pandemonium

• 1960s: – Neural networks: Perceptron– Pattern recognition – Learning in the limit theory– Minsky and Papert prove limitations of Perceptron

• 1970s: – Symbolic concept induction– Winston’s arch learner– Expert systems and the knowledge acquisition bottleneck– Quinlan’s ID3– Michalski’s AQ and soybean diagnosis– Scientific discovery with BACON– Mathematical discovery with AM

47

History of Machine Learning (cont.)

• 1980s:– Advanced decision tree and rule learning– Explanation-based Learning (EBL)– Learning and planning and problem solving– Utility problem– Analogy– Cognitive architectures– Resurgence of neural networks (connectionism, backpropagation)– Valiant’s PAC Learning Theory– Focus on experimental methodology

• 1990s– Data mining– Adaptive software agents and web applications– Text learning– Reinforcement learning (RL)– Inductive Logic Programming (ILP)– Ensembles: Bagging, Boosting, and Stacking– Bayes Net learning

48

History of Machine Learning (cont.)

• 2000s– Support vector machines– Kernel methods– Graphical models– Statistical relational learning– Transfer learning– Sequence labeling– Collective classification and structured outputs– Computer Systems Applications

• Compilers• Debugging• Graphics• Security (intrusion, virus, and worm detection)

– E mail management– Personalized assistants that learn– Learning in robotics and vision

Suggested reading for final exam

• Learning to Play Board Games using

Temporal Difference Methods, Marco A. Wiering, Jan Peter Patist and Henk Mannen, Institute of information and computing sciences, utrecht university technical report UU-CS-2005-048 www.cs.uu.nl

49