+ All Categories
Home > Documents > Pattern Classification - University of South Carolina

Pattern Classification - University of South Carolina

Date post: 28-Oct-2021
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
35
Pattern Pattern Classification Classification All materials in these slides were taken All materials in these slides were taken from from Pattern Classification (2nd ed) by R. O. Pattern Classification (2nd ed) by R. O. Duda Duda , P. E. Hart and D. G. Stork, John , P. E. Hart and D. G. Stork, John Wiley & Sons, 2000 Wiley & Sons, 2000 with the permission of the authors and with the permission of the authors and the publisher the publisher
Transcript
Page 1: Pattern Classification - University of South Carolina

Pattern Pattern ClassificationClassification

All materials in these slides were taken All materials in these slides were taken from from Pattern Classification (2nd ed) by R. O. Pattern Classification (2nd ed) by R. O. DudaDuda, P. E. Hart and D. G. Stork, John , P. E. Hart and D. G. Stork, John Wiley & Sons, 2000Wiley & Sons, 2000with the permission of the authors and with the permission of the authors and the publisherthe publisher

Page 2: Pattern Classification - University of South Carolina

Chapter 6: Multilayer Neural Networks Chapter 6: Multilayer Neural Networks (Sections 6.1(Sections 6.1--6.3)6.3)

• Introduction

• Feedforward Operation and Classification

• Backpropagation Algorithm

Page 3: Pattern Classification - University of South Carolina

Pattern Classification, Chapter 6

2

IntroductionIntroduction

• We’ve already seen NNs in previous chapters:

Generic multicategory classifier from Chapt 2.

Page 4: Pattern Classification - University of South Carolina

Pattern Classification, Chapter 6

3

IntroductionIntroduction

• Probabilistic Neural Network and RCE network in Chapter 4:

Page 5: Pattern Classification - University of South Carolina

Pattern Classification, Chapter 6

4

IntroductionIntroduction

• Linear Classifier schema in Chapter 5

Page 6: Pattern Classification - University of South Carolina

Pattern Classification, Chapter 6

5

IntroductionIntroduction

• Goal: Classify objects by learning nonlinearity

• There are many problems for which linear discriminants are insufficient for minimum error

• In previous methods, the central difficulty was the choice of the appropriate nonlinear functions

• A “brute” approach might be to select a complete basis set such as all polynomials; such a classifier would require too many parameters to be determined from a limited number of training samples

Page 7: Pattern Classification - University of South Carolina

Pattern Classification, Chapter 6

6

• There is no automatic method for determining the nonlinearities when no information is provided to the classifier

• In using the multilayer Neural Networks, the form of the nonlinearity is learned from the training data

Page 8: Pattern Classification - University of South Carolina

Pattern Classification, Chapter 6

7

FeedforwardFeedforward Operation and Operation and ClassificationClassification

• A three-layer neural network consists of an input layer, a hidden layer and an output layer interconnected by modifiable weights represented by links between layers

Page 9: Pattern Classification - University of South Carolina

Pattern Classification, Chapter 6

8

Page 10: Pattern Classification - University of South Carolina

Pattern Classification, Chapter 6

9

Page 11: Pattern Classification - University of South Carolina

Pattern Classification, Chapter 6

10

• A single “bias unit” is connected to each unit other than the input units

• Net activation:

where the subscript i indexes units in the input layer, j in the hidden; wji denotes the input-to-hidden layer weights at the hidden unit j. (In neurobiology, such weights or connections are called “synapses”)

• Each hidden unit emits an output that is a nonlinear function of its activation, that is: yj = f(netj)

∑ ∑= =

≡=+=d

1i

d

0i

tjjii0jjiij ,x.wwxwwxnet

Page 12: Pattern Classification - University of South Carolina

Pattern Classification, Chapter 6

11Figure 6.1 shows a simple threshold function

• The function f(.) is also called the activation function or “nonlinearity” of a unit. There are more general activation functions with desirables properties

• Each output unit similarly computes its net activation based on the hidden unit signals as:

where the subscript k indexes units in the ouputlayer and nH denotes the number of hidden units

⎩⎨⎧

<−≥

≡=0net if 1

0net if 1)netsgn()net(f

∑ ∑= =

==+=H Hn

1j

n

0j

tkkjj0kkjjk ,y.wwywwynet

Page 13: Pattern Classification - University of South Carolina

Pattern Classification, Chapter 6

12

• More than one output are referred zk. An output unit computes the nonlinear function of its net, emitting

zk = f(netk)

• In the case of c outputs (classes), we can view the network as computing c discriminants functions zk = gk(x) and classify the input x according to the largest discriminant function gk(x) ∀ k = 1, …, c

Page 14: Pattern Classification - University of South Carolina

Pattern Classification, Chapter 6

13

• The 3-layer network with the weights listed in fig. 6.1 solves the XOR problem

Page 15: Pattern Classification - University of South Carolina

Pattern Classification, Chapter 6

14• The hidden unit y1 computes the boundary:

≥ 0 ⇒ y1 = +1x1 + x2 + 0.5 = 0

< 0 ⇒ y1 = -1

• The hidden unit y2 computes the boundary:≤ 0 ⇒ y2 = +1

x1 + x2 -1.5 = 0< 0 ⇒ y2 = -1

• The final output unit emits z1 = +1 ⇔ y1 = +1 and y2 = +1zk = y1 AND NOT y2

= (x1 OR x2) AND NOT (x1 AND x2) = x1 XOR x2

which provides the nonlinear decision of fig. 6.1

Page 16: Pattern Classification - University of South Carolina

Pattern Classification, Chapter 6

15• General Feedforward Operation – case of c output units

• Hidden units enable us to express more complicated nonlinear functions and thus extend the classification

• The activation function does not have to be a sign function, it is often required to be continuous and differentiable

• We can allow the activation in the output layer to be different from the activation function in the hidden layer or have different activation for each individual unit

• We assume for now that all activation functions to be identical

c)1,...,(k

(1) wwxwfwfz)x(gHn

1j0k

d

1i0jijikjkk

=

⎟⎟⎠

⎞⎜⎜⎝

⎛+⎟⎟

⎞⎜⎜⎝

⎛+=≡ ∑ ∑

= =

Page 17: Pattern Classification - University of South Carolina

Pattern Classification, Chapter 6

16

• Expressive Power of multi-layer Networks

Question: Can every decision be implemented by a three-layer network described by equation (1) ?

Answer: Yes (due to A. Kolmogorov)“Any continuous function from input to output can be implemented in a three-layer net, given sufficient number of hidden units nH, proper nonlinearities, and weights.”

for properly chosen functions Ξj and ψij

( ) )2];1,0[(Ix )()(12

1

≥=∈∀ΣΞ= ∑+

=

nIxxg nn

jiijj ψ

Page 18: Pattern Classification - University of South Carolina

Pattern Classification, Chapter 6

17

• Each of the 2n+1 hidden units j takes as input a sum of d nonlinear functions, one for each input feature xi

• Each hidden unit emits a nonlinear function Ξj of its total input

• The output unit emits the sum of the contributions of the hidden units

Unfortunately: Kolmogorov’s theorem tells us very little about how to find the nonlinear functions based on data; this is the central problem in network-based pattern recognition Ξj?

)2];1,0[(Ix )()( n12

1 1

≥=∈∀⎟⎠

⎞⎜⎝

⎛Ξ= ∑ ∑

+

= =

nIxxgn

j

d

iiijj ψ

Page 19: Pattern Classification - University of South Carolina

Pattern Classification, Chapter 6

18

Page 20: Pattern Classification - University of South Carolina

Pattern Classification, Chapter 6

19

• Any function from input to output can be implemented as a three-layer neural network

• These results are of greater theoretical interest than practical, since the construction of such a network requires the nonlinear functions and the weight values which are unknown!

Page 21: Pattern Classification - University of South Carolina

Pattern Classification, Chapter 6

20

Page 22: Pattern Classification - University of South Carolina

Pattern Classification, Chapter 6

21

• Our goal now is to set the interconnection weights based on the training patterns and the desired outputs

• In a three-layer network, it is a straightforward matter to understand how the output, and thus the error, depend on the hidden-to-output layer weights

• The power of backpropagation is that it enables us to compute an effective error for each hidden unit, and thus derive a learning rule for the input-to-hidden weights, this is known as:

The credit assignment problem

Backpropagation Algorithm

Page 23: Pattern Classification - University of South Carolina

Pattern Classification, Chapter 6

22

• Networks have two modes of operation:

• FeedforwardThe feedforward operations consists of presenting a pattern to the input units and passing (or feeding) the signals through the network in order to get outputs units (no cycles!)

• LearningThe supervised learning consists of presenting an input pattern and modifying the network parameters (weights) to reduce distances between the computed output and the desired output

Page 24: Pattern Classification - University of South Carolina

Pattern Classification, Chapter 6

23

Page 25: Pattern Classification - University of South Carolina

Pattern Classification, Chapter 6

24

• Network Learning

• Let tk be the k-th target (or desired) output and zk be the k-th computed output with k = 1, …, c and w represents all the weights of the network

• The training error:

• The backpropagation learning rule is based on gradient descent• The weights are initialized with pseudo-random values and

are changed in a direction that will reduce the error:

∑=

−=−=c

1k

22kk zt

21)zt(

21)w(J

wJw

∂∂

−= ηΔ

Page 26: Pattern Classification - University of South Carolina

Pattern Classification, Chapter 6

25where η is the learning rate which indicates the relative size of the change in weights

w(m +1) = w(m) + Δw(m)at iteration m (m also indexes the pattern)

• Error on the hidden–to-output weights

where the sensitivity of unit k is defined as:

and describes how the overall error changes with the activation of the unit’s net

kj

kk

kj

k

kkj wnet

wnet.

netJ

wJ

∂∂

−=∂∂

∂∂

=∂∂ δ

kk net

J∂

∂−=δ

)net('f)zt(netz.

zJ

netJ

kkkk

k

kkk −=

∂∂

∂∂

−=∂

∂−=δ

Page 27: Pattern Classification - University of South Carolina

Pattern Classification, Chapter 6

26

Since netk = wkt.y therefore:

Conclusion: the weight update (or learning rule) for the hidden-to-output weights is:

Δwkj = ηδkyj = η(tk – zk) f’ (netk)yj

• Error on the input-to-hidden units

jkj

k ywnet

=∂∂

ji

j

j

j

jji wnet

.nety

.yJ

wJ

∂∂

=∂∂

Page 28: Pattern Classification - University of South Carolina

Pattern Classification, Chapter 6

27However,

Similarly as in the preceding case, we define the sensitivity for a hidden unit:

which means that:“The sensitivity at a hidden unit is simply the sum of the individual sensitivities at the output units weighted by the hidden-to-output weights wkj; all multipled by f’(netj)”

Conclusion: The learning rule for the input-to-hidden weights is:

∑ ∑

∑∑

= =

==

−−=∂

∂∂∂

−−=

∂∂

−−=⎥⎦

⎤⎢⎣

⎡−

∂∂

=∂∂

c

1k

c

1kkjkkk

j

k

k

kkk

c

1k j

kkk

2k

c

1kk

jj

w)net('f)zt(y

net.netz)zt(

yz)zt()zt(

21

yyJ

∑=

≡c

1kkkjjj w)net('f δδ

[ ] ijkkjjiji x)net('f wxwj

444 3444 21δ

δΣηδηΔ ==

Page 29: Pattern Classification - University of South Carolina

Pattern Classification, Chapter 6

28

• Starting with a pseudo-random weight configuration, the stochastic backpropagation algorithm can be written as:

Begin initialize nH; w, criterion θ, η, m←0do m ← m + 1

xm ← randomly chosen patternwji ← wji + ηδjxi; wkj ← wkj + ηδkyj

until ||∇J(w)|| < θreturn w

End

Page 30: Pattern Classification - University of South Carolina

Pattern Classification, Chapter 6

29

• Batch backpropagation

Begin initialize nH; w, criterion θ, η, r←0do r ← r + 1 (epoch counter)

m ← 0 ;Δ wji ← 0; Δwkj ← 0; do m ← m + 1

xm ← select patternΔ wji ← Δ wji + ηδjxi; Δwkj ← Δwkj + ηδkyj

until m = nwji ← wji + Δ wji; wkj ← wkj + Δwkj

until ||∇J(w)|| < θreturn w

End

Page 31: Pattern Classification - University of South Carolina

Pattern Classification, Chapter 6

30• Stopping criterion

• The algorithm terminates when the change in the criterion function J(w) is smaller than some preset value θ

• There are other stopping criteria that lead to better performance than this one

• So far, we have considered the error on a single pattern, but wewant to consider an error defined over the entirety of patterns in the training set

• The total training error is the sum over the errors of n individual patterns

(1) JJn

1pp∑

=

=

Page 32: Pattern Classification - University of South Carolina

Pattern Classification, Chapter 6

31

• Stopping criterion (cont.)

• A weight update may reduce the error on the single pattern being presented but can increase the error on the full training set

• However, given a large number of such individual updates, the total error of equation (1) decreases

Page 33: Pattern Classification - University of South Carolina

Pattern Classification, Chapter 6

32

• Learning Curves

• Before training starts, the error on the training set is high; through the learning process, the error becomes smaller

• The error per pattern depends on the amount of training data andthe expressive power (such as the number of weights) in the network

• The average error on an independent test set is always higher than on the training set, and it can decrease as well as increase

• A validation set is used in order to decide when to stop training ; we do not want to overfit the network and decrease the power of the classifier generalization

“we stop training at a minimum of the error on the validation set”

Page 34: Pattern Classification - University of South Carolina

Pattern Classification, Chapter 6

33

Page 35: Pattern Classification - University of South Carolina

Pattern Classification, Chapter 6

34

EXERCISES

• Exercise #1.Explain why a MLP (multilayer perceptron) does not learn if the initial weights and biases are all zeros

• Exercise #2. (#2 p. 344)


Recommended