Lecture notes
Download
Report
Transcript Lecture notes
Formal Computational Skills
Introduction
My research areas:
Neuroethology: visual learning (mainly homing) in insects
combining behavioural experiments with modelling. Also
involves computer vision, especially object recognition
Diffusible neuromodulators in real brains and robots.
Mathematical modelling of diffusion; development and analysis
of the GasNet (for autonomous robotics).
Evolutionary robotics, evolution as optimisation, neural
Networks
Also do bits of pattern recognition/data mining and image
processing
Course Aims
Not everyone has the necessary mathematical tools or
experience to engage fully with MSc courses
This course will provide mathematical background needed to
understand several subjects in later courses.
In particular: Neural Networks and Computational
Neuroscience
Also, useful for building simulations, analysing neural networks,
optimisation (by GAs or other) and basic statistics
Why called Formal Computational Skills? Don’t know
Learning Outcomes
By the end of the course you will be able to:
• Use matrices to perform neural network operations [NNs]
• Use gradient descent for function optimisation [NNs, ALife,
GAs/artificial evolution]
• Construct and analyse 1st order differential equations
[Comp Neuro, ALife]
• Calculate the entropy of a random variable [NNs, Comp
Neuro and just in general]
• Use the matlab programming language [Useful generally]
Stealth Outcomes: Pass on enjoyment of maths by showing
interesting maths problems and highlighting ‘deeper’ aspects
Also aim to demystify ‘scary’ maths terminology eg entropy
What I Won’t Do
• Make you all expert mathematicians
• Prove all the mathematical theory
• Explain all of the example topics such as Neural Networks
However it is often difficult for me to gauge what to leave out
or put in
It will really really help if you tell me I am going too
fast, have left out too much detail am
incomprehensible etc etc
General Structure
• Lectures will give mathematical details/theory on a subject
• Seminars will (mainly) be practical computer classes which
reinforce theory using a topic from future courses
• Idea is to build a model and experiment with it empirically to
understand the theory and see what happens in practice
• Next week: some basics on functions
• Next 3 weeks on NNs and optimisation
• Next 3 on constructing and analysing neural models (1st
order differential equations)
• Last 1/2 on probability, statistics
Lectures/seminars will build on each other so
early weeks are introductory, containing
knowledge needed in later weeks
Topics
Lectures:
1. Functions and notation
2. Matrices and Vectors
3. Matlab (minimal lecture)
4. Differentiation
5. Numerical integration of
differential equations
6-7. Dynamical systems
analysis
7-8. Probability and
statistics
Seminars:
1. Practice with functions/notation
2. NN operations via matrices
3. Networks in matlab
4. Gradient descent
5. Integration of neuron model
6-7. CTRNN/GasNet analysis
7-8. Entropy and information
theory
Last 2 weeks(-ish) are for a mini-project
References
• Very difficult to give references as some topics are schoollevel, some undergraduate and some very specialised
• Also, maths text-books are notorious for being suited to
particular people/levels of expertise, so what I think is
excellent you might hate
• Best thing is to search for a key-word in the library and
check the short-loan books for one that suits you/your level
• Document from the course web-site has good introductory
stuff but is a little out of date regarding some topics
• Numerical Recipes in C (Press et al., 79) is excellent but
quite high level
• http://mathworld.wolfram.com/ is good for reference (many
others sites out there for particular subjects)
Organisation
There are differing mathematical abilities in the group. I will go
as slowly as I feel is necessary – LET ME KNOW IF TOO
FAST. However, you don’t have to come to the lectures. Eg
This week’s topic is functions:
• Common functions and how to visualise functions
• Equation of a straight line and linear equations
• Summation notation
• (briefly) What a polynomial is
• (V briefly) notion of ex and logarithms
DON’T come if you know these things or you will be bored. If not
sure, look at lecture material and the worksheet and see if you
can do it
You all have to complete the worksheet
Assessment
70%: weekly(-ish) worksheets handed in on subsequent weeks
30% by a mini-project handed in at the end of term
Worksheets (apart from first 2 weeks): empirically test a
mathematical topic through computer simulation
•
•
•
•
•
Aims and outcomes
Intro to the topic
Description of task
Breakdown/lead through of tasks
Questions to be answered/investigated.
Seminars will get you all to the level where you can investigate
each topic. Attendance and participation should give 50%.
Partly peer-assessed
Mini Project
Idea is to find a mathematical topic that you DON’T already
know and that will be useful in doing the course (some will be
suggested)
You then need to describe it and investigate/analyse it and so
you show you have understood it – good way is to imagine
you are explaining how it works to somebody else (me)
Marks will NOT be based on the mathematical complexity
of the topic but on demonstration of comprehension and
learning
More details later
Finally…
• Idea of the course is to help you with later subjects
• Assessments are needed as maths is often learnt by
practice
• Topics are things you WILL USE in later courses
• There is NO point in simply going through the motions
rather than working on the basics
• Time (mine and yours) would be MUCH better spent
elsewhere