Top Banner
1 Maths Skills (MTCS) G5071 Kingsley Sage Room 5C16, Pevensey III [email protected] © University of Sussex 2006 Lecture 5 Lecture 5 Introduction to matrices and vectors So what is “the matrix”? Neo, Trinity and Agent Smith aside, a matrix or a vector is simply a way of representing a structured collection of numbers. Vectors (1D) can be used to represent sound samples, arrays and lists of things, datasets … Matrices (2D) can be used to represent images, datasets, maths problems such as sets of simultaneous equations (remember them?) and the parameters of Artificial Neural Networks ANNs …
12

Maths Skills (MTCS) G5071users.sussex.ac.uk/~khs20/mtcs/pdfs/Lecture5.pdf · 2 Matrices and ANNs For example, a linear unit and a network layer were written:!! N i N i ywixiyjwjixi

Apr 21, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Maths Skills (MTCS) G5071users.sussex.ac.uk/~khs20/mtcs/pdfs/Lecture5.pdf · 2 Matrices and ANNs For example, a linear unit and a network layer were written:!! N i N i ywixiyjwjixi

1

Maths Skills (MTCS) G5071

Kingsley SageRoom 5C16, Pevensey [email protected]

© University of Sussex 2006

Lecture 5

Lecture 5

Introduction to matrices and vectors– So what is “the matrix”?– Neo, Trinity and Agent Smith aside, a matrix or a

vector is simply a way of representing a structuredcollection of numbers.

– Vectors (1D) can be used to represent soundsamples, arrays and lists of things, datasets …

– Matrices (2D) can be used to represent images,datasets, maths problems such as sets ofsimultaneous equations (remember them?) and theparameters of Artificial Neural Networks ANNs …

Page 2: Maths Skills (MTCS) G5071users.sussex.ac.uk/~khs20/mtcs/pdfs/Lecture5.pdf · 2 Matrices and ANNs For example, a linear unit and a network layer were written:!! N i N i ywixiyjwjixi

2

Matrices and ANNs

For example, a linear unit and a network layer werewritten:

! != =

==

N

i

N

i

ijijii xwyxwy

1 1

and

These can be re-written to represent each set ofquantities by a single symbol – each such collectionis called a matrix or a vector …

Matrices and ANNs

For example, the bold character y stands for y1,y2 up to yN, allput together into a single vector (1D entity)

w stands for all weights put together into a matrix (2D entity) x stands for all inputs put together into a vector (1D entity) That is, we can write y=wx to mean exactly the same thing as

! != =

==

N

i

N

i

ijijii xwyxwy

1 1

and

Page 3: Maths Skills (MTCS) G5071users.sussex.ac.uk/~khs20/mtcs/pdfs/Lecture5.pdf · 2 Matrices and ANNs For example, a linear unit and a network layer were written:!! N i N i ywixiyjwjixi

3

Matrix-Vector multiplication

The Σ formula from the previous slide defines the operation ofmultiplying a matrix and a vector and here a single layer linearnetwork provides an example application. In the case of anetwork with 3 output units and 4 inputs, we can draw up a tableof weights like this:

-0.80.3-2.51.2Unit 3

-4.21.16.7-0.4Unit 2

2.3-0.52.03.2Unit 1

Input 4Input 3Input 2Input 1`

Here, for example, -0.4 is the weight on the connection frominput 1 to unit 2 for this network i.e. w21 = -0.4

Matrix-Vector multiplication

We can summarise this process as:

!!!

"

#

$$$

%

&

=

!!!

"

#

$$$

%

&

=

3

2

1

34333231

24232221

14131211

and

y

y

y

wwww

wwww

wwww

yw

The convention for writing down the elements of amatrix in a table is the one adopted here i.e. firstsubscript says which row of the table an element isin, and the second subscript says which column it isin.

Page 4: Maths Skills (MTCS) G5071users.sussex.ac.uk/~khs20/mtcs/pdfs/Lecture5.pdf · 2 Matrices and ANNs For example, a linear unit and a network layer were written:!! N i N i ywixiyjwjixi

4

Doing the calculation

We can write out the matrix calculation:

x

x

x

x

4

3

2

1

34333231

24232221

14131211

3

2

1

!!!!!

"

#

$$$$$

%

&

!!!

"

#

$$$

%

&

=

!!!

"

#

$$$

%

&

wwww

wwww

wwww

y

y

y

The rule for working out yi is to take the elements ofthe i’th row of w and multiply each one by thecorresponding element of the only column of x, andadd them up.

Doing the calculation

You can also represent this calculation graphically:

x1

x2

x3

x4

y1

y2

y3

xyw

Page 5: Maths Skills (MTCS) G5071users.sussex.ac.uk/~khs20/mtcs/pdfs/Lecture5.pdf · 2 Matrices and ANNs For example, a linear unit and a network layer were written:!! N i N i ywixiyjwjixi

5

Doing the calculation

You should be able to draw and understand thediagram for the 3-unit, 4-input network, writethe weights from the previous table in the rightplaces, invent some input values and work outsome output values.

You should get the same result from using thediagram, using the Σ formula or MATLAB.

Next session we shall be using MATLAB to dothis.

Matrix-matrix multiplication

Suppose the single layer network can be applied to alot of different input vectors, and we want to specifywhich ones we are dealing with:

!=

=

N

i

ikyijk xwy

1

The subscript k is used to specify which of the set ofinputs we are referring to. Matrix notation handles thisextension very easily – objects x and y must now beproper matrices rather than vectors

Page 6: Maths Skills (MTCS) G5071users.sussex.ac.uk/~khs20/mtcs/pdfs/Lecture5.pdf · 2 Matrices and ANNs For example, a linear unit and a network layer were written:!! N i N i ywixiyjwjixi

6

Matrix-matrix multiplication

The previous equation defined matrix-matrix multiplication – wecan still write y=wx.

Each column of the x matrix refers to a different input example,each row of x refers to a different input unit i in the network.

Each column of y refers to an output from a particular inputexample, each row refers to a different output unit in the network.

Assembling the output matrix involves separate calculations usingeach column of the input matrix as a vector.

!=

=

N

i

ikyijk xwy

1

Some simple matrix operations

Matrix addition just means adding each element in onematrix to the corresponding element in another:

ijijij yxz +=+= then If yxz

Can you think of applications for these when matricesare used to represent images?

numberscalar ordinary an is where then , If kkxzk ijij == xz

Matrix subtraction is similar and scalar multiplication ofa matrix just means multiplying each element by thesame number:

Page 7: Maths Skills (MTCS) G5071users.sussex.ac.uk/~khs20/mtcs/pdfs/Lecture5.pdf · 2 Matrices and ANNs For example, a linear unit and a network layer were written:!! N i N i ywixiyjwjixi

7

Some simple matrix operations

Sometimes it’s useful to swap the order of thesubscripts in a matrix called transposing it, and anotherimportant operation is inverse:

ywx1!

=

This is used to solve the problem – when computationis possible – to find the inputs given the outputs but ifthere are more inputs than outputs then the system isunderdetermined, and if there are more outputs thaninputs then the system is overconstrained.

Significance of the matrix inverse

We can use the matrix inverse to find a solution for aset of linear simultaneous equations:

1843

1332

21

21

=+

=+

xx

xx

We can write this problem as:

!"

#$%

&=!

"

#$%

&!"

#$%

&

18

13

43

32

2

1

x

x

Page 8: Maths Skills (MTCS) G5071users.sussex.ac.uk/~khs20/mtcs/pdfs/Lecture5.pdf · 2 Matrices and ANNs For example, a linear unit and a network layer were written:!! N i N i ywixiyjwjixi

8

Significance of the matrix inverse

Any matrix multiplied by itself gives a unity matrix:

!

2 3

3 4

"

# $

%

& '

(12 3

3 4

"

# $

%

& ' x1

x2

"

# $

%

& ' =

2 3

3 4

"

# $

%

& '

(113

18

"

# $ %

& '

We can now multiply each side by the matrix inverse ofthe square matrix:

!

1 0

0 1

"

# $

%

& ' x1

x2

"

# $

%

& ' =

2 3

3 4

"

# $

%

& '

(113

18

"

# $ %

& '

Significance of the matrix inverse

We can now multiply each side by the matrix inverse ofthe square matrix:

!

x1

x2

"

# $

%

& ' =

2 3

3 4

"

# $

%

& '

(113

18

"

# $ %

& '

!"

#$%

&=!

"

#$%

&

3

2

2

1

x

x Checking …(2*2) + (3*3) = 13 yes!!(3*2) + (4*3) = 18 yes!!

Page 9: Maths Skills (MTCS) G5071users.sussex.ac.uk/~khs20/mtcs/pdfs/Lecture5.pdf · 2 Matrices and ANNs For example, a linear unit and a network layer were written:!! N i N i ywixiyjwjixi

9

Position vectors

The idea of representing a point in space using co-ordinates x,y is probably familiar, for example:

1 2 3 4-1-2-4 -3

1

2

-1

-2

-3

-4

a=!"

#$%

&

2

1

b=!"

#$%

&

' 4

2

!"

#$%

&

'1

3

!"

#$%

&'

1

4

!"

#$%

&

'

'

2

3

It is straightforward to extend this idea to 3 dimensionswith x,y,z

Position vectors

Adding and subtracting vectors is also quitestraightforward:

!"

#$%

&

'=!

"

#$%

&

'+!"

#$%

&=+

2

3

4

2

2

1ba

A classical application of this is in navigation.

Page 10: Maths Skills (MTCS) G5071users.sussex.ac.uk/~khs20/mtcs/pdfs/Lecture5.pdf · 2 Matrices and ANNs For example, a linear unit and a network layer were written:!! N i N i ywixiyjwjixi

10

Lengths and distances of vectors

How far is the point indicated by the vector a from the origin? Applying Pythagoras’ Theorem to the triangle gives the length of

the hypotenuse (the sloping side) the value of √5. In general, for 2 dimensions the length is:

22

21 aa +

For multiple dimensions, the length generalises to:

!=

N

i

iy

1

2

Lengths and distances of vectors

So, how far apart are the points a and b in the originalposition vector diagram?

222

211 )()( abab !+!

Note that the components are subtracted first, thenthe differences are squared.

The general formula for the distance between x and yis just ||x-y|| and should remind of the sum of squarescalculation that we used to calculate our network errorE for the ANN learning rules

Page 11: Maths Skills (MTCS) G5071users.sussex.ac.uk/~khs20/mtcs/pdfs/Lecture5.pdf · 2 Matrices and ANNs For example, a linear unit and a network layer were written:!! N i N i ywixiyjwjixi

11

Multiplying a vector by a matrix

What does this do to a? For a start, putting p=q is the same asmultiplying by a scalar so this just stretches a out by a factor p.

The numbers p and q are sometimes called expansion factors,and can squeeze up or stretch out more along one axis oranother.

!"

#$%

&=!

"

#$%

&!"

#$%

&

2

1

2

1

0

0

qa

pa

a

a

q

p

Multiplying a by a matrix that only has non-zero elements on itstop left to bottom right diagonal called a diagonal matrix …

Multiplying a vector by a matrix

This application gives approximately a rotation – lots of uses formatrices such as these in computer graphics and video games.

1 2 3 4-1-2-4 -3

1

2

-1

-2-3

-4

a=!"

#$%

&

2

1

b=!"

#$%

&

' 4

2

!"

#$%

&

'1

3

!"

#$%

&'

1

4

!"

#$%

&

'

'

2

3

)4.1 ,2.4()4 ,2(

)4.1 ,8.2()1 ,3(

)5.3 ,7.0()2 ,3(

)1.2 ,5.3()1 ,4(

!"!

"!

!!"!!

!!"!

!"

#$%

& '

7.07.0

7.07.0

Multiplying our earlier vectors by the following specific matrix:

Page 12: Maths Skills (MTCS) G5071users.sussex.ac.uk/~khs20/mtcs/pdfs/Lecture5.pdf · 2 Matrices and ANNs For example, a linear unit and a network layer were written:!! N i N i ywixiyjwjixi

12

Next time …

More matrices and vectors– MATLAB notation– MATLAB matrix functions