Self-Organizing Map · presentation by Andreas T oscher Self-Organizing Map. Introduction...

21
Introduction Mathematical Definitions Examples Inverse Kinematics Netflix User Mapping Conclusion Self-Organizing Map presentation by Andreas T¨ oscher 19. May 2008 presentation by Andreas T¨ oscher Self-Organizing Map

Transcript of Self-Organizing Map · presentation by Andreas T oscher Self-Organizing Map. Introduction...

Page 1: Self-Organizing Map · presentation by Andreas T oscher Self-Organizing Map. Introduction Mathematical De nitions Examples Inverse Kinematics Net ix User Mapping Conclusion to move

IntroductionMathematical Definitions

ExamplesInverse Kinematics

Netflix User MappingConclusion

Self-Organizing Map

presentation by Andreas Toscher

19. May 2008

presentation by Andreas Toscher Self-Organizing Map

Page 2: Self-Organizing Map · presentation by Andreas T oscher Self-Organizing Map. Introduction Mathematical De nitions Examples Inverse Kinematics Net ix User Mapping Conclusion to move

IntroductionMathematical Definitions

ExamplesInverse Kinematics

Netflix User MappingConclusion

1 Introduction

2 Mathematical Definitions

3 Examples

4 Inverse Kinematics

5 Netflix User Mapping

6 Conclusion

presentation by Andreas Toscher Self-Organizing Map

Page 3: Self-Organizing Map · presentation by Andreas T oscher Self-Organizing Map. Introduction Mathematical De nitions Examples Inverse Kinematics Net ix User Mapping Conclusion to move

IntroductionMathematical Definitions

ExamplesInverse Kinematics

Netflix User MappingConclusion

Self-Organizing Map (SOM)

aka Kohonen Network

introduced by Teuvo Kohonen

implements a discrete nonlinear mapping

unsupervised learning

presentation by Andreas Toscher Self-Organizing Map

Page 4: Self-Organizing Map · presentation by Andreas T oscher Self-Organizing Map. Introduction Mathematical De nitions Examples Inverse Kinematics Net ix User Mapping Conclusion to move

IntroductionMathematical Definitions

ExamplesInverse Kinematics

Netflix User MappingConclusion

Mathematical Definitions

presentation by Andreas Toscher Self-Organizing Map

Page 5: Self-Organizing Map · presentation by Andreas T oscher Self-Organizing Map. Introduction Mathematical De nitions Examples Inverse Kinematics Net ix User Mapping Conclusion to move

IntroductionMathematical Definitions

ExamplesInverse Kinematics

Netflix User MappingConclusion

Structure of a SOM

presentation by Andreas Toscher Self-Organizing Map

Page 6: Self-Organizing Map · presentation by Andreas T oscher Self-Organizing Map. Introduction Mathematical De nitions Examples Inverse Kinematics Net ix User Mapping Conclusion to move

IntroductionMathematical Definitions

ExamplesInverse Kinematics

Netflix User MappingConclusion

Learning Rule

wi[t] is the weight vector of neuron i at the time t

x[t] is the input vector at time t

η[t] is the learning rate at time t

φ(i, k) is the neighbourhood function, k is the winner neuron

wi[t+ 1]← wi[t] + η[t]φ(i, k)(x[t]−wi[t]) (1)

presentation by Andreas Toscher Self-Organizing Map

Page 7: Self-Organizing Map · presentation by Andreas T oscher Self-Organizing Map. Introduction Mathematical De nitions Examples Inverse Kinematics Net ix User Mapping Conclusion to move

IntroductionMathematical Definitions

ExamplesInverse Kinematics

Netflix User MappingConclusion

Neighborhood Function φ(i, k)

is aware of the mapping

simplest choice:φ(i, k) = 1 if dist(i, k) < τφ(i, k) = 0 else

gaussian:

φ(i, k) = exp

(−dist(i, k)

2

σ2

)

presentation by Andreas Toscher Self-Organizing Map

Page 8: Self-Organizing Map · presentation by Andreas T oscher Self-Organizing Map. Introduction Mathematical De nitions Examples Inverse Kinematics Net ix User Mapping Conclusion to move

IntroductionMathematical Definitions

ExamplesInverse Kinematics

Netflix User MappingConclusion

General Tips for the Training

rescale the input (e.g. µ = 0, σ2 = 1)

decrease the learning Rate η during the training

start with a large neighbourhood for φ(i, k) and reduce itduring the training

avoid using too many neurons, in the extreme case the SOMends up in a simple one to one mapping

presentation by Andreas Toscher Self-Organizing Map

Page 9: Self-Organizing Map · presentation by Andreas T oscher Self-Organizing Map. Introduction Mathematical De nitions Examples Inverse Kinematics Net ix User Mapping Conclusion to move

IntroductionMathematical Definitions

ExamplesInverse Kinematics

Netflix User MappingConclusion

Examples

presentation by Andreas Toscher Self-Organizing Map

Page 10: Self-Organizing Map · presentation by Andreas T oscher Self-Organizing Map. Introduction Mathematical De nitions Examples Inverse Kinematics Net ix User Mapping Conclusion to move

IntroductionMathematical Definitions

ExamplesInverse Kinematics

Netflix User MappingConclusion

2D to 1D map

input: randomly drawn points from a triangular 2D region

1D Self-Organizing map

Peano Curve

presentation by Andreas Toscher Self-Organizing Map

Page 11: Self-Organizing Map · presentation by Andreas T oscher Self-Organizing Map. Introduction Mathematical De nitions Examples Inverse Kinematics Net ix User Mapping Conclusion to move

IntroductionMathematical Definitions

ExamplesInverse Kinematics

Netflix User MappingConclusion

2D to 2D map

input: randomly drawn points from a quadratic region100, 1000, 5000, 10000 epochs

presentation by Andreas Toscher Self-Organizing Map

Page 12: Self-Organizing Map · presentation by Andreas T oscher Self-Organizing Map. Introduction Mathematical De nitions Examples Inverse Kinematics Net ix User Mapping Conclusion to move

IntroductionMathematical Definitions

ExamplesInverse Kinematics

Netflix User MappingConclusion

2D Mapping with a Knot

the nice unfolding is not guaranteed

a possible solution is to start training with a bunch of randominitializations

presentation by Andreas Toscher Self-Organizing Map

Page 13: Self-Organizing Map · presentation by Andreas T oscher Self-Organizing Map. Introduction Mathematical De nitions Examples Inverse Kinematics Net ix User Mapping Conclusion to move

IntroductionMathematical Definitions

ExamplesInverse Kinematics

Netflix User MappingConclusion

Remarks:

in general 2D to 2D mappings are of no interest

examples of interesting maps:

a sphere to a planea plane in a 3D space to a 2D space

in the above examples the inner dimension of the data wasknown

if the target is too low dimensional, the SOM folds like aPeano Curve

presentation by Andreas Toscher Self-Organizing Map

Page 14: Self-Organizing Map · presentation by Andreas T oscher Self-Organizing Map. Introduction Mathematical De nitions Examples Inverse Kinematics Net ix User Mapping Conclusion to move

IntroductionMathematical Definitions

ExamplesInverse Kinematics

Netflix User MappingConclusion

Inverse Kinematics

presentation by Andreas Toscher Self-Organizing Map

Page 15: Self-Organizing Map · presentation by Andreas T oscher Self-Organizing Map. Introduction Mathematical De nitions Examples Inverse Kinematics Net ix User Mapping Conclusion to move

IntroductionMathematical Definitions

ExamplesInverse Kinematics

Netflix User MappingConclusion

Robot Arm Movement

input space: angle of the joints of the robot armtarget: x and y position of the robot armassumption: the robot arm is constructed in that way, that agiven position (x, y) is only reachable with one exact one setof angels (α, β)modified training: no winner evaluation, the winner is theneuron closest to the given (x, y) position

presentation by Andreas Toscher Self-Organizing Map

Page 16: Self-Organizing Map · presentation by Andreas T oscher Self-Organizing Map. Introduction Mathematical De nitions Examples Inverse Kinematics Net ix User Mapping Conclusion to move

IntroductionMathematical Definitions

ExamplesInverse Kinematics

Netflix User MappingConclusion

to move the robot arm from A to B, you only have tointerpolate between the weights of the neurons

presentation by Andreas Toscher Self-Organizing Map

Page 17: Self-Organizing Map · presentation by Andreas T oscher Self-Organizing Map. Introduction Mathematical De nitions Examples Inverse Kinematics Net ix User Mapping Conclusion to move

IntroductionMathematical Definitions

ExamplesInverse Kinematics

Netflix User MappingConclusion

Obstacle Avoidance

works only if the obstacle was there during the training phase

presentation by Andreas Toscher Self-Organizing Map

Page 18: Self-Organizing Map · presentation by Andreas T oscher Self-Organizing Map. Introduction Mathematical De nitions Examples Inverse Kinematics Net ix User Mapping Conclusion to move

IntroductionMathematical Definitions

ExamplesInverse Kinematics

Netflix User MappingConclusion

Netflix

500000 users

18000 movies

100 Mio ratings

user based Collaborative Filtering (aka KNN)

rui =

∑v∈N(u,i) cvurvi∑

v∈N(u,i) cvu(2)

Problems

2 arbitrary users have few common ratings, which is very badfor the correlation coefficient

the user/user correlation matrix could not be kept in mainmemory

presentation by Andreas Toscher Self-Organizing Map

Page 19: Self-Organizing Map · presentation by Andreas T oscher Self-Organizing Map. Introduction Mathematical De nitions Examples Inverse Kinematics Net ix User Mapping Conclusion to move

IntroductionMathematical Definitions

ExamplesInverse Kinematics

Netflix User MappingConclusion

rui =

∑v∈N(u,i) cvurvi∑

v∈N(u,i) cvu(3)

N(u, i) are the best K user neighbours

cvu is a correlation between users, based on the mapping

presentation by Andreas Toscher Self-Organizing Map

Page 20: Self-Organizing Map · presentation by Andreas T oscher Self-Organizing Map. Introduction Mathematical De nitions Examples Inverse Kinematics Net ix User Mapping Conclusion to move

IntroductionMathematical Definitions

ExamplesInverse Kinematics

Netflix User MappingConclusion

Conclusion

Kohonen Maps learn a mapping (usually from a high to a lowdimensional space)

the mapping can be used easily in both directions

the learning rule is simple, and can be implemented veryefficiently

the basics of Kohonen Maps are over 30 years old and havebeen used for very interesting projects

presentation by Andreas Toscher Self-Organizing Map

Page 21: Self-Organizing Map · presentation by Andreas T oscher Self-Organizing Map. Introduction Mathematical De nitions Examples Inverse Kinematics Net ix User Mapping Conclusion to move

IntroductionMathematical Definitions

ExamplesInverse Kinematics

Netflix User MappingConclusion

Thanks for your attention

References

R. Rojas, Neural Networks, Springer 1996

Scholarpedia, http://www.scholarpedia.org/article/Kohonen_network

Wikipedia,http://en.wikipedia.org/wiki/Self-organizing_map

presentation by Andreas Toscher Self-Organizing Map