Kernel methods are a class of learning machine  that has become an increasingly popular tool for learning tasks such as pattern recognition, classification or novelty detection.  This popularity  is mainly due  to the success of the support vector machines (SVM), probably the most popular kernel method,  and to the fact that kernel machines can be used in many applications as they provide a bridge from linearity to non-linearity. This allows the generalization of many well known methods such as PCA or LDA to name a few. Other key points related with kernel machines are convex optimization, duality  and related sparcity.

The Objective of this course is to provide an overview of all these issues related with kernels machines. To do so, we will introduce kernel machines and  associated mathematical foundations through practical implementation. All  lectures will be devoted to the writing of some Matlab functions that, putting all together, will provide a toolbox for learning with kernels.