120 likes | 134 Views
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
E N D
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 neuromodulatorsin 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 school-level, 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