Introduction to machine learning
Three part lecture given for the PASCAL Artificial Intelligence Bootcamp, 2011. Video lectures available online, also code and data for the speech classification example.
Courses I am teaching or have taught previously:
- MCS7217 Pattern Recognition
- MCS7224 Computer Vision
- MCS7118 Advanced Programming
- MCS7116 Graph Theory
- CSC1201 Computational Mathematics II
- CSC2100 Data Structures and Algorithms
- MCS9102 Trends in Computer Science
- MCS9100 Philosophy of Computing
Most of the notes, assigmnents and reading material can be found on the Makerere University E-Learning Environment.
Graph Theory files
(Gnucleus peer network; human neuron connections; Tokyo subway map)
This is a short course introducing the basic concepts in graph theory, with an emphasis on algorithms and practical techniques for solving combinatorial problems.
Outline lecture notes
Week 1 notes: Introduction to graph theory
Week 2 notes: Trees, minimum spanning trees
Week 3 notes: Connectivity
Week 4 notes: Euler tours
Week 5 notes: Matchings and coverings
Week 6 notes: Colourings
Week 7 notes: Directed graphs
Week 8 notes: Network flow
Week 9 notes: Message passing in graphs
Practical files (requiring Python/Matplotlib/NetworkX):
Network flow example: flow.py
Matching example: matching.py
List of pairs for connectivity practical: pairs.txt
Shortest path example: shortestpathdemo.py
Sudoku solver with brute force search: sudoku_BruteForceSearch.py
Sudoku solver with generate and test: sudoku_GandT.py
Sudoku solver with arc consistency: sudoku_Arc_Consistency .py
Philosophy of Computer Science reading list
2007 course for new computing PhD students at Makerere University (with input from Charles Fox, University of Oxford).
Models and representation
- Models in Science (Stanford Encyclopedia of Philosophy)
- What is Occam’s Razor? (class handout).
- Domingos (1998), Occam’s Two Razors.
- Harman (2003), Inductive Simplicity and the Matrix.
- Davis et al (1993), What is a knowledge representation?
- Linhares (2000), A glimpse at the metaphysics of Bongard problems.
- Bensusan (1998), God doesn’t always shave with Occam’s razor.
Minds and machines
- Turing (1950), Computing Machinery and Intelligence.
- LeCun, Malik, Russell, Sutton (2005), “Towards Human-Level AI” workshop slides.
- Chalmers (1995) Facing up to the problem of consciousness.
- Dennet (1995) Facing backwards on the problem of consciousness.
- Hut and Shepard (1996), Turning the Hard Problem Upside Down and Sideways.
- Harman (2000) Practical aspects of theoretical reasoning.
- Nilson (2004), Human level AI? Be serious!
- Nilson (2002), Considerations regarding human level AI.
- Schmidt et al (2006) Sense and Nonsense.
Causality and Bayes
- An intuitive explanation of Bayesian reasoning. (class handout).
- Brown (2002), Bayes’ theorem and the philosophy of science.
- Griffiths and Tennenbaum (2006), Statistics and the Bayesian mind.
- Pearl (2003), Statistics and Causal Inference: A Review.
- Goodman’s ‘New riddle of Induction’.
- Spirtes et al (2004), Causal Inference.