experience of teaching computational intelligence in an undergraduate level course [educational...

3
Educational Forum s more and more scientific and engineering applications use com- putational intelligence tech- niques, the need to train people with good knowledge and experience of these techniques is increasing. This arti- cle presents experience from teaching machine learning and computational intelligence techniques in an Artificial Intelligence (AI) course at an under- graduate level at Victoria University of Wellington. Due to program and resource constraints, there is no room for teaching an entire course on com- putational intelligence. Instead, machine learning and computational intelligence techniques are taught as part of the Introduction to Artificial Intelligence course. Course Overview After being offered for over ten years as an elective third year course for the BSc (Bachelor of Science, a three-year degree) in the Computer Science major, this course was also placed into the BE (Bachelor of Engineering, a four-year degree) schedule with the introduction of three engineering programs in 2007. Hence, the course was redeveloped to shift the content from mainly symbolic intelligence to a more balanced struc- ture also covering the essential machine learning and computational intelligence techniques. As an elective course in the third year (300 level), this course (COMP307) aims to introduce students to the funda- mental principles and various tech- niques of artificial intelligence as well as their applications. By the end of this course, students are expected to under- stand the fundamental concepts and techniques of artificial intelligence, and be able to apply these concepts to spe- cific problem areas. As the only undergraduate AI course at our university, this course needs to cover topics of both symbolic (classical AI) and computational intelli- gence. The topics on the symbolic side include the essential background of Prolog, search, agents, knowledge/rule based systems, planning and natural lan- guage processing. The topics in the machine learning and computational intelligence side include an overview of machine learning, simple learning methods, neural learning and evolu- tionary computation, which will be detailed in the next sections. The appli- cation domains used for machine learn- ing and computational intelligence cover regression, optimization, and clas- sification problems in different aspects of science and engineering. Students not only learn the common machine learning and computational intelligence techniques, but also gain hands-on experience in applying these techniques to real-world applications through assignments and project work. Typical enrolment ranges between 50–100 students, with the majority from computer science, software engi- neering, network engineering, and electronic and computer system engi- neering from the School of Engineer- ing and Computer Science. Some others are typically from mathematics, statistics, operations research, informa- tion management, physics, psychology, logic and computation, and architecture and design. While most of the students are full-time undergraduate students, this course also frequently attracts a number of working professionals who wish to update their knowledge in arti- ficial intelligence and to use some of these techniques to solve their industri- al application problems. Course Structure, Teaching and Evaluation Methods The main prerequisites of this course are a programming language with an essential background of data structures and algorithms. The course has a num- ber of different modules: lectures, tuto- rials, help desks, forums, readings, assignments/projects, and final exami- nation. The lectures are designed to introduce the main principles, theories, Mengjie Zhang Victoria University of Wellington, NEW ZEALAND Experience of Teaching Computational Intelligence in an Undergraduate Level Course Digital Object Identifier 10.1109/MCI.2011.941591 Date of publication: 14 July 2011 1556-603X/11/$26.00©2011IEEE AUGUST 2011 | IEEE COMPUTATIONAL INTELLIGENCE MAGAZINE 57 A ©STOCKBYTE

Upload: mengjie-zhang

Post on 23-Sep-2016

212 views

Category:

Documents


0 download

TRANSCRIPT

Educational Forum

s more and more scientific and engineering applications use com-putational intelligence tech-

niques, the need to train people with good knowledge and experience of these techniques is increasing. This arti-cle presents experience from teaching machine learning and computational intelligence techniques in an Artificial Intelligence (AI) course at an under-graduate level at Victoria University of Wellington. Due to program and resource constraints, there is no room for teaching an entire course on com-putational intelligence. Instead, machine learning and computational intelligence techniques are taught as part of the Introduction to Artificial Intelli gence course.

Course OverviewAfter being offered for over ten years as an elective third year course for the BSc (Bachelor of Science, a three-year degree) in the Computer Science major, this course was also placed into the BE (Bachelor of Engineering, a four-year degree) schedule with the introduction of three engineering programs in 2007. Hence, the course was redeveloped to shift the content from mainly symbolic intelligence to a more balanced struc-ture also covering the essential machine learning and computational intelligence techniques.

As an elective course in the third year (300 level), this course (COMP307)

aims to introduce students to the funda-mental principles and various tech-niques of artificial intelligence as well as their applications. By the end of this course, students are expected to under-stand the fundamental concepts and techniques of artificial intelligence, and be able to apply these concepts to spe-cific problem areas.

As the only undergraduate AI course at our university, this course needs to cover topics of both symbolic (classical AI) and computational intelli-gence. The topics on the symbolic side include the essential background of Prolog, search, agents, knowledge/rule based systems, planning and natural lan-guage processing. The topics in the machine learning and computational intelligence side include an overview of machine learning, simple learning methods, neural learning and evolu-tionary computation, which will be detailed in the next sections. The appli-cation domains used for machine learn-ing and computational intelligence

cover regression, optimization, and clas-sification problems in different aspects of science and engineering. Students not only learn the common machine learning and computational intelligence techniques, but also gain hands-on experience in applying these techniques to real-world applications through assignments and project work.

Typical enrolment ranges between 50–100 students, with the majority from computer science, software engi-neering, network engineering, and electronic and computer system engi-neering from the School of Engineer-ing and Computer Science. Some others are typically from mathematics, statistics, operations research, informa-tion management, physics, psychology, logic and computation, and architecture and design. While most of the students are full-time undergraduate students, this course also frequently attracts a number of working professionals who wish to update their knowledge in arti-ficial intelligence and to use some of these techniques to solve their industri-al application problems.

Course Structure, Teaching and Evaluation MethodsThe main prerequisites of this course are a programming language with an essential background of data structures and algorithms. The course has a num-ber of different modules: lectures, tuto-r ials, help desks, forums, readings, assignments/projects, and final exami-nation. The lectures are designed to introduce the main principles, theories,

Mengjie Zhang Victoria University of Wellington, NEW ZEALAND

Experience of Teaching Computational Intelligence in an Undergraduate Level Course

Digital Object Identifier 10.1109/MCI.2011.941591 Date of publication: 14 July 2011

1556-603X/11/$26.00©2011IEEE AUGUST 2011 | IEEE COMPUTATIONAL INTELLIGENCE MAGAZINE 57

A

©S

TOC

KB

YT

E

methods and concepts of the AI tech-niques. The tutorials provide history of corresponding techniques, examples of how to use those techniques, and future trends of the techniques. In the tutorials, additional interactions can be done with students so that deep ques-tions can be discussed. Lectures and tutorials are typically handled by the lecturers (staff members). The help desks are designed to provide a one-to-one interaction with students in 2–4 one-hour scheduled sessions and are typically conducted by postgraduate research PhD and Master’s students. At the scheduled help desk times, students can ask any questions related to the course. In addition, an internet-based forum system is also provided to the students, who can raise questions at any time, such that lecturers, tutors and any other students can answer those ques-tions. The lecturers are also expected to provide two office hours per week to handle students’ questions and prob-lems. The weekly readings given to the students allow students to get more familiar with the techniques discussed in the lectures and tutorials. The assign-ments/projects are typically 2–4 weeks’ work, and are designed to write pro-grams to implement some of those techniques and to solve specific prob-lems using those techniques discussed in the course.

Students attend 2 one-hour lectures and a tutorial per week over a 12 week period, about half for symbolic intelli-gence and half for machine learning and computational intelligence. Students are expected to work at least 150 hours for the course, typically 10-12 hours per week for 15 weeks (12 teaching weeks, two weeks during the teaching break between week 6 and week 7 for doing their assignments/projects, and an addi-tional week for review of the course).

The course has four assignments/projects, two for symbolic intelligence and two for machine learning and computational intelligence. All the four assignments/projects are required to be done and submitted individually, and contribute 25% of the final grade. Lec-turers provide feedback to students two weeks after the submission deadline of each assignment/project. The final exam is 3-hours long, and contributes 75% of the final grade. To pass the course, students must obtain an overall C grade (50%), with a mandatory requirement of achieving at least a D grade (40%) on the final exam and sub-mission of at least three out of the four assignments/projects.

Course ContentsDetails of the symbolic intelligence part will not be discussed here as it is not the focus of this article. The machine learning and computational intelligence part has six components of the syllabus to be elaborated as follows.

1. Overview of Machine Learning and Computational Intelligence We use two lectures to oversee impor-tant concepts of machine learning and computational intelligence, including the main types, paradigms and concepts, supervised learning and classification, unsupervised learning and clustering, training set, validation set and test set, generalization, and some typical appli-cations. The k-means clustering and support vector machine techniques and the k-fold cross validation testing meth-od are also overviewed.

2. Simple Learning MethodsSome simple but commonly used learn-ing techniques are discussed, covering the nearest neighbor method and its variations (the k-neighbor method and

the nearest centroid method), the naïve Bayes method with important assump-tions and decision tree learning method with different purity measures. Percep-trons with its structure, learning algo-rithm and convergence are discussed in order to introduce neural networks.

3. Neural Networks and Neural EngineeringOn the basis of perceptrons (linear threshold units) and perceptron net-works, multi-layer feed forward neural networks are introduced. This includes gradient descent search, the sigmoid transfer function, and the delta rules (back propagation algorithm). Other types of neural networks are also men-tioned and references are provided. After that, neural engineering issues are dis-cussed with a focus on how to use exist-ing neural network packages to solve real-world application problems. This includes how to determine the network architecture for a given problem, how to choose and adjust learning parameters, how to avoid over-fitting, how to repre-sent and normalize the input and output variables, and how to make variations of the learning algorithm to improve the system performance.

4. Evolutionary ComputationThis part of the course oversees the field of evolutionary computation, including the common evolutionary process, ini-tialization, evaluation, selection, mating and evolution. Genetic algorithms and genetic programming are discussed and other paradigms are outlined with some references. These paradigms are com-pared and contrasted within evolutionary computation and with other machine learning methods. A focus of this part is to discuss how to use genetic algorithms and genetic programming to solve scien-tific and engineering applications.

5. Individual Assignments/ProjectsThe machine learning and computa-tional intelligence part in this course features two individual assignments/projects. Both assignments involve pro-gramming and applications. Many stu-dents find these concepts and techniques

58 IEEE COMPUTATIONAL INTELLIGENCE MAGAZINE | AUGUST 2011

The methods and tools provided in this course will serve as a platform for students to use computational intelligence methods to solve engineering and industrial applications.

AUGUST 2011 | IEEE COMPUTATIONAL INTELLIGENCE MAGAZINE 59

hard to understand compared with many other computer science courses. These assignments serve to both increase students’ understanding of the relevant concepts and techniques, and provide confidence to students in being able to apply the techniques as a tool to solve real-world problems.

The first assignment aims to help students understand the basic concepts and algorithms of machine learning and computational intelligence. It requires them to write computer programs to implement several simple learning algo-rithms, and use these algorithms to per-form classification tasks. They are asked to implement the (k-) nearest neighbour method, the naïve Bayes method, the decision tree learning algorithm and the perceptron learning algorithm. The test-ing tasks are chosen from the UCI machine learning repository, which are often used as a benchmark in machine learning and computational intelligence research. The tasks vary from intrusion detection, through medical diagnosis, to image object classification. Although no specific programming languages are specified and students can choose any programming language, most students use Java, C++, C, C# and Python rather than Prolog or Lisp. Students are also required to demonstrate their programs to tutors (or provide a script that can demonstrate the programming running) and submit a report summarizing their results, comparisons and analyses.

The second assignment aims to help students understand the concepts and techniques of neural networks and evo-lutionary computation and use these techniques to perform regression and classification tasks. This assignment mainly considers multi-layer feed for-

ward neural networks with the back propagation algorithm (and its varia-tions), genetic algorithms, and genetic programming. In this assignment, some optional sections (as bonus marks) are introduced to provide opportunities for good students to practise their research skills, for example, analyzing the evolved genetic programs to reveal why they can successfully solve the given problems, and comparing the complexity of the evolved programs with the set of rules learned by decision trees. Students must submit their programs with a subset of students selected for demonstration and a written report presenting and analyz-ing their results and making conclusions.

6. Prospectus SessionIn the final session, this course provides an outline of advanced topics in three aspects of artificial intelligence methods and points the students to the three courses at the postgraduate level. These include a course on intelligent agents and web intelligence, data mining and computational intelligence particularly neural networks and evolutionary com-putation, and probability and statistical machine learning. It also provides a list of research topics and possible projects that students can take during the fol-lowing summer and for their Honors research projects in the following year.

ConclusionsIn summary, the course covers some common topics and methods in machine

learning and computational intelligence. As an undergraduate course, it is im-possible to discuss in-depth the current state-of-the-art research. Instead, this course provides essential background and training for computer science and engineering students to start research in computational intelligence, particularly in evolutionary computation and neu-ral networks. A large number of students start their research projects after this course. The methods and tools provided in this course will also serve as a platform for students to use computational intel-ligence methods to solve engineering and industrial applications. Since 2009, this course has become the largest course among all the 20+ computer science and engineering courses at the 300-level (third year) at our university. The feed-back from the students has been very positive and encouraging. While some students think this part is challenging and the workload is heavy, many students come to me to comment on how much they have learned and how they enjoy the topics discussed in the part. In par-ticular, many engineering students com-ment to me that the machine learning and computational intelligence methods are very useful to their disciplines. Stu-dents have frequently commented that through this course, they have not only learned machine learning and compu-tational intelligence techniques, but also been trained how to use these techniques to solve practical problems.

Students are expected to work at least 150 hours for the course, typically 10–12 hours per week for 15 weeks.

In Memoriam (continued from page 9)

seminars that spurred him to write a series of short stories that delighted his family and friends. He also enjoyed time with his beloved wife and his children, their families, and his five grandchildren.

Born and raised in Saint Louis, Mis-souri, Herb moved to Albuquerque, New

Mexico at age 13 with his parents, Her-bert and Vera, and sister, Joanne. His elec-trical engineering interest was piqued by an early morning noncredit radio course taken his senior year in high school.

He leaves behind his wife Margie; his children Marta, Erik, and Loren, and

their families, including five grandchil-dren; his sister Joanne Nelson; and his cousin John Forster and family. He was predeceased by his son Evan, in whose honor he had endowed the U.C. Berkeley “Evan Rauch Chair of Neuroscience.”