- Human Computer Interaction
Traditionally interaction with computer systems moved from text-based (e.g., terminals) to graphical user interfaces (GUI). These evolved to a wider range of platforms than just desktop computers, to include computer kiosks, tablets, and smart phones. As technology systems (e.g., expert systems, recommender systems) increase in complexity, a standard graphical user interface (GUI) is often not sufficient to harness their power. This course will therefore consider developments in intelligent adaptive interfaces, but also alternative modalities for interaction such as Voice user interfaces (VUI), augmented reality (AR), and embodied agents.
This course will cover four aspects of HCI systems:
a) Identifying functional and non-functional requirements.
b) Design of interactive and adaptive systems.
c) Prototyping of these systems.
d) User-centered Evaluation of these systems.
- Machine Learning
The goal of the course is to acquaint students with the basic Machine Learning concepts and algorithms. Specifically, the course will cover parametric and non-parametric density estimation, linear and non-linear classification, unsupervised learning including clustering and dimensionality reduction, performance evaluation of predictive algorithms, ethical issues in machine learning.
- Computational Intelligence
Dit vak geeft een introductie in een aantal technieken uit de kunstmatige intelligentie. De nadruk ligt daarbij op zelflerende en zelforganiserende systemen. We beginnen met de vraag 'wat is (kunstmatige) intelligentie?' en beantwoorden deze vraag vervolgens aan hand van een aantal metaforen:
- Redeneervermogen: Expertsystemen gaan uit van een traditionele regelgebaseerde aanpak en staan het dichtst bij conventionele programmeertechnieken. Kansmodellen en fuzzy logic stellen ons in staat ook met onzekere, onvolledige en onnauwkeurige gegevens te redeneren.
- Hersenstructuur: Neurale netwerken leren automatisch aan hand van voorbeelden en kunnen overweg met fouten in de invoer en met invoer die zij niet eerder hebben gezien.
- Evolutie: Evolutietheorie geeft ons een algoritme dat oplossingen kan vinden in complexe, veranderende omgevingen.
- Gedrag in de natuur: Mieren, bijen en vogels dienen als inspiratie voor systemen die complexe problemen met eenvoudige regels kunnen oplossen. Artificial life stelt de vragen `wat is leven?' en `kan een computerpogramma leven?'
- Reasoning and Logic
It is often useful or even essential to know if a certain statement is true, e.g. Pythagoras' famous a^2 + b^2 = c^2 theorem about right-angled triangles. Knowledge gathered from these statements or theorems can be broadly used to solve more complicated problems. This way of working, i.e., deriving more complex theorems from simpler ones, is useful in many fields, in particular also in computer science. An argument is a set of premises or assumptions, followed by a conclusion. To be certain of the truth of an argument, the conclusion has to be a logical consequence of the assumptions. To prove this, the conclusion is derived from the premisses. The derivation shows us that once all premises are true, the conclusion is true as well. The course Reasoning and Logic is about proving the logical validity of arguments. What is a valid argument? When is an argument logically valid and when is it not? How can we determine whether an argument is logically valid? How can we derive a logically valid conclusion from the premises? Or how can we prove that a conclusion is not a logical consequence of the premises? In this course we will first explain a number of basic proof techniques, such as proof by contradiction, proof by mathematical induction, proof by division into cases, and the use of invariants. The application of these techniques will be practiced by proving and rejecting simple mathematical theorems. These proof techniques can only lead to a valid argument when the formulation of the premises and the conclusion is sufficiently precise. To express statements precisely, multiple artificial languages exist, of which we will learn two: propositional calculus and predicate logic. For both languages we look at the syntax and semantics and study how to translate expressions from a natural language to the more exact languages. Furthermore we will look at how to establish the logical validity of an argument in both languages. Moreover, to be able to assign truth values to formulas in predicate logic and because of the importance of this subject in every exact science, in this course we will also pay attention to elementary set theory. Together, the course provides tools that have important applications across mathematics, computer science, philosophy, and beyond.
- Logic Based AI
AI (Artificial Intelligence) techniques that are discussed in this course are knowledge representation and reasoning techniques, and multi-agent technology. Students are taught how to develop a multi-agent system that uses knowledge representation to reason about the environment in which the multi-agent system operates. In the Project Multi-agent systems following this course, students develop, based on the knowledge gained in this course, a team of intelligent agents that drive units in the real-time strategy game StarCraft.
- Artificial Intelligence Techniques
Artificial Intelligence techniques for building cognitive agents, and decision making and -support systems are presented. Techniques discussed include probabilistic reasoning, action selection and planning, Markov Decision Processes, reinforcement learning, and some other aspects of machine learning, as well as a variety of topics dealing with multiagent systems and strategic interactions.
- Socio-Cognitive Engineering
Whether you are playing a game in virtual reality, driving a semi-autonomous car, educating yourself in a MOOC, or harmonizing your health and lifestyle via a mobile app; nowadays intelligent networked information and communication technology is omnipresent. This course focuses on the design of human-aware intelligence into such environments, to support joint human-technology performances that bring about positive human experiences (such as social robots that help activity coordinators guide health-promoting games for people with dementia).
- Behaviour Change Support Systems
Behavior change support systems (BCCS) are computer-based systems that support individuals to form, alter or reinforce cognitions, attitudes or behaviors without using coercion or deception. They can serve individuals throughout the various stages of a change process, such as awareness developing, contemplation, action strategy development, development of new behaviors, and maintaining these new behaviors. Virtual healthcare coaches, negotiation support systems, and applications that provide individuals with personalize financial guidance are three examples of these systems. To establish, modify or maintain change BCCS can deploy computerized persuasive strategies (e.g. reducing effort to establish target behavior, or argumentation and reflection strategies), simulations (e.g. serious gaming, virtual reality), relational software agents (e.g. ePartners, virtual coaches), and personalization based on longitudinal user data. BCCS are found in many domains, including education, sales, negotiation, management, and particular in the health domain.
- Seminar Research Methodology for Data Science
The course focuses on research methods for data science. It looks at underlying principles and concepts for data collection, analysis and data processing, as well as the use of tools to do this.
- Seminar Social Signal Processing
The core of social intelligence is our ability to understand and interpret social signals of a person we are communicating with is. Social intelligence is a facet of human intelligence that has been argued to be indispensable and perhaps the most important for success in life. Social Signal Processing (SSP), the new, emerging, domain aimed at understanding social interactions through machine analysis and production of nonverbal behavior. In this course you will learn how next-generation computing can make use of such social signals by giving it the ability to recognize and produce human social signals and social behaviors. Think about turn taking, politeness, disagreement, emotions, rapport. You will learn about relevant findings in social psychology, and you will learn computational techniques that allow systems to make use of social signals to become more effective and more efficient by being able to detect but also simulate (e.g. in virtual agents) blinks, smiles, crossed arms, laughter. Socially aware computing. These techniques can be used in robots, virtual agents, smart homes, crowd monitoring, etc.
- Machine Learning 1
Recapitulation of (un)supervised learning, classification, decision theory overfitting. Complexity, regularisation, and support vector classifiers. Regression, linear and kernel regression. Bayesian learning, graphical models. Clustering and mixture models, the EM algorithm. Feature selection and extraction, PCA. Design and analysis of ML experiments.
- Machine Learning 2
The course will treat a number of machine learning theories and techniques in detail and on an advanced level.
Possible topics :
- Learning theory
- Bayesian networks
- Online learning
- Rademacher complexity
- Markov decision processes
- Semi-supervised learning
- Multiple instance learning
- Kernel methods
- Reinforcement learning
- Gaussian processes
- Active learning
- Causal reasoning and discovery
- Algorithms for Intelligent Decision Making
Decision making is at the centre of artificial intelligence. This course gives you practical skills on a solid theoretical base:
- Modelling realistic combinatorial optimisation problems involving multiple users, and designing systems to solve such problems.
- Emphasis on problem characteristics seen in decision problems in energy, logistics, and health sectors.
- Mathematically-grounded techniques with computational feasibility: sequential decision making (reinforcement learning), algorithmic game theory, constraint programming.
Apply the skills you learn in this course by taking CS4210-B: Intelligent Decision Making Project in quarter 4!
- Deep Learning
In this course we will look at a specific field of Artificial Intelligence and Machine Learning: Deep learning. Deep learning has shown remarkable success with large data sets and unstructured input data such as raw images/audio/text.
Topics include: feed forward networks, back-propagation, optimization, convolutional nets, recurrent nets, unsupervised methods.
The course will have lectures, a seminar and a lab practical:
- The lectures will be on generic topics, following the book; building the backbone.
- The seminar will have students read, critique, and present relevant deep learning research papers. You will have to read 2 papers per week, for 7 weeks (14 papers).
- The lab will have students apply and design their own (small) deep learning project.
- Information Theory
This course explains the basic ideas of information theory and the correspondences between the elements of this theory and certain natural concepts of importance in a wide number of fields, such as transmission, storage, authoring and protection of data. On the basis of simple concepts from probabiliby calculus, models are developed for a discrete information source and a discrete communication channel. Further, the theoretical basics for developing source coding algorithms is provided, as well as the basics of optimal data transmission through a discrete communication channel.
The following topics will be covered:
- (Differential) Entropy, Relative Entropy and Mutual Information
- Asymptotic Equipartition Property
- Data Compression
- Channel Capacity
- Gaussian Channel
- Rate-Distortion Theory
- Network Information Theory