SC:Knowledge Engineering
The following are last minute news you should be aware of ;-)
12/03/2012: The course starts today! The schedule has already changed to reduce overlaps
Contents
Course Aim & Organization
The course introduces the general principles of Artificial Intelligence and its applications. Two approaches to model building and knowledge representation will be presented: the traditional one, based on symbolic representation of knowledge (e.g., frames, rules, fuzzy logic, ...), and one inspired to biological models (e.g., neural networks and genetic algorithms).
Teachers
The course is composed by a blending of lectures and exercises by the course teacher and the teaching assistant.
- Matteo Matteucci: the course teacher
- Andrea Bonarini: the teaching assistant
Course Program and Schedule
Lectures will cover the following topics:
- Artificial intelligence: problems, approaches and applications
- Models for knowledge representation biologically inspired and adaptive models.
- Machine Learning: supervised methods, unsupervised methods, reinforcement learning.
- Artificial Neural Networks and Genetic Algorithms.
- Knowledge representation techniques: semantic networks, frames, objects, production rules.
- Uncertainty and approximate knowledge representation. Fuzzy systems.
- Knowledge engineering: methods to develop knowledge based systems.
- Knowledge acquisition, conceptualization and modeling.
Lectures are on:
- Monday 8:15-10:15 in room A3.8
- Tuesday 8:15-10:15 in room A4.1
A detailed schedule of the course can be found here; topics are just indicative while days and teachers are correct up to some last minute change (I will notify you by email). Please note that not all Tuesdays and Wednesdays are in!!
Date | Day | Time | Room | Teacher | Topic |
12/03/2012 | Monday | 08:15 - 10:15 | 3.8 | Matteo Matteucci | Course introduction: from artificial intelligence to natural computation |
13/03/2012 | Tuesday | 08:15 - 10:15 | 4.1 | Matteo Matteucci | Useful background: Maximum Likelihood Estimation and Gradient descent optimization |
19/03/2012 | Monday | 08:15 - 10:15 | 3.8 | Andrea Bonarini | ... |
20/03/2012 | Tuesday | 08:15 - 10:15 | 4.1 | Matteo Matteucci | Introduction to neaural networks, the biologic neuron, the perceptron model |
26/03/2012 | Monday | 08:15 - 10:15 | 3.8 | Andrea Bonarini | ... |
27/03/2012 | Tuesday | 08:15 - 10:15 | 4.1 | Matteo Matteucci | Hebbian learning, Perceptron learning exercise, the XOR problem |
02/04/2012 | Monday | 08:15 - 10:15 | 3.8 | Andrea Bonarini | ... |
03/04/2012 | Tuesday | 08:15 - 10:15 | 4.1 | Matteo Matteucci | Feed forward neural networks: backpropagation |
16/04/2012 | Monday | 08:15 - 10:15 | 3.8 | Andrea Bonarini | ... |
17/04/2012 | Tuesday | 08:15 - 10:15 | 4.1 | Matteo Matteucci | Demo and derivation of squared error function |
23/04/2012 | Monday | 08:15 - 10:15 | No lecture today! | ||
24/04/2012 | Tuesday | 08:15 - 10:15 | No lecture today! | ||
07/05/2012 | Monday | 08:15 - 10:15 | 3.8 | Andrea Bonarini | ... |
08/05/2012 | Tuesday | 08:15 - 10:15 | 4.1 | Matteo Matteucci | Cross Entropy error function, Overfitting, Crossvalidation techniques, Early stoppig |
14/05/2012 | Monday | 08:15 - 10:15 | 3.8 | Andrea Bonarini | ... |
15/05/2012 | Tuesday | 08:15 - 10:15 | 4.1 | Matteo Matteucci | ... |
21/05/2012 | Monday | 08:15 - 10:15 | 3.8 | Andrea Bonarini | ... |
22/05/2012 | Tuesday | 08:15 - 10:15 | 4.1 | Matteo Matteucci | ... |
28/05/2012 | Monday | 08:15 - 10:15 | 3.8 | Andrea Bonarini | ... |
29/05/2012 | Tuesday | 08:15 - 10:15 | 4.1 | Matteo Matteucci | ... |
04/06/2012 | Monday | 08:15 - 10:15 | 3.8 | Matteo Matteucci | ... |
05/06/2012 | Tuesday | 08:15 - 10:15 | 4.1 | Matteo Matteucci | ... |
11/06/2012 | Monday | 08:15 - 10:15 | 3.6 | Matteo Matteucci | ... |
12/06/2012 | Tuesday | 08:15 - 10:15 | 4.1 | Matteo Matteucci | .. |
18/06/2012 | Monday | 08:15 - 10:15 | 3.6 | Matteo Matteucci | ... |
19/06/2012 | Tuesday | 08:15 - 10:15 | 4.1 | Matteo Matteucci | .. |
Course Evaluation
The course evaluation is performed by a written exam divided in two parts (lasting usually 2.5 hours in total):
- Topics covered by the course teacher during the course
- Topics covered by the teaching assistant during the course
Each part will score 16/32 and the exam is passed if the sum of the two parts, after rounding, is at least 18.
As a reference for the exam format you can have a look at the following material from KE:
or from the Italian version (Ingegneria della Conoscenza):
- Exam given on 04/02/2010
- Exam given on 09/09/2009
- Exam given on 20/07/2009
- Exam given on 07/07/2009
- Exam given on 28/02/2009
- Exam given on 18/02/2009
Teaching Material
The textbooks used for the course are:
- Neural Networks and Pattern Recognition, C. Bishop, Oxford University Press, 1995
- Reti neuronali e metodi statistici, S. Ingrassia, and C. Davino. 2002.
- An introduction to genetic algorithms, Melanie Mitchell, MIT Press, 1998.
- Fuzzy Logic with Engineering Applications (Third Edition), T. Ross, Wiley, 2010
- Fuzzy Logic: come insegneremo alle macchine a ragionare da uomini, A. G. Pizzaleo, Castelvecchi, Roma.
In the following you can find the lecture slides used by the teacher and the teaching assistant during classes. Some additional material that could be used to prepare the oral examination is provided as well.
Neural Networks and Evolutionary Computation
- Machine Learning Lecture Set: Introduction to the Course and to Machine Learning
- Neural Network Lecture Set: Neural Networks lectures and more
- Hebian Learning Exercise: this short exercise on Hebbian learning of perceptrons complements the one in the Neural Networks Lecture Set.
- Feedforward NN example: this is an example on the kind of questions about Neural Networks you could face during the exam.
- Genetic Algorithms Lecture Set: Evolutionary Computation and Genetic Algorithms
Knowledge Engineering
- Knowledge Representation Lecture Set: Slides about Knowledge Representation (Last Update: March 14, 2011)
- Techniques for Knowledge Representation Lecture Set: Slides about Techniques for Knowledge Representation (Last Update: March 29, 2011)
- Techniques for Knowledge Acquisition Lecture Set: Slides about Techniques for Knowledge Acquisition
- Life cycle of an Expert System Lecture Set: Slides about the life cicle of an Expert System
- Architectures for KBS Lecture Set: Slides about architectures for Expert Systems
Uncertainty management and Fuzzy systems
- Management of uncertainty Lecture Set: Slides about management of uncertainty in KBS
- Introduction to Fuzzy Sets : Slides introducing to fuzzy sets
- Introduction to Fuzzy Logic : Slides introducing fuzzy logic
- Introduction to Fuzzy Rules : Slides about fuzzy rules
- Design of Fuzzy Systems : Slides about the design of systems based on fuzzy logic
- Applications of Fuzzy Systems : Slides about some fuzzy system application categories
Additional Lectures to complement Slides and Textbooks
- Neural Networks FAQ: a great, peer-reviewed, repository of information about neural networks. You should know it by heart!
- Overfitting in Neural Networks: a paper describing the early stopping technique and its rationale.
- Proben 1: read this it together with the previous paper to have a clear idea on how early stopping is related to network evaluation.
- Genetic Algorithm Tutorial: a neat tutorial on genetic algorithms by Darrel Whitley
- Genetic Algorithm with applets: a nice website/tutorial about genetic algorithm I've been inspired for my lectures :-)
- Estimation of Distribution Algorithms: slides about Estimation of Distribution Algorithms by Simon Poulding @ University of York
- Appunti (bigino): these are notes taken in the past by some students of mine ... they are in Italian!