Expert Systems (5 ects)
Current
Description
The idea of expert systems is to simulate human experts in some
special problem domain. For example, they can guide the doctor who
diagnosizes illness given the patient's symptons, or offer an
automatic fault detection system for cars, printers, and other
devices.
The course gives a wide introduction to expert systems: how they can
be used and how they are constructed, the main approaches to implement
them, how to evaluate and compare systems and select the best one for the given
problem. The course is implemented as a hybrid of normal lecture-based
course and a seminar with emphasized student activity: the students
give small teaching sessions to each other and implement an expert
system in groups. In addition, each student processes the learnt in
her/his individual learning diary.
Prerequicites: Principles of proposition logic and probability
theory.
Lectures: Wed 14-16 D106B (14.9.-30.11. 2005)
Registeration: by sending an email to the lecturer
Wilhelmiina Hämäläinen (whamalai@cs) before 14.9. Max 20 students.
Approximated workload
Contact sessions: 26 h
Exercises: 26 h
Learning diary: 20 h
Reading literature: >20 h
Projectwork: 40 h
-------------------------
Total: 132 h = 5 ects
Notice! Excellent grade may require more work!
Preliminary schedule
Performance
The course performance consists of four parts:
- Participating classes (you can drop at most 2/12 classes)
- Presentations about main expert systems: A student pair
gives a 30 min
presentation about some expert system with some lecture material for
other students. They should also design some exercise task about the
topic and check the solutions. Each exercise task should take
approximately 2 hours work.
- Exercises: In the beginning of course exercises about introduction
lectures and all student presentations. Weekly exercises take
approximately 6 hours work in the beginning of course.
- Learning diaries: Each student writes a personal learning diary and
returns a piece of it weekly. The lecturer will give feedback next
week. The learning diaries are evaluated in the end of course. More
instructions about learning diaries:
http://cs.joensuu.fi/pages/whamalai/tepe/learningdiary.htm
- Projectworks: The projectworks are made in groups of three students
(other than in the presentations). The documents are written in several
phases. In the beginning, the group should return specification
document (topic and data), then a design document (how to implement, updated
later by class diagrams and main algorithms), small test plan and
final implementation documents. All parts should be in the final document.
Evaluation:
Projectworks 40%
Presentations 20%
Learning diaries 20%
Exercises: 20%
Exercises
Instructions for presentations
Each pair gives a 1/2 h teaching session on the topic. The goal is that
the other students really learn! Important points:
- How the system works?
- Some example for demonstration
- How the system is constructed? (from data or by human expert?)
- Advantages and disadavantages, restrictions
- Applications in expert systems
Hints for searching material:
- You can start from the material collected under page Some material for presentations
- Try to find the original publication where the system was introduced
or publications by the original
inventor of the system. They usually describe the system well
(and correctly!) and tell plenty of advantages
- Check also other sources - the inventors usually don't tell the
disadvantages or restrictions
- There are several tutorials in the net - they are easy-reading,
but there is no guarantees that they are correct!
In addition, remember to design one bigger or two smaller tasks
about your lecture. The task should require about 2 hours work. Give
also some lecture material so that the other students can solve
the tasks. (You can ask the teacher to take copies before the
session.)
Topics for presentations
- Truth-maintenance systems - logical rule-based systems
- Default rules - describing exceptions to logical rules
- Fuzzy logic - logical rules with fuzzy truth-values
- Dempster-Shafer theory - an alternative to probabilistic rules
- Decisions trees - deterministic classification
- Naive Bayes classifiers - probabilistic calssification
- Neural networks - functional systems for prediction and classification
- Support vector machines - a competitor for neural networks?
- Instance-based learning: k-nearest neighbours and case-based
reasoning - reasoning from similar cases
- (Hidden) Markov models - describing dynamic processes
- Genetic algorithms - simulating evolution process
Project works
Literature
- Mitchell, T.M.: Machine Learning. McGraw-Hill, 1997. Old classic, very
comprehensive!
- Russell, S.J. and Norvig, P.: Artificial Intelligence: A modern approach.
Prentice-Hall, 2nd edition 2002. Another classic,
which covers several systems. Especially parts V (Uncertain knowledge
and reasoning) and VI (Learning), and chapters 2, 7, and 10.
- Luger, G.F.: Artificial Intelligence. Structures and strategies for
complex problem solving. Addison-Wesley, 2002. (chapters 7, 9, 10, 11)
- Paris, J.B.: The uncertain reasoner's companion. A mathematical
perspective. Cambridge University Press, 1994. (Expressing uncertainty
by probabilities and other measures, calcyla for systems, some
comprison. Mathematical, as mentioned.)
- Kantarzic: Data mining: concepts, models, methods, and algorithms.
Wiley-IEEE Press, 2002.
(Describes also some methods for ESs)
- Walley, P.: Measures of uncertainty in expert systems. Artificial
Intelligence, 83, 1996. (Comparison between Bayes, Dempster-Shafer
and ideal. Good criteria for evaluation.)
- Hämäläinen, W.: Search for an ideal reasoning system: specification
of the minimal requirements.
http://cs.joensuu.fi/~whamalai/articles/graduarticle.pdf
(Compares Bayesian networks, Dempster-Shafer theory and TM's.
Gives general evaluation criteria for reasoning systems.)
- Some material for presentations
Data for project works
Data is essential for project works, and you try to invent a good
topic by checking available data. Below you can find links to some
data repositories. Notice that some data sets are too small for our
purposes. Select a data set, which contains at least 50 rows of data!
You can also search/construct data sets of your own! For example, you can
interview other students or collect data by internet queries.
In addition you can use expert knowledge (interview some experts, search
literature, and statistics).
Links