## Large Margin Filtering

### Description

This code is an implementation of the large margin filtering method for both 1D sequence labeling and 2D pixel classification in images. It is the code that has been used in the paper :

R. Flamary, D. Tuia, B. Labbé, G. Camps-Valls, A. Rakotomamonjy, **"Large Margin Filtering"**, IEEE Transactions Signal Processing, Vol. 60, N. 2, pp 648-659, 2012.

[Abstract]
[BibTeX]
[URL]
[PDF]
[Code]

**Abstract**: Many signal processing problems are tackled by filtering the signal for subsequent feature classification or regression. Both steps are critical and need to be designed carefully
to deal with the particular statistical characteristics of both
signal and noise. Optimal design of the filter and the classifier are typically aborded in a separated way, thus leading
to suboptimal classification schemes. This paper proposes an
efficient methodology to learn an optimal signal filter and a
support vector machine (SVM) classifier jointly. In particular,
we derive algorithms to solve the optimization problem, prove its
theoretical convergence, and discuss different filter regularizers
for automated scaling and selection of the feature channels. The
latter gives rise to different formulations with the appealing
properties of sparseness and noise-robustness. We illustrate the
performance of the method in several problems. First, linear
and nonlinear toy classification examples, under the presence
of both Gaussian and convolutional noise, show the robustness
of the proposed methods. The approach is then evaluated on
two challenging real life datasets: BCI time series classification
and multispectral image segmentation. In all the examples, large
margin filtering shows competitive classification performances
while offering the advantage of interpretability of the filtered
channels retrieved.

**BibTeX**:

@article{ieeesp2012,
author = { Flamary, R. and Tuia, D. and Labbé, B. and Camps-Valls, G. and Rakotomamonjy, A.},
title = {Large Margin Filtering},
journal = { IEEE Transactions Signal Processing},
volume = {60},
number = {2},
pages = {648-659},
editor = {},
year = {2012}
}

In addition the package contains an updated version of the Toolbox SVM-KM (with classifiers defined as a structure and not a bunch of matrices), and general function for validation/cross validation.

This package contains:

- SVM-KM : SVM and kernel methods toolbox (see here)
- Wrappers function svmclass2 that permits to learn different SVM
- Solvers (libsvm, monqp, svqp2, ...)
- Other methods: GMM (using netlabs)

### Download

Current version : 0.9

Download : FilterSVM.zip

### Installation

Quick version:

- Add all the paths and subpath to matlab.
- Execute make.m to compile the mex file (to use libsvm/svqp2)
- Entry file : Dataset_Toy/Test_FilterSVM.m

### Informations

Source code hierarchy