Difference between revisions of "SC:Soft Computing"

From Chrome
Jump to: navigation, search
 
(31 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
__FORCETOC__
 
__FORCETOC__
  
The following are last minute news you should be aware of ;-)
+
<!--The following are last minute news you should be aware of ;-)
   /07/2011: published the results from the 14/07/2011 exam
+
   06/10/2011: the Soft Computing course starts today! -->
  
==Course Website and Material==
+
I am the Teaching assistant of the Soft Computing course, the official site of the course is not maintained by me and it can be found [http://home.dei.polimi.it/bonarini/Didattica/SoftComputing/index.html here]. On this page I am publishing the material of my lectures for this class but you can find those also on the official course page.
  
The official course website is maintained by Andrea Bonarini at [http://home.dei.polimi.it/bonarini/Didattica/SoftComputing/index.html]
+
==Course Aim & Organization==
  
==Exam Results==
+
Soft Computing includes technologies (Fuzzy Systems, Neural Networks, Stochastic Algorithms and models) to model complex systems and offers a powerful modeling tool for engineers and in general people needing to model phenomena. Among the application areas, we mention: data analysis, automatic control, modeling of artificial and natural phenomena, modeling of behaviors (e.g., of users and devices), decision support.  
 
+
From time to time, you can find here results for the Soft Computing exams, please refer to the official course website for up to date news:
+
 
+
* Follow this link to [[Media:Risultati_SC.pdf | the results of 14/07/2011 exam]].
+
 
+
 
+
==Course Aim & Organization==
+
  
The objective of this course is ...
+
The course will introduce rigorously the fundamentals of the different modeling approaches, will put in evidence the application possibilities, by comparing different models, examples and application cases, will introduce design techniques for systems based on these technologies.  
  
 
===Teachers===
 
===Teachers===
Line 28: Line 21:
 
===Course Program===
 
===Course Program===
  
Techniques from machine and statistical learning are presented from a theoretical (i.e., statistics and information theory) and practical perspective through the descriptions of algorithms, the theory behind them, their implementation issues, and few examples from real applications. The course follows, at least partially, the outline of ''The Elements of Statistical Learning'' book (by Trevor Hastie, Robert Tibshirani, and Jerome Friedman):
+
* '''What is Soft Computing''': fuzzy systems, neural networks, stochastic algorithms and models;
 +
* '''Fuzzy models''': fuzzy sets, fuzzy logic, fuzzy rules, motivations for fuzzy modeling;
 +
* '''Neural networks''': basics, supervised and unsuprvised learning, main modelsi, selection and evaluation;
 +
* '''Stochastic models''': basics, optimization of models, fitness function, model definition, genetic algorithms, reinforcement learning, bayesian networks;
 +
* '''Applications''': motivations, choices, models, case studies.
  
* '''''Machine Learning and Pattern Classification''''': in this part of the course the general concepts of Machine Learning and Patter Recognition are introduced with a brief review of statistics and information theory;
+
<!-- ===Detailed course schedule===
* '''''Unsupervised Learning Techniques''''': the most common approaches to unsupervised learning are described mostly focusing on clustering techniques, rule induction, Bayesian networks and density estimators using mixure models;
+
* '''''Supervised Learning Techniques''''':  in this part of the course the most common techniques for Supervised Learning are described: decision trees, decision rules, Bayesian classifiers, hidden markov models, lazy learners, etc.
+
* '''''Feature Selection and Reduction''''': techniques for data rediction and feature selection will be presented with theory and applications
+
* '''''Model Validation and Selection''''': model validation and selection are orthogonal issues to previous technique; during the course the fundamentals are described and discussed (e.g., AIC, BIC, cross-validation, etc. ).
+
  
===Detailed course schedule===
+
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 (they will be notified to you by email).  
 
+
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!!
+
  
 
{| border="1" align="center" style="text-align:center;"
 
{| border="1" align="center" style="text-align:center;"
Line 44: Line 35:
 
|Date || Day || Time || Room || Teacher || Topic
 
|Date || Day || Time || Room || Teacher || Topic
 
|-
 
|-
|08/03/2011 || Tuesday || 13:15 - 16:15 || 3.6 || Matteo Matteucci || Course Introduction (Ch. 1)
+
|06/10/2011 || Thursday || 14:15 - 16:15 || E.G.6 || Andrea Bonarini || Introduction - Fuzzy sets
 
|-
 
|-
|15/03/2011 || Tuesday || 14:15 - 16:15 || 3.6 || Matteo Matteucci || Two examples from classification (Ch. 2)
+
|10/10/2011 || Monday || 15:15 - 17:15 || S.1.3 || Matteo Matteucci || Intro to neural networks and Perceptron model
 
|-
 
|-
|22/03/2011 || Tuesday || 13:15 - 15:15 || 3.6 || Matteo Matteucci || Discriminating functions, decision boundary and Linear Regression (Ch.4.1, Ch. 4.2)
+
|13/10/2011 || Thursday || 14:15 - 16:15 || E.G.6 || Andrea Bonarini || Fuzzy sets
 
|-
 
|-
|23/03/2011 || Wednesday || 14:15 - 16:15 || 4.2 || Luigi Malago || Linear regression methods (Ch 2.1, 2.2, 2.3 and 2.3.1, 2.4, 2.6 and 2.6.1, 2.7 and 2.7.1, 2.8 and 2.8.1, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.9,  see paper "Least Angle Regression" linked below, pages 1-16)
+
|17/10/2011 || Monday || 15:15 - 17:15 || S.1.3 || Matteo Matteucci || Hebbian learning, the xor problem, from perceptron to backpropagation
 
|-
 
|-
|29/03/2011 || Tuesday || 13:15 - 15:15 || 3.6 || Matteo Matteucci || Linear Discriminant Analysis (Ch. 4.3)
+
|20/10/2011 || Thursday || 14:15 - 16:15 || E.G.6 || Andrea Bonarini || Fuzzy logic
 
|-
 
|-
|30/03/2011 || Wednesday || 14:15 - 16:15 || 4.2 || Luigi Malago || Linear regression methods (see 23/03/2011)
+
|24/10/2011 || Monday || 15:15 - 17:15 || S.1.3 || Matteo Matteucci || Feedforward topologies and Backpropagation
 
|-
 
|-
|05/04/2011 || Tuesday || 13:15 - 15:15 || 3.6 || Luigi Malago || Linear regression methods (see 23/03/2011)
+
|27/10/2011 || Thursday || 14:15 - 16:15 || E.G.6 || Andrea Bonarini || Fuzzy rules - design of fuzzy systems
 
|-
 
|-
|06/04/2011 || Wednesday || 14:15 - 16:15 || 4.2 || Luigi Malago || Linear regression methods (see 23/03/2011)
+
|03/11/2011 || Thursday || 14:15 - 16:15 || --- || --- || ''No lecture today''
 
|-
 
|-
|12/04/2011 || Tuesday || 13:15 - 15:15 || 3.6 || Matteo Matteucci || Logistic regression (Ch.4.4)
+
|07/11/2011 || Monday || 15:15 - 17:15 || S.1.3 || Matteo Matteucci || Neural Network exercises
 
|-
 
|-
|13/04/2011 || Wednesday || 14:15 - 16:15 || 4.2 || Davide Eynard || Clustering I: Introduction and K-Means
+
|10/11/2011 || Thursday || 14:15 - 16:15 || E.G.6 || Andrea Bonarini || Fuzzy systems – Applications
 
|-
 
|-
|19/04/2011 || Tuesday || 13:15 - 15:15 || 3.6 || Matteo Matteucci || Perceptron learning
+
|14/11/2011 || Monday || 15:15 - 17:15 || S.1.3 || Matteo Matteucci || Overfitting limitation
 
|-
 
|-
|20/04/2011 || Wednesday || 14:15 - 16:15 || 4.2 || Davide Eynard || Clustering II: K-Means Alternatives, Hierarchical, SOM
+
|17/11/2011 || Thursday || 14:15 - 16:15 || --- || --- || ''No lecture today''
 
|-
 
|-
|27/04/2011 || Wednesday || 14:15 - 16:15 || 4.2 || Davide Eynard || Clustering III: Mixture of Gaussians, DBSCAN, Jarvis-Patrick
+
|21/11/2011 || Monday || 15:15 - 17:15 || S.1.3 || Matteo Matteucci || Bayesian Networks
 
|-
 
|-
|03/05/2011 || Tuesday || 13:15 - 15:15 || 3.6 || Matteo Matteucci || Maximum margin classification (Ch. 4.5.2)
+
|24/11/2011 || Thursday || 14:15 - 16:15 || E.G.6 || Andrea Bonarini || Fuzzy systems – Design
 
|-
 
|-
|04/05/2011 || Wednesday || 14:15 - 16:15 || 4.2 || Davide Eynard || Clustering IV: Evaluation Measures
+
|28/11/2011 || Monday || 15:15 - 17:15 || S.1.3 || Matteo Matteucci || Inference in Bayesian Networks
 
|-
 
|-
|10/05/2011 || Tuesday || 13:15 - 15:15 || 3.6 || Matteo Matteucci || Kernel Smoothing Methods and Kerned Density Estimation (Ch.6.1, Ch.6.6, Ch.6.9)
+
|01/12/2011 || Thursday || 14:15 - 16:15 || E.G.6 || Andrea Bonarini || Fuzzy systems – Design
 
|-
 
|-
|11/05/2011 || Wednesday || 14:15 - 16:15 || 4.2 || Matteo Matteucci || Gaussian Mixture Models (Ch.6.8) and the EM Algorithm (Ch.8.5)
+
|05/12/2011 || Monday || 15:15 - 17:15 || S.1.3 || Matteo Matteucci || Bayesian Networks Demo/Exercises
 
|-
 
|-
|17/05/2011 || Tuesday || || || || No Lecture today!
+
|12/12/2011 || Monday || 15:15 - 17:15 || S.1.3 || Andrea Bonarini || Reinforcement Learning I
 
|-
 
|-
|18/05/2011 || Wednesday || || || || No Lecture today!
+
|15/12/2011 || Thursday || 14:15 - 16:15 || E.G.6 || Matteo Matteucci || Bayesian Networks Demo/Exercises
 
|-
 
|-
|24/05/2011 || Tuesday || 13:15 - 15:15 || 3.6 || Matteo Matteucci || Decision Trees ([[Media:PAMI_DTnR.pdf |handout]] + Ch. 9.2)
+
|19/12/2011 || Monday || 15:15 - 17:15 || S.1.3 || Andrea Bonarini || Reinfocement Learning – Design
 
|-
 
|-
|25/05/2011 || Wednesday || 14:15 - 16:15 || 4.2 || Matteo Matteucci || Classification Rules ([[Media:PAMI_DTnR.pdf |handout]] + Ch. 9.2)
+
|22/12/2011 || Thursday || 14:15 - 16:15 || E.G.6 || Andrea Bonarini || Reinfocement Learning – Applications
 
|-
 
|-
|31/05/2011 || Tuesday || 13:15 - 15:15 || 3.6 || Matteo Matteucci || Rule pruning and Sequential Covering Algorithm ([[Media:PAMI_DTnR.pdf |handout]] + Ch. 9.3)
+
|09/01/2011 || Monday || 15:15 - 17:15 || S.1.3 || Andrea Bonarini || Evolutionary algorithms – Genetic Algorithms
 
|-
 
|-
|01/06/2011 || Wednesday || 14:15 - 16:15 || 4.2 || Matteo Matteucci || Sequential Covering Algorithm ([[Media:PAMI_DTnR.pdf |handout]] + Ch. 9.3)
+
|12/01/2011 || Thursday || 14:15 - 16:15 || E.G.6 || Andrea Bonarini || Genetic Algorithms – Design
 
|-
 
|-
|07/06/2011 || Tuesday || 13:15 - 15:15 || 3.6 || Matteo Matteucci || Support Vector Machines (Ch. 12.1, Ch. 12.2, Ch. 12.3.0, Ch. 12.3.1 + SVM paper)
+
|16/01/2011 || Monday || 15:15 - 17:15 || S.1.3 || Andrea Bonarini || Genetic Algorithms – Applications
 
|-
 
|-
|08/06/2011 || Wednesday || || || || No Lecture today!
+
|19/01/2011 || Thursday || 14:15 - 16:15 || E.G.6  || Andrea Bonarini || Hybrid systems
 
|-
 
|-
|14/06/2011 || Tuesday || 13:15 - 15:15 || 3.6 || Matteo Matteucci ||  Model selection theory (Ch. 7.1, Ch. 7.2, Ch. 7.3 + [http://www.inf.ed.ac.uk/teaching/courses/mlsc/Notes/Lecture4/BiasVariance.pdf Bias and Variance notes])
+
|23/01/2011 || Monday || 15:15 - 17:15 || S.1.3 || Andrea Bonarini || Closing remarks and exercises
|-
+
|15/06/2011 || Wednesday || 14:15 - 16:15 || 4.2 || Matteo Matteucci || Model selection practice (Ch. 7.4, Ch. 7.5, Ch. 7.6, Ch. 7.7, Ch. 7.10)
+
|-
+
|21/06/2011 || Tuesday || 13:15 - 15:15 || 3.6 || Matteo Matteucci || Question and Answers
+
 
|}
 
|}
  
 
===Course Evaluation===
 
===Course Evaluation===
  
The course evaluation is composed by two parts:
+
The exam is a test done in regular sessions, starting from the end of the lessons. The test is partitioned in two parts, whose evaluation is averaged. For each of them 32 points are available and a minimum of 15 is needed. The average vote must be greater or equal to 18 to pass the exam. Some example from past years are available below. From year 2011 the format of the exam will change a little bit, but the type of questions will analogous. An example of the format for this year will be published later.
  
* A homework with exercises covering the whole program that counts for 30% of the course grade
+
This course can be taken as a stand alone course or as a course integrated with Artificial Intelligence. In both cases, the course will be offered at the same time to students taking one or the other format. The exam will be also the same, but, in the case of integrated course, it will have to be passed together with the exam of Artificial Intelligence, as a unique exam, the same day. The same rules apply for the exam of the integrated course, and the marks obtained in SC and AI will be averaged. The difference between the two solutions is that the integrated course can be selected as a unique course in the study plan.
* A oral examination covering the whole progran that count for 70% of the course grade
+
  
The homework is just one per year, it will be published at the end of the course and you will have 15 days to turn it in. It is not mandatory, however if you do not turn it in you loose 30% of the course grade. There is the option of substitute the homework with a practical project, but this has to be discussed and agreed with the course professor.
+
==Teaching Material==
  
==Teaching Material (the textbook)==
+
Right now, the official course website is maintained by Andrea Bonarini at [http://home.dei.polimi.it/bonarini/Didattica/SoftComputing/index.html]
 
+
Lectures will be based on material taken from the aforementioned slides and from the following book.
+
 
+
* [http://http://www-stat.stanford.edu/~tibs/ElemStatLearn/index.html The Elements of Statistical Learning: Data Mining, Inference, and Prediction.] by Trevor Hastie, Robert Tibshirani, and Jerome Friedman.
+
 
+
Some additional material that could be used to prepare the oral examination will be provided together with the past homeworks.
+
  
 
===Teacher Slides===
 
===Teacher Slides===
Line 122: Line 102:
 
In the following you can find the lecture slides used by the teacher and the teaching assistants during classes:
 
In the following you can find the lecture slides used by the teacher and the teaching assistants during classes:
  
* [[Media:PAMI_Intro.pdf | Course introduction]]: introductory slides of the course with useful information about the grading, and the course logistics. Some examples from supervised learning and two algorithms for classification (taken from ''The Elements of Statistical Learning'' book).
+
* [[Media:Intro.pdf | Course introduction]]: introductory slides of the course with useful information about the grading, and the course logistics.  
* [[Media:PAMI_LinearClassification.pdf | Linear Classification Examples]]: slides presenting images, tables and examples about (generalized) linear methods for classification (taken from ''The Elements of Statistical Learning'' book).
+
* [[Media:PAMI_KernelSmoothing.pdf | Kernel Smoothing Examples]]: slides presenting images, tables and examples about Kernel Smoothing, Kernel Density Estimation and Gaussian Mixture Models (taken from ''The Elements of Statistical Learning'' book).
+
* [[Media:PAMI_DTnR.pdf | Decision Trees and Classification Rules]]: these slides have been used to present decision trees and decision rules complementing the material in Ch. 9.2 of the ''The Elements of Statistical Learning'' book.
+
* [[Media:PAMI_SVM.pdf | Support Vector Machines]]: these slides have been used to present Support Vector Machines (taken from ''The Elements of Statistical Learning'' book).
+
  
===Additional Papers===
+
===Books and Papers===
Papers used to integrate the textbook
+
  
* Bradley Efron, Trevor Hastie, Iain Johnstone and Robert Tibshirani, [http://www.stanford.edu/~hastie/Papers/LARS/LeastAngle_2002.pdf Least Angle Regression] Annals of Statistics (with discussion) (2004) 32(2), 407-499.
+
* ...
* Burges, Christopher J. C., 1998. [http://www.svms.org/tutorials/Burges1998.pdf A tutorial on support vector machines for pattern recognition]. Data Mining and Knowledge Discovery, 2(2), 121–167.
+
* ...  
+
  
===Clustering Slides===
+
===Useful Links===
These are the slides used to present clustering algorithms during lectures
+
...
  
* Lesson 1: Introduction to Clustering and K-Means ([http://davide.eynard.it/teaching/2011_PAMI/slides-lecture-e1.pdf slides], [http://davide.eynard.it/teaching/2011_PAMI/handout-lecture-e1.pdf handouts])
+
* ...
  
* Lesson 2: K-Means alternatives, Hierarchical, SOM ([http://davide.eynard.it/teaching/2011_PAMI/slides-lecture-e2.pdf slides], [http://davide.eynard.it/teaching/2011_PAMI/handout-lecture-e2.pdf handouts])
+
===Software===
 +
...
  
* Lesson 3: Mixture of Gaussians, DBSCAN, Jarvis-Patrick ([http://davide.eynard.it/teaching/2011_PAMI/slides-lecture-e3.pdf slides], [http://davide.eynard.it/teaching/2011_PAMI/handout-lecture-e3.pdf handouts])
+
* ...
  
* Lesson 4: Evaluation measures ([http://davide.eynard.it/teaching/2011_PAMI/slides-lecture-e4.pdf slides], [http://davide.eynard.it/teaching/2011_PAMI/handout-lecture-e4.pdf handouts])
+
===Links to sites of other Soft Computing courses ===
 +
...
  
===Past Exams and Sample Questions===
 
These are the text of past exams to give and idea on what to expect during the class exam:
 
 
* [[Media:2011_06_29.pdf |29/06/2011 Exam]]
 
 
* ...
 
* ...
  
== 2011 Homework ==
+
===Bibliographic resources===
 +
...
  
Here you can find the homework for the year 2011 and the material you need to complete it. Please read the F.A.Q. below and for any unsolved doubt contact the teachers of the course.
+
* ...
  
* [[Media:PAMI_homework_2011_v02.pdf | Homework 2011 v02]] a minor change in the signature of the logistic regression function
+
==Exam Samples and Results==
* [[Media:PAMI_homework_2011_v01.pdf | Homework 2011 v01]] text with questions and exercises
+
* [[Media:dataset.txt | Dataset]] for the clustering exercise in csv format
+
  
'''Frequently Asked Questions'''
+
===Past Exams and Sample Questions===
 +
These are the text of past exams to give and idea on what to expect during the class exam:
  
* '''''How do I take the square root of a matrix?''''': check the diagonalization approach from [http://en.wikipedia.org/wiki/Square_root_of_a_matrix].
+
* ...
  
* '''''How do I compute the chi square statistics?'''': in the slide there is a cut and paste error since e_ij=R_it*C_tj as described here [http://en.wikipedia.org/wiki/Pearson's_chi-square_test]
+
===Exam Results===
  
* '''''When it is due? In which format?''''': The homework is due on the 29/06 and should be delivered by email. Send us (all the course teachers) the .m files in a zip archive attached to this email and a link to the pdf with the written part (not to flood our mailboxes).
+
From time to time, you can find here results for the Soft Computing exams, please refer to the official course website for up to date news:
  
* '''''Can we do that in groups? How many people per group?''''': Yes, you can work on the homework in groups, but no more than 3 people per group are allowed. Put the names of all homework authors in the pdf and in all the .m files. If you discuss something with other people, w.r.t. the people in your group, point it out in the pdf file as well.
+
* Follow this link to [[Media:Risultati_SC.pdf | the results of 14/07/2011 exam]].
 
+
-->
* '''''Can we ask questions about the exercises or the code?''''': Yes you should! First of all, there might be unclear things in the exercise descriptions and those should be clarified as soon as possible for all (this is why the homework is versioned). But you could ask for help as well, our goal is to have you all solving all the questions and get a high grade ... but we will not do the homework on you behalf ;-)
+
 
+
* '''''How the optional questions are graded?''''': They compensate for possible errors in the other questions; we suggest to work on them anyway to be sure you get the maximum grading.
+
 
+
* '''''How the homework will be graded?''''': we are interested in understanding if you understood or not; thus we are not interested in the result, but we want to check how you get to the result. So please: 1) clarify all the assumptions and all the steps in your exercises 2) comment as much as possible your .m files!
+

Latest revision as of 01:35, 25 March 2014


I am the Teaching assistant of the Soft Computing course, the official site of the course is not maintained by me and it can be found here. On this page I am publishing the material of my lectures for this class but you can find those also on the official course page.

Course Aim & Organization

Soft Computing includes technologies (Fuzzy Systems, Neural Networks, Stochastic Algorithms and models) to model complex systems and offers a powerful modeling tool for engineers and in general people needing to model phenomena. Among the application areas, we mention: data analysis, automatic control, modeling of artificial and natural phenomena, modeling of behaviors (e.g., of users and devices), decision support.

The course will introduce rigorously the fundamentals of the different modeling approaches, will put in evidence the application possibilities, by comparing different models, examples and application cases, will introduce design techniques for systems based on these technologies.

Teachers

The course is composed by a blending of lectures and exercises by the course teacher and the teaching assistant:

Course Program

  • What is Soft Computing: fuzzy systems, neural networks, stochastic algorithms and models;
  • Fuzzy models: fuzzy sets, fuzzy logic, fuzzy rules, motivations for fuzzy modeling;
  • Neural networks: basics, supervised and unsuprvised learning, main modelsi, selection and evaluation;
  • Stochastic models: basics, optimization of models, fitness function, model definition, genetic algorithms, reinforcement learning, bayesian networks;
  • Applications: motivations, choices, models, case studies.