Functional Programming and Intelligent Algorithms

Week 1: Your first Neural Network

(Sist oppdatert: $Date$)

Menu

Objective

During the first week, you will implement a simple, but fully functional prototype of an artificial neural network in Haskell.

Reading

These are primary recommendations. You can find equivalent material in other books if you prefer.

  1. Stephen Marsland, Chapter 1-3
  2. Simon Thompson, Chapter 1-8

We cannot expect to learn all the details of the above chapters in the first week. We will present fundamental key principles in lectures, explore the hands-on application in tutorials and exercises, and then return to the more comprehensive theory later. Firstly, you need to use the textbooks as references during the tutorials. Secondly, you should start reading the rest of the theory when you have time, and do it in stages. Focus on theory which is related to things you already know or problems you have explored during the exercises.

Schedule

Time Topic Reading
Tuesday 3 February
8.15-9.00 Introductory Lecture Thompson Chapter 1-3
9.00-12.00Tutorial 1: Getting Started
(incl. lunch break)
12.15-13.30Recap/discussion of Tutorial 1
Lecture: Recursion and problem solving Thompson Chapter 4, 10.2
13.30-late Tutorial 2 Using functions and recursion
Wednesday 4 February
8.15-9.00Recap/discussion of Tutorial 2
Lecture: Lists and tuples Thompson Chapter 5
9.00-12.00Tutorial 3 (incl. lunch break)
12.15-13.30Recap/discussion of Tutorial 3
Lecture: List processing Thompson Chapter 6
13.30-late Tutorial 3 continued and optionally Tutorial 3bis
Thursday 5 February
8.15-9.00Recap/discussion of Tutorial 4
Lecture: Classification and the Perceptron Marsland Chapter 1-3
9.00-12.00Tutorial 4 (incl. lunch break)
12.15-13.30Recap/discussion of Tutorial 4
Lecture: I/O and compiled programs Thompson Chapter 8
13.30-late Tutorial 5
Friday 6 February
8.15-9.00Recap/discussion of Tutorial 5
Lecture: Testing and Error Estimation Marsland Section 2.2
9.00-12.00Tutorial 6 (incl. lunch break)
12.15-13.30Recap/discussion of Tutorial 6
Lecture: Linear and non-linear classifiers Marsland Chapter 3.4-3.5 and
introduction to Chapter 4
13.30-late Tutorial 7
Monday 9 February
8.15-10.00Summary of the First Week
10.15-late Exercises