Classification de signaux EMG - jfleureau.free.frjfleureau.free.fr/files/public/pub/TFE2005.pdf ·...

75
Classification de signaux EMG Travail de Fin d’Études M. Sc., Automatique et Systèmes de Production Julien FLEUREAU sous la direction de M.F. LUCAS Juin-Août 2005 à Aalborg, Danemark

Transcript of Classification de signaux EMG - jfleureau.free.frjfleureau.free.fr/files/public/pub/TFE2005.pdf ·...

Classificationde signaux EMG

Travail de Fin d’ÉtudesM. Sc., Automatique et Systèmes de Production

Julien FLEUREAUsous la direction de M.F. LUCAS

Juin-Août 2005 à Aalborg, Danemark

Résumé

Une façon très intéressante de comprendre et d’influencer le comportement de nosmuscles est de considérer les influx électriques appelés signaux EMG (pour Électro-MyoGramme) qui les parcourent. Ainsi, pouvoir reconnaître un signal EMG d’un autrepeut être utile à la détection de pathologies, de mouvements et servir à un diagnostic cli-nique ou à la commande d’une prothèse. C’est pourquoi nous nous sommes intéressés audéveloppement d’outils théoriques et pratiques destinés à la classification automatiquede ces signaux, en considérant notamment leurs spécificités.

Les signaux EMG étant asynchrones et assimilables à des sommations de trains d’ondesirréguliers, une simple représentation temporelle est insuffisante et redondante pour pouvoirles différencier. L’utilisation d’une représentation temps-échelle et notamment de la trans-formée en ondelettes semble donc a priori judicieuse. Nous avons en outre tenté, danscette étude, d’utiliser le cadre polyphasique amené par la théorie du lifting d’ondelettespour améliorer les performances obtenues.

Une fois représentés dans ce nouvel espace temps-échelle, les signaux EMG doivent pou-voir être classés. Les classifieurs SVM (Support Vector Machine) ont été choisis dansnotre étude pour leur popularité et les performances qu’ils étaient susceptibles d’appor-ter avec notamment une de leur implémentation, réputée rapide et performante baptiséeSimpleSVM.

Afin de mettre en place et tester toute cette méthodologie, nous avons donc du mettreau point différentes librairies nous permettant ensuite d’évaluer les performances de cetteapproche a priori très théorique. Dans cette optique, après avoir choisi le cadre du C++pour écrire notre code, pour sa rapidité et son ergonomie, 2 librairies ont donc été misesau point et testées : une librairie permettant de manipuler transformée en ondeletteset lifting dans les cadres orthogonaux et biorthogonaux, et une librairie implémentant enC++ la théorie des SimpleSVM.

Un nouveau classifieur, baptisé WSVM, mélangeant atouts des SVM et de la tranforméeen ondelettes a finalement lui aussi été développé et mis à l’épreuve sur des batteries designaux simulés (sur un simulateur créé aussi par nos soins en C++) et réels fournissantdes résultats et performances probantes aussi bien en terme de précision que de vitesse.

Table des matières

1 Généralités 51.1 Center for Sensory-Motor Interaction (SMI) . . . . . . . . . . . . . . . . . . 5

1.1.1 Activités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.1.2 Réseau international . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.1.3 Formation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.1.4 Équipe et management . . . . . . . . . . . . . . . . . . . . . . . . . . 71.1.5 Laboratoires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.2 Les signaux EMG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.2.1 Mouvement et MU . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.2.2 Les signaux EMG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.3 Objectifs et méthodologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111.3.1 Objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111.3.2 Méthodologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2 Ondelettes et Lifting d’ondelettes 122.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.2 Décomposition en ondelettes . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.2.1 Transformée en ondelettes continue . . . . . . . . . . . . . . . . . . . 122.2.2 Discrétisation de la transformée en ondelettes . . . . . . . . . . . . . 132.2.3 Bancs de filtres et algorithme pyramidal . . . . . . . . . . . . . . . . 14

2.3 Lifting d’ondelettes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.3.1 Représentation polyphasique . . . . . . . . . . . . . . . . . . . . . . 152.3.2 Lifting primal, dual . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.3.3 Atouts et limites de la théorie du lifting . . . . . . . . . . . . . . . . 19

2.4 Paramétrisation d’ondelettes . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.5 Synthèse et Implémentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3 SVM et SimpleSVM 253.1 SVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.1.1 Présentation des SVM . . . . . . . . . . . . . . . . . . . . . . . . . . 253.1.2 Énoncé général du problème de classification . . . . . . . . . . . . . 263.1.3 Classifieur à hyperplan . . . . . . . . . . . . . . . . . . . . . . . . . . 273.1.4 Énoncé du problème d’optimisation associé à un classifieur à hyperplan 29

1

3.1.5 Astuce du noyau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333.1.6 SVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.2 SimpleSVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383.2.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383.2.2 Reformulation du problème SVM . . . . . . . . . . . . . . . . . . . . 383.2.3 Les 3 groupes de points Is,Ic et I0 . . . . . . . . . . . . . . . . . . . 393.2.4 Contraintes primales et duales . . . . . . . . . . . . . . . . . . . . . . 393.2.5 L’algorithme SimpleSVM . . . . . . . . . . . . . . . . . . . . . . . . 403.2.6 Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

3.3 Synthèse et Implémentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

4 WSVM 444.1 Algorithme général . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

4.1.1 Contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444.1.2 Grandes lignes des classifieurs WSVM . . . . . . . . . . . . . . . . . 464.1.3 Principe général des classifieurs WSVM . . . . . . . . . . . . . . . . 48

4.2 Optimisation de l’ondelette par niveau . . . . . . . . . . . . . . . . . . . . . 484.2.1 Nouvelle représentation des signaux et de leur DWT . . . . . . . . . 484.2.2 Contraste de Fisher . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

4.3 Sélection d’un SVM par niveau . . . . . . . . . . . . . . . . . . . . . . . . . 514.3.1 Nettoyage de la population . . . . . . . . . . . . . . . . . . . . . . . 514.3.2 Cross-Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524.3.3 Performance d’un SVM . . . . . . . . . . . . . . . . . . . . . . . . . 54

4.4 Décision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554.5 Synthèse et Implémentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

5 Application à la classifications de signaux EMG 585.1 Simulateur de signaux EMG . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

5.1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585.1.2 Fibre musculaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585.1.3 Unité Motrice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595.1.4 Signal EMG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

5.2 Signaux simulés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625.2.1 Forme des MUAPs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625.2.2 Asynchronisme inter-MU . . . . . . . . . . . . . . . . . . . . . . . . . 645.2.3 Asynchronisme intra-MU : Signaux Polyphasiques . . . . . . . . . . 66

5.3 Signaux Réels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675.4 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

6 Conclusion et remerciements 70

2

Table des figures

1.1 Organisation du SMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.2 Laboratoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.3 Organisation du système de contrôle moteur . . . . . . . . . . . . . . . . . . . . . . 81.4 Unité Motrice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.5 Synapse Neuromusculaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.6 Motor Unit Action Potential . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.7 Signal EMG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.1 Exemples d’Ondelettes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.2 Algorithme Pyramidal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.3 Zoom sur la partie "Analyse" d’un banc de filtres . . . . . . . . . . . . . . . . . . . 162.4 Banc élémentaire d’Analyse-Synthèse optimisé . . . . . . . . . . . . . . . . . . . . . 172.5 Paramétrisation d’ondelettes par Lifting . . . . . . . . . . . . . . . . . . . . . . . 202.6 Bancs de filtres miroirs conjugués . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.7 Évolution de l’ondelette paramétrée par H0(α) . . . . . . . . . . . . . . . . . . . . 232.8 Librairie Ondelettes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.1 Transfert dans un "Featuring Space" . . . . . . . . . . . . . . . . . . . . . . . . . 263.2 Cas d’un problème linéairement séparable . . . . . . . . . . . . . . . . . . . . . . . 283.3 Choix d’une séparatrice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283.4 Introduction du concept de marges . . . . . . . . . . . . . . . . . . . . . . . . . . 293.5 Introduction du concept de marges . . . . . . . . . . . . . . . . . . . . . . . . . . 303.6 Cas non linéairement séparable . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333.7 Transport dans le Featuring Space . . . . . . . . . . . . . . . . . . . . . . . . . . 343.8 Exemples de noyaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353.9 Mécanismes SVM et astuce du noyau . . . . . . . . . . . . . . . . . . . . . . . . . 363.10 Performance SimpleSVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423.11 Implémentation SimpleSVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

4.1 Représentation Marginale d’un Signal . . . . . . . . . . . . . . . . . . . . . . . . . 454.2 Algorithme Ondelettes + K-PPV . . . . . . . . . . . . . . . . . . . . . . . . . . . 454.3 Algorithme WSVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484.4 Nouvelle représentation des signaux . . . . . . . . . . . . . . . . . . . . . . . . . . 494.5 Difficultés d’Aprentissage des SVM . . . . . . . . . . . . . . . . . . . . . . . . . . 51

3

4.6 Influence du Nettoyage de la Population d’Apprentissage . . . . . . . . . . . . . . . . 524.7 Fonction de Décision et SVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

5.1 Fonction de Décision et SVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595.2 Simulation d’un Signal EMG au niveau d’une Fibre Musculaire . . . . . . . . . . . . 595.3 Simulation d’un Signal EMG au niveau d’une Unité Motrice . . . . . . . . . . . . . . 605.4 Electrode au sein d’un muscle . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615.5 Electrode au sein d’un muscle . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615.6 Divergence des Formes d’Onde . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635.7 Divergence de la synchronisation inter-MU . . . . . . . . . . . . . . . . . . . . . . 645.8 Fonctionnement WSVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655.9 Signaux polyphasiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665.10 Évolution du Taux de Classification avec le Jitter . . . . . . . . . . . . . . . . . . . 675.11 Signaux EMG réels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

4

Chapitre 1

Généralités

1.1 Center for Sensory-Motor Interaction (SMI)

1.1.1 Activités

Le SMI est un laboratoire intégré à l’université d’Aalborg (Danemark) depuis 1993 ausein duquel s’est déroulé mon Travail de Fin d’Étude, TFE qui tenait aussi lieu de stagepratique pour le Master ASP que j’effectuais en parallèle.

Le principal objectif du SMI réside dans l’étude et la compréhension des interactionsentre systèmes nerveux et musculaires chez l’homme, l’objectif ultime étant de pouvoirmettre au point de nouvelles méthodes destinées à suppléer ou réparer des défaillanceschez un individu malade.

Dans cette optique, le SMI se divise en 3 départements différents sensés couvrir l’ensembledes domaines concernés par ce pôle de recherche :

Fig. 1.1 – Organisation du SMI

5

– Le "Motor Control Group Research" dont les objectifs sont :• Le développement de nouvelles techniques destinées à l’étude du contrôle de nos

mouvements.• La compréhension des liens mécaniques liant tendons et muscles.• Le contrôle central et la modulation des mouvements d’un individu.

– Le "Pain Research Group" qui se predestine :• Au développement de nouvelles techniques pour induire et évaluer des douleurs

musculaires, dermiques, et viscérales.• À l’étude de l’hyperexcitabilité centrale et périphérique et des interventions phar-

macologiques.• À la compréhension de l’aspect spinal et trigeminal de la plasticité neuronale.• À la réalisation d’un mapping liant activité cérébrale et douleur ressentie par le

patient.

– Le "Neural Prosthesis Group", groupe auquel j’étais rattaché durant mon stageet qui se concentre quant à lui sur :• La caractérisation et le développement d’électrodes internes ou externes et de ma-

tériel électronique réalisant une interface avec le système neuromusculaire.• Le développement de techniques de traitement du signal applicables à des enregis-

trements de signaux physiologiques.• Le développement de techniques permettant de réactiver de manière contrôlée des

muscles paralysés.• Le développement et l’évaluation des systèmes de réhabilitation.

1.1.2 Réseau international

Le SMI s’intègre à de nombreux réseaux institutionnels évoluant dans les domainesde l’ingénierie médicale, des neurosciences et de la médecine. De nombreux travaux derecherche sont ainsi effectués en partenariat avec d’autres centres de recherche mais aussiavec des centres hospitaliers et des entreprises. Aujourd’hui, cette coopération lie près de40 organismes répartis dans 15 pays.

1.1.3 Formation

Le SMI propose en outre des programmes de formations pour des étudiants. Ainsi uneécole doctorale est-elle rattachée à l’institut depuis 1997 avec pour objectif la formationde docteurs spécialisés dans les sciences touchant au domaine du biomédical. De la mêmefaçon, il existe un master lié à l’ingénierie biomédicale avec notamment des applicationsplus spécifiques en électronique. Enfin un institut rattaché, le Parker Institute offre uncontact encore plus proche avec le milieu hospitalier et permet d’accueillir ici encore desétudiants en Ph.D..

6

1.1.4 Équipe et management

Le laboratoire compte près de 40 personnes réparties en chercheurs, techniciens et per-sonnel administratif et accueille près de 30 doctorants, la moitié du personnel venant del’étranger. Durant mon passage au sein du SMI, je travaillais sous la tutelle de MonsieurDario FARINA, professeur associé au sein du laboratoire.

1.1.5 Laboratoires

Le SMI dispose d’une dizaine de laboratoires équipés en chaînes d’acquisition de signauxEMG, EEG, MMG et en matèriel permettant de réaliser des protocoles expérimentauxplus ou moins complexes. Chacun a donc la possibilité de disposer de nombreux signauxou enregistrements réels outre les simples signaux de simulation traditionnels.

Fig. 1.2 – Laboratoire

1.2 Les signaux EMG

1.2.1 Mouvement et MU

Avant d’introduire la partie purement mathématique de nos travaux, nous allons dansun premier temps expliquer de manière très simplifiée le contexte et les objets auxquelss’appliquerons notre théorie, à savoir les signaux EMG ([17], [11], [31]).

Tout mouvement est gouverné par la mise en jeux de 3 entités distinctes :– Le cerveau, qui est à l’origine de la décision entraînant le mouvement.– Les muscles, qui ne sont autres que les organes moteurs permettant le mouvement.

7

– Les nerfs, qui permettent de transmettre l’information du cerveau "décideur" auxmuscles "effecteurs". On distinguera en particulier et de manière très simplifiée 2types de neurones : les neurones transmettant l’information du cerveau à la moelleépinière et les neurones appelés α-motoneurones (ou simplement motoneurones)transmettant l’information de la moelle épinière au muscle.

Par conséquent, à chaque mouvement :– Une information est émise du cortex cérébral commandant la création d’un mouve-

ment.– Cette information est relayée dans un premier temps jusqu’à matière grise de la moelle

épinière (zone contenant les corps cellulaire, c’est à dire la base des α-motoneurones)par le biais de premiers neurones.

– Ces neurones excitent (ou inhibent alors) des α-motoneurones de la moelle épinièrequi vont à leur tour exciter ou inhiber les fibres musculaires auxquelles ils sont rat-tachés. On notera qu’un muscle est composé d’un ensemble de fibres musculaires etqu’un α-motoneurone commande seulement la contraction d’une petite partie desfibres musculaires d’un muscle complet.

Fig. 1.3 – Organisation du système de contrôle moteur

8

L’unité de base que l’on considère généralement pour caractériser un mouvement est unesous-entité du complexe Cerveau-Nerf-Muscle que l’on nomme Unité Motrice (MU). UneMU est définie comme étant l’ensemble composé par : Un motoneurone + Un faisceaude fibres musculaires.

Fig. 1.4 – Unité Motrice

1.2.2 Les signaux EMG

La contraction d’une fibre musculaire d’une MU est le fruit de phénomènes purementélectriques (l’électricité se propageant dans le corps humain de manière "chimique" etplus particulièrement "ionique"). Ainsi l’information provenant d’un motoneurone n’estautre qu’un train d’impulsions électriques (en réalité une succession de dépolarisation etde repolarisation de la fibre nerveuse) qui se propage dans la fibre musculaire par le biaisd’une interface appelée synapse neuromusculaire. Ainsi la contraction d’un muscle et lefruit de la polarisation électrique de l’ensemble de ses fibres musculaires.

Fig. 1.5 – Synapse Neuromusculaire

9

C’est la mesure de l’activité électrique d’une fibre musculaire que l’on appelle électro-myogramme. Généralement, on réalise une telle acquisition en introduisant une électrodeintramusculaire dont on enregistre le potentiel par rapport à un potentiel de référence.Dans l’idéal on devrait donc pouvoir observer une suite de formes simples caractéristiquesde la polarisation/dépolarisation de la fibre musculaire appelée Potentiel d’Action d’UnitéMotrice (MUAP).

Fig. 1.6 – Motor Unit Action Potential

Mais en réalité l’électrode introduite n’est pas capable de restreindre ses mesures àl’unique fibre musculaire dans laquelle elle est implantée, et aux MUAPs qu’elle devraitnormalement observer, s’ajoutent les MUAPs des fibres voisines. Par conséquent le signalEMG mesuré se retrouve être la somme de MUAPs aux formes différentes, ces mêmessommes n’étant pas nécessairement (et d’ailleurs pas généralement) synchrones.

Fig. 1.7 – Signal EMG

10

Outre l’intérêt purement scientifique que présente l’enregistrement donné par un EMG,ce dernier offre de nombreuses indications très intéressantes d’un point de vue clinique.En effet l’étude de la présence et des formes des MUAPs, de leur synchronisation, de laqualité du recrutement (c’est à dire notre capacité à exciter plusieurs fibres en même temps)permet d’un point de vue strictement médical de détecter certaines pathologies telles queles myopathies, les poliomyélites, les sciatiques ou les polynévrites. Mais plus loin que cesconsidérations cliniques, on peut même voir dans les signaux EMG des signaux de basepermettant la commande de prothèse chez un patient. En effet au même titre qu’un nerf,un signal EMG contient une information spécifique d’un mouvement. Savoir comprendre etreconnaître cette information peut donc avoir des répercutions directes dans la conceptionde système permettant la réhabilitation d’individus handicapés par exemple.

1.3 Objectifs et méthodologie

1.3.1 Objectifs

Comme l’indique l’intitulé de notre rapport, l’objectif que l’on s’est fixé durant nostravaux était la réalisation d’un système automatique permettant la classificationdes signaux EMG. Cet objectif est directement motivé par ce que l’on a dit auparavant :puisque reconnaître un signal EMG d’un autre offre des perspectives cliniques voire deréhabilitation, trier et classer ces mêmes signaux fournit a fortiori des outils très utiles auclinicien ou au concepteur de prothèse. Ainsi savoir dire si un signal EMG appartient àune classe de signaux "sains" ou "malades", si un signal EMG correspond à une classe demouvement de supination ou de pronation, sont les objectifs ultimes de nos travaux.

1.3.2 Méthodologie

Cependant le cadre de recherche permettant de réaliser de tels travaux est très vaste etl’on se devait de restreindre nos prospections à certaines limites. Dans le cadre de notreétude on s’est donc intéressé à des problèmes de classification supervisée (classificationbasée sur un apprentissage préalable) et biclasse (on donnera cependant des indicationssur la possibilité d’extension à du multiclasse). D’autre part, on a notamment axé nosrecherches sur un classifieur qui se baserait sur les outils théoriques de la décomposition enondelettes et de son extension polyphasique baptisée lifting et des machines de type SVM.Nous expliquerons comment et pourquoi ces outils ont été choisis par la suite. Enfin destests pratiques pourront être réalisés au travers de 2 librairies que nous avons développéesdurant notre stage, librairies consacrées au lifting d’ondelettes et aux SVM, et écrites enC++.

11

Chapitre 2

Ondelettes et Lifting d’ondelettes

2.1 Motivation

Un signal EMG est comme nous venons de l’expliquer un signal par définition asynchrone,construit à partir de la sommation de différents trains d’ondes (MUAP). Par conséquentdans un souci de classification, la simple représentation temporelle que constitue un enre-gistrement EMG n’est pas suffisante et n’offre pas de critère satisfaisant pour discriminer.

En revanche une représentation temps-fréquence ou temps-échelle de ce même signalpeut nous affranchir du caractère asynchrone des enregistrements. De plus, le faitqu’un signal EMG soit la sommation d’une version dilatée et translatée d’une mêmeMUAP mère nous amène à établir un lien avec la notion d’ondelettes. C’est pourquoi nousallons nous intéresser non pas directement au signal temporel mais à sa décomposition enondelettes et aux moyens d’obtenir cette décomposition de la manière la plus efficacepossible.

2.2 Décomposition en ondelettes

2.2.1 Transformée en ondelettes continue

Nous allons ici rappeler brièvement le notion d’ondelette et notamment celle de dé-composition en ondelettes (pour tout complément, on pourra se rapporter au rapportbibliographique établi précédemment) ([22], [19]).

Une ondelette est une fonction ψ ∈ L2(R) d’énergie finie, de moyenne nulle, normaliséeet centrée au voisinage de t = 0.

L’idée de base sous-jacente au concept d’ondelette est la possibilité de pouvoir décom-poser toute fonction sur un ensemble d’autres fonctions obtenues à partir d’une ondeletteinitiale appelée ondelette mère (comme on peut décomposer un vecteur dans une base

12

Fig. 2.1 – Exemples d’Ondelettes

orthonormée de vecteurs par exemple) dans le but d’obtenir une représentation plus adé-quate. On définit alors dans cette optique une famille de sous-fonctions appelées atomesconstruite à partir de translations d’un facteur s et de dilatations d’un facteur u successivesde l’ondelette mère :

ψu,s(t) =1√sψ(t− u

s)(u,s)∈R2 (2.1)

La famille des ψu,s constitue une famille d’atomes du plan temps-échelle sur laquelleon peut projeter n’importe quelle fonction. La décomposition en ondelettes continueou CWT d’une fonction f n’est autre que la projection de f sur les atomes définit ci-avantet ceci pour tous les couples (u, s) ∈ R2 du plan temps-échelle. Rappelons que la notion deprojection s’exprime ici au travers du produit scalaire définit dans l’espace de Hilbert defonctions, L2(R), avec :

〈f, g〉 =∫ ∞

−∞f(t)g∗(t)dt (2.2)

Autrement dit, on a donc :

CWTf(u, s) =∫ ∞

−∞f(t)

1√sψ∗(

t− u

s)dt (2.3)

2.2.2 Discrétisation de la transformée en ondelettes

Cependant la CWT n’est que rarement utilisée directement, essentiellement pour desraisons de redondance et d’implémentation informatique. Une théorie a donc été dé-veloppé pour échantillonner de manière correcte la CWT, c’est à dire sélectionner unsous-ensemble de couples de (u, s) ∈ R2, qui permette non seulement de préserver l’infor-mation de la CWT mais aussi de ne pas considérer les redondances de celle-ci. On montre

13

en particulier que si les atomes ψu,s pour les couples (u, s) ∈ R2 conservés forment uneframe d’ondelettes (c’est à dire une famille de fonction dont les propriétés pourront êtreretrouvées dans la partie bibliographique établie précédemment) alors l’échantillonnage dela CWT est optimal. Dans ce cas à cette frame d’ondelettes optimale pour la décompo-sition, on associe une frame duale d’ondelette optimale pour la reconstruction, frame pasnécessairement identique à sa conjointe.

On montre en particulier que la famille dyadique d’ondelettes ψj,k définies parl’échantillonnage de la CWT

(aj , tk) = (2j , 2jk)

constitue une frame et dans ce cas, ce pavage de la CWT porte le nom de DWT (Dis-crete Wavelet Transform). Par la suite c’est ce type de frame que nous considéreronspour échantillonner la CWT et les décompositions en ondelettes auxquelles nous feronsallusion seront donc systématiquement des DWT.

Deux types de frames d’ondelettes (dyadiques dans notre cas) nous intéresseront particu-lièrement par la suite pour la parcimonie et les propriété d’othogonalité qu’elles apportent :

– Le cas des frames biorthogonales. Dans ce cas (si on note ψj , l’ensemble les ψj,k

pour tout k), les ψjj∈Γ sont libres et la frame primale ψjj∈Γ est appelée basede Riesz. La base duale ψjj∈Γ est aussi une famille libre et est donc elle-aussi unebase de Riesz. Dans ce cas précis, les 2 bases de Riesz ainsi formées constituent enoutre un système biorthogonal, c’est à dire :

〈ψp, ψn〉 = δ[p− n] (2.4)

– Enfin le cas des frames orthogonales, cas particulier du cas biorthogonal, souventrencontré dans l’application de la théorie des frames aux transformées en ondelettes.C’est le cas particulier où frame primale et frame duale sont identiques. Dans ce casla redondance de la frame est alors minimale et la reconstruction facile puisque labase duale est directement accessible.

2.2.3 Bancs de filtres et algorithme pyramidal

Dans le but de calculer rapidement la DWT, un algorithme très performant proposé parS. MALLAT et basé sur l’association de la théorie des bancs de filtres à reconstructionparfaite et de la théorie des AMR (Analyse Multi-Résolution) a été élaboré (onpourra ici encore se reporter à la partie bibliographique pour plus de détails). On montreainsi que la mise en cascade de bancs de filtres tels que celui de la figure ci-après permetde calculer les coefficients de la DWT d’un signal quelconque ([14], [36], [5], [18]).

On démontre en effet que sous réserve d’un choix des filtres h1, h2, g1 et g2 adéquat(N.B. : Dans le cas biorthogonal h1, h2, g1 et g2 sont les filtres d’un banc à reconstruction

14

Fig. 2.2 – Algorithme Pyramidal

parfaite devant respecter une condition de biorthogonalité énoncée par Daubechies, Cohenet Feauveau, et dans le cas orthogonal, h1 = h2 et g1 = g2, et h1 et g1 sont des filtresmiroirs conjugués), on construit une famille d’ondelettes dyadique ψj,n (caractéristique duchoix des filtres) et on calcule notamment les coefficients :

dj [n] = 〈aj−1, ψj,n〉 (2.5)

qui ne sont autres que les coefficients successifs (appelés coefficients de détail), pourtoutes les échelles j et pour tout les instants k de la grille dyadique, de la DWT du signald’entrée considéré a0.

2.3 Lifting d’ondelettes

2.3.1 Représentation polyphasique

Si le banc de filtre présenté précédemment offre la possibilité d’obtenir aisément la DWTd’un signal, il n’est pas optimal d’un point de vue numérique et calculatoire et nous allonsvoir qu’il est possible, par le biais d’une approche théorique légèrement différente de celleconsidérée jusqu’ici de l’améliorer ([32], [29], [27], [28], [30]).

Quand on observe la cascade de bancs de filtres à reconstruction parfaite on s’aperçoitque les opérations de filtrage de la phase d’analyse se font avant le sous-échantillonnage.On filtre donc tous les coefficients du signal sachant qu’immédiatement après, la moitié deces coefficients filtrés seront mis de côté. Par conséquent, en terme de coût de calculs, laprocédure n’est pas optimale.

Si l’on détaille l’expression des signaux filtrés et sous-échantillonnés on a (pour un signalcausal) :

y[0] = h[0]x[0]y[1] = h[0]x[1] + h[1]x[0]y[2] = h[0]x[2] + h[1]x[1] + h[2]x[0]...

15

Fig. 2.3 – Zoom sur la partie "Analyse" d’un banc de filtres

et après le sous-échantillonnage (on ne conserve que les termes "pairs" de y) :

z[0] = y[0] = h[0]x[0]z[1] = y[2] = h[0]x[2] + h[1]x[1] + h[2]x[0]...

On s’aperçoit donc que dans le signal z issu de la première partie du banc, les termes"pairs" du signal sont associés aux termes "pairs" du filtre tandis que les termes "impairs"du signal sont associés aux termes "impairs" du filtre. D’où une première idée qui est deséparer au préalable, avant le filtrage, termes pairs et impairs des signaux etfiltres afin de gagner du temps dans les produits de convolution effectués par la suite. Cetype d’approche porte le nom de représentation polyphase.

Dans cette optique reconsidérons la cascade de bancs de filtres (figure 2.2) corrigée avecce qui vient d’être suggéré et en nous plaçant dans le cadre de représentation équivalent destransformées en Z (N.B. : L’utilisation d’un tel cadre simplifie calculs et vision des chosesen transformant notamment les produits de convolution en simples produits. En outrel’introduction de la transformée en Z induit l’utilisation de polynôme à puissance négativece qui explique notre recours à une extension des polynômes aux puissances négatives qu’onappelle polynômes de Laurent (là-encore se référer à la partie bibliographique pour toutcomplément). Les termes pairs et impairs du signal sont séparés avant le filtrage ("split")et l’on introduit une nouvelle matrice de polynômes de Laurent, dite matrice polyphase,qui n’est autre qu’une matrice séparant les transformées en z des parties paires et impairesdes couples de filtres induits par la construction de bases d’ondelettes.

Cette matrice s’écrit :

P (z) =[he(z) ge(z)ho(z) go(z)

](2.6)

et la matrice associée aux filtres duaux (et donc à l’ondelette duale)

P (z) =[he(z) ge(z)ho(z) go(z)

](2.7)

16

Fig. 2.4 – Banc élémentaire d’Analyse-Synthèse optimisé

On montre facilement, par simple calcul (notamment en utilisant toutes les propriétéspropres aux polynômes de Laurent) et en repassant dans le domaine temporel, que le bancprésenté ci-avant est parfaitement équivalent aux bancs de filtres à reconstruction parfaiteévoqués auparavant à la figure 2.2 (en notant h1 = h, g1 = h, h2 = h, g2 = g).

Construire des bases orthogonales ou biorthogonales d’ondelettes, revient donc non plusà directement choisir les filtres h et g mais à choisir une matrice P vérifiant entre autre lesconditions de biorthogonalité (ou d’orthogonalité).

2.3.2 Lifting primal, dual

Une théorie, basée sur la représentation polyphasique que l’on vient de présenter, proposeune méthode constructive pour la synthèse de cette matrice. Cette théorie, introduitepar Sweldens, porte de le nom de Lifting d’ondelettes et la philosophie de cette approchepeut se résumer de la manière suivante :

• Choix d’une matrice P0 de base,• Modification de P0 en P par des opérations élémentaires appelées opérations de

lifting primale et duale,• Vérification de la validité de P (satisfaction de certaines conditions).

Nous allons ici détailler un peu chacune de ces étapes, le but étant de comprendrela manière dont on pourrait utiliser le lifting d’ondelettes pour synthétiser des matricespolyphase et par conséquent des filtres h et g, images d’une ondelette dans la décompositiondyadique, on le rappelle.

Le lifting d’ondelettes met en place une approche constructive (et même récursive) des-tinée à construire une matrice polyphase. La matrice P s’élabore par conséquent en lui

17

appliquant successivement différents opérateurs. Se pose donc la question de l’initialisa-tion c’est à dire du choix de P0, la matrice polyphase initiale. Deux approches peuvent êtreenvisagées. Soit on a déjà une idée de la matrice (ou des filtres) que l’on souhaite créérauquel cas, la formule [

he(z) ge(z)ho(z) go(z)

]nous permet simplement de construire la première matrice P0. Soit on souhaite construire

une matrice P complètement inédite et on n’a donc aucune idée a priori de la forme de P0.On doit donc trouver une matrice initiale vérifiant les conditions imposées à une matricepolyphase la plus générale possible et par conséquent la plus simple. On montre que lechoix

P = I =[1 00 1

]avec h = 1 et g = 0, 1 (2.8)

est licite et dans ce cas la matrice P (et le couple de filtre qui lui est associé) porte lenom de filtre paresseux.

Une fois cette initialisation effectuée, on va donc faire évoluer cette matrice. Le liftingd’ondelette propose 2 façons de mettre à jour la matrice P , les 2 méthodes se résumanten pratique par de simples produits matriciels (en se plaçant toujours dans le contexte dematrices de polynômes de Laurent) :

• La première option porte le nom d’opération de lifting primale et ne modifie quele filtre g (et les filtres duaux d’analyse h et g associés). On a en particulier :

Pnew(z) = P (z)[1 s(z)0 1

](2.9)

et

gnew(z) = g(z) + h(z)s(z2) (2.10)

où s est un polynôme de Laurent a priori quelconque.

• La deuxième option quant à elle porte le nom d’opération de lifting duale et nemodifie que le filtre h. On a alors dans ce cas :

Pnew(z) = P (z)[

1 0t(z) 1

](2.11)

et

gnew(z) = g(z)− h(z)t(z−2) (2.12)

où t est là-encore un polynôme de Laurent a priori quelconque.

18

Nous venons de détailler les 2 opérations élémentaires de lifting permettant de syn-thétiser une nouvelle matrice P (et donc une nouvelle matrice d’analyse P ). Cependantces opérations ne sont pas strictement équivalentes à la synthèse d’une matrice polyphaseréutilisable directement dans un banc de décomposition en ondelettes. En effet le carac-tère complètement quelconque des polynômes s et t induit par les lifting primal et dualconduit à des matrices polyphases induisant elles-mêmes des filtres h et g qui ne satisfontpas nécessairement aux conditions de synthèse d’ondelettes. En réalité le lifting permetseulement de passer d’un banc de filtres à reconstruction parfaite à un autre banc de filtresà reconstruction parfaite. Pour être sûr d’obtenir un nouveau banc qui sera aussi un bancde décomposition en ondelettes valide, on doit donc vérifier que la nouvelle matricepolyphase obtenue (ou les filtres qu’elle induit) vérifie bien les conditions desynthèse d’ondelettes comme par exemple les conditions de biorthogonalité données parDaubechies, Cohen et Feauveau, ou plus simplement les conditions d’orthogonalité.

Nous venons donc de donner la démarche générale proposée par le lifting permettant lasynthèse de filtres réutilisable dans une décomposition en ondelettes. La simplicité de laméthode proposée par le lifting, sa généralité (cadre biorthogonal) pouvait laisser penserqu’une démarche générale et systématique construisant des ondelettes serait alors acces-sible.

2.3.3 Atouts et limites de la théorie du lifting

Revenons un instant sur l’objectif que l’on s’est fixé ici. Nous cherchons dans cette partieconsacrée aux ondelettes à montrer comment il est possible d’obtenir le plus rapidement etprécisément possible, la représentation temps-échelle d’un signal EMG que l’on souhaiteraitclasser. Nous avons choisi d’utiliser la décomposition en ondelettes car l’implémentationsous sa forme "bancs de filtres" est particulièrement efficace. Cependant, la décompositionen ondelettes, induit par essence même, le choix d’une ondelette sur laquelle sera basée ladécomposition. Se pose donc la question du choix de l’ondelette et de son élaboration.

Le lifting d’ondelettes semble pouvoir proposer une démarche simple de création decette ondelette, en multipliant des matrices et en choisissant simplement les polynômes set t. On pourrait donc proposer la démarche suivante pour construire toute une familled’ondelettes :

1 Initialisation de la matrice polyphase.

2 Choix d’un degré maximal et d’un domaine de variation des coefficients pour les poly-nômes de lifting s et t et mise en place d’une représentation paramétrique paramétréepar les coefficients de ces mêmes polynômes.

3 Parcours de la grille formée par ces paramètres avec vérification de la validité de lamatrice P obtenue pour chaque couple de paramètres testé.

19

Fig. 2.5 – Paramétrisation d’ondelettes par Lifting20

Cet algorithme, bien que simple, présente pourtant un inconvénient majeur. En effet laprocédure visant à vérifier la validité d’un couple de filtres n’est pas du tout évidente àmettre en oeuvre, cette difficulté venant essentiellement du fait que l’on ne connaît pasde conditions nécessaires et suffisantes simples à implémenter liant forme desfiltres h et g et nature de l’ondelette ([23]). On pourrait alors tenter de travailler sansvérifier cette condition, en sachant alors que le "sens" de la décomposition en ondelettesest perdu et que l’on travaille avec des "pseudo-ondelettes". Se pose alors le problème deschoix du degré des polynômes et des domaines de variations de leurs coefficientslors de la paramétrisation (l’utilisateur n’a aucune information a priori permettant d’avoiraccès à leur valeur) sachant que pour obtenir des ondelettes suffisamment complexes lesdegrés des polynômes se devront d’être assez élevés, ce qui en terme de temps de calculest relativement coûteux (en effet le parcours de la grille se faisant sur le nombrede coefficients des polynômes, plus ces derniers seront de degré élevé, plus le nombre deparamètres sera élevé et plus le temps de parcours de la grille sera grand). En pratique,on a pu s’apercevoir durant nos travaux que ces choix n’étaient "évidents" à faire etque l’on constatait des problèmes de convergence et des décomposition en ondelettesinutilisables (en pratique le calcul d’une DWT basée sur de telles "ondelettes" donnaientdes résultats incohérents)... L’application pratique de cette algorithme montre qu’un trèsgrand nombre de valeurs des paramètres caractérisant s et t conduit à des"ondelettes" qui n’en sont pas vraiment, avec des formes très irrégulières et chaotiquesd’où une grande inefficacité en terme de performance.

Par conséquent le lifting d’ondelettes n’est a priori pas la méthode la plus simple pourgénérer des ondelettes susceptibles d’être utilisées pour la décomposition de nos signaux.En revanche la théorie du lifting et notamment l’approche polyphasique qui en découlesont très intéressantes pour ce qui est d’une implémentation informatique. En effet nousavons vu qu’un nouveau banc considéré en termes de séparation des termes pairs et impairssupprimait un grand nombre d’opérations inutiles dans le calcul d’une DWT. En pratiquele nombre et par conséquent le temps de calcul d’une DWT sont divisés par2, atout non négligeable dans le cadre d’un algorithme qui ferait appel à de nombreusesdécompositions en ondelettes (ce qui sera notre cas par la suite).

Au final on peut donc dire que le lifting d’ondelettes et l’approche polyphasique offrent,dans notre optique, des atouts indéniables en terme de coûts de calcul mais que ces derniersne représentent pas à nos yeux les outils idéaux en terme de simplicité pour synthétiser desondelettes destinées à la décomposition. Si on a trouver un moyen d’augmenter les perfor-mances de calcul d’une DWT, il nous reste maintenant à trouver un moyen de construireles ondelettes indispensables à la décomposition.

2.4 Paramétrisation d’ondelettes

Dans notre démarche de construction d’ondelettes, on décide de se restreindre au casconnu et simple d’ondelettes orthogonales, restriction pas nécessairement pénalisante dans

21

un contexte de classification puisque la décomposition d’un signal dans une base orthogo-nale d’ondelettes nous amènera certainement plus de parcimonie. Notre objectif est doncde trouver un moyen de générer une "batterie" d’ondelettes orthogonales qui serviraientpour la décomposition des signaux EMG ([7], [24], [15]).

Dans cette optique, nous allons utiliser les travaux de Vaidyanathan déjà employés dans[20] et [21]. Ce dernier a justement décrit une méthode permettant de créer des bancsde filtres miroirs conjugués, bancs qui correspondent dans notre cas à la synthèsed’ondelettes orthogonales. Comme nous allons le voir, les filtres ainsi construits sontparamétrés par un nombre fini de paramètres bornés, ce qui nous permettra de couvrirun grand nombre d’ondelettes orthogonales (et même toutes asymptotiquement) tout enconnaissant les domaines de variations des paramètres (contrairement à la paramétrisationenvisagée précédemment dans le cas d’un lifting).

Fig. 2.6 – Bancs de filtres miroirs conjugués

L’idée à la base de l’algorithme que nous allons présenter et très similaire à celle déjàvue dans l’approche polyphasique du lifting. En effet si l’on nomme H0 le filtre passe-basdu banc et H1 son homologue passe-haut (filtres de longueur N qui correspondent auxfiltres h et g utilisés auparavant), le concept de base de la paramétrisation proposée parVaidyanathan revient à effectuer les décompositions de ces filtres en leurs parties paire etimpaire, c’est à dire :

H0(z) =N−1∑n=0

h[n]z−n = H00(z2) + z−1H01(z2) (2.13)

(idem pour le filtre H1)

On montre alors que sous les conditions imposées à H0 et H1 (conditions de reconstruc-tion parfaite et de quadrature), on peut mettre en oeuvre la factorisation suivante :

Hp(z) =[H0(z)H1(z)

]=

[H00(z) H01(z)H10(z) H11(z)

]=

[cos(α0) sin(α0)−sin(α0) cos(α0)

] N2−1∏

n=1

[1 00 z−1

] [cos(αn) sin(αn)−sin(αn) cos(αn)

](2.14)

22

Les filtres sont alors paramétrés par N2 coefficients prenant leurs valeurs dans [0, 2π]. Dans

le cas de filtres associés à des ondelettes orthogonales on montre même que∑N

2−1

n=0 = π4 ce

qui réduit le nombres de paramètres à N2 − 1 paramètres non contraints.

L’implémentation d’un tel algorithme pour les calculs des filtres correspondant aux on-delettes que nous utiliserons pour la décomposition des signaux EMG se fait en pratiquegrâce à une formulation récursive de la factorisation précédente (factorisation proposée parSherlock et Monro en posant N = 2k) :

Hk+1p (z) = Hk

p (z)[1 00 z−1

] [cos(αk) sin(αk)−sin(αk) cos(αk)

](2.15)

H1p (z) =

[cos(α0) sin(α0)−sin(α0) cos(α0)

](2.16)

En pratique nous utiliserons, essentiellement pour des raisons de temps de calcul, lesondelettes fabriquées à partir des paramétrisations correspondant à des valeurs de k = 2ou k = 3 ce qui limitera le nombre de paramètres non contraints à 1 ou 2.

Fig. 2.7 – Évolution de l’ondelette paramétrée par H0(α)

23

2.5 Synthèse et Implémentation

Dans cette première partie nous avons donc tenté d’expliquer l’intérêt d’utiliser les on-delettes pour analyser les signaux EMG et l’avantage que l’on avait à transférer ces mêmessignaux dans le plan temps-échelle où leur étude et notamment leur classification sera plusaisée. Derrière la notion de DWT se cachait aussi la notion de choix et construction d’onde-lettes. Dans cette optique, nous avons donc expliqué la démarche que l’on adopterait pourconstruire les ondelettes mères, en adoptant la version polyphasique du classique banc defiltre pour plus de vitesse et en paramétrant des filtres orthogonaux au moyen de la pa-ramétrisation de Vaidyanathan (on a alors un moyen simple de choisir et synthétiser nosondelettes).

Afin de pouvoir réaliser nos tests, on a implémenté tous ces concepts en C++ au traversd’une librairie consacrée aux ondelettes et au lifting offrant les possibilité d’ana-lyse et de synthèse de signaux en ondelettes (version liftée ou pas), de représentation, defactorisation d’un filtre en produits de lifting primal et dual, de génération d’ondelettes(réimplémentation polyphase des fonctions principales trouvées dans la bibliothèque [10]).

Fig. 2.8 – Exemple d’AMR obtenue au moyen de notre librairie (Signal f = PV0(f) en bas, ApproximationPV5(f) au dessus, Détails PW1..5(f)) en haut

Maintenant que l’on est capable d’obtenir de manière simple et rapide les représentationstemps-échelle des signaux EMG, on doit définir une méthode qui nous permettrait de classerces mêmes signaux. Nous allons donc désormais présenter le concept de SVM, classifieursmis au point assez récemment et qui font aujourd’hui l’objet de nombreux développements.Nous verrons ensuite que c’est dans l’assocation du concept d’ondelettes à celui de SVMqui nous permettra vraiment de classer les enregistrements électromyographiques, objetsde notre étude.

24

Chapitre 3

SVM et SimpleSVM

3.1 SVM

3.1.1 Présentation des SVM

La méthode que nous allons décrire maintenant, baptisée SVM pour Support VectorMachine ou Séparateurs à Vaste Marge est une méthode développée assez récemmentet qui adopte une démarche nouvelle dans une optique de classification par rapport auxméthodes traditionnellement utilisées telles que les K-PPR, K-PPV, Parzen, Perceptron ...Sa popularité grandissante vient du fait que cette nouvelle approche semble obtenir dansbeaucoup de situations des résultats performants et offre des possibilités de généralisationtrès intéressantes ([34], [8], [26], [4], [25], [3], [9]).

La principale nouveauté apportée par les SVM, se situe dans l’espace de représentationdes individus à classer (à ne pas confondre avec l’espace de représentation des signaux). Eneffet, si l’on considère une populationX = xi1≤i≤N de N individus à classer, les approchesclassiques raisonnent directement sur ces individus mathématiques souvent dispersés defaçon complexe dans leur espace en se basant sur des distances, des propriétés statistiquespour le calcul de fonctions de décision. Cependant la non linéarité fréquente des problèmespose de grosses difficultés aux algorithmes utilisés, surtout dans la détermination correctedes frontières. Dans le but de pallier ce défaut, l’idée de base des SVM pose la questionsuivante : pourquoi, si l’espace initial des individus se trouve être trop complexe pourenvisager une classification, ne pas "transférer" ces individus dans un autre espace F appeléfeaturing space où le problème de classification deviendrait linéaire et la déterminationdes fonctions de discriminations aisées ?

Dans cet esprit nous allons voir que les SVM permettent de linéariser un problèmede classification et donc de simplifier son traitement par le biais de l’utilisation d’espaceet de fonctions spécifiques appelées « noyaux » qui simplifient énormément la démarche declassification.

25

Fig. 3.1 – Transfert dans un "Featuring Space"

3.1.2 Énoncé général du problème de classification

Afin de décrire la méthode SVM de la manière la plus générale possible, plaçons nousdans un contexte général et pas forcément spécifique aux EMG. Pour simplifier dans unpremier temps on se place dans un contexte général de classification biclasse supervi-sée. Supposons donc données 2 classes d’objets, connues a priori et appelées populationd’apprentissage. Initialement, on connaît donc un certain nombre d’entités semblables àcelles que nous classeront ainsi que la classe à laquelle elles appartiennent. Cette donnéese formalise par la donnée d’un ensemble de couple

(xi, yi)1≤i≤m ∈ X × −1,+1 (3.1)

où les xi sont appelés observations (X étant l’ensemble des individus sur lesquelsportent la classification) et les yi les labels qui leurs sont associés.

L’objectif d’un problème général de classification supervisé se résume alors de la ma-nière suivante. Connaissant une population d’apprentissage, comment choisir la classe àattribuer à un nouvel individu qui n’appartiendrait pas à cette population. On désire doncdéterminer une fonction f dite fonction de décision, déterminée à partir de la populationd’apprentissage et qui nous permette d’attribuer une des 2 classes −1 ou +1 aux individus.

Cette fonction f devra donc à partir des "informations" données par la population d’ap-prentissage être capable de généraliser la classification à un nouvel individu x. Autrementdit cette fonction devra, de manière très simplifiée, pourvoir nous dire si x appartient àla première ou seconde classe en fonction de sa "ressemblance" plus ou moins marquéeavec les individus "connus" des 2 classes de la population d’apprentissage. On remarquerad’ores et déjà que cet objectif nécessite donc de pouvoir comparer les individus de l’espaceX et donc de disposer d’une notion de similarité ce qui implique que X est inclus dans un

26

espace de Hilbert H et qu’il dispose en particulier d’un produit scalaire noté 〈, 〉H (notionde distance).

Une façon directe d’approcher cette fonction f est de la définir de la manière suivante :

f : X → −1,+1

avec, si on définit ω− = x ∈ Classe Apprentissage -1 et ω+ = x ∈ Classe Apprentissage +1 :

f(x) < 0 → x ∈ ω−f(x) > 0 → x ∈ ω+

Donc si y est la classe réelle du nouvel individu x à classer, alors le risque de classificationest donné par le signe du produit

yf(x) (3.2)

Si ce dernier produit est positif, c’est à dire si "classe réelle" et "classe prédite" concorde,alors l’individu x est bien classé, sinon il est mal classé.

Le choix de la fonction de décision f , objectif du problème de classification devra doncse faire de telle sorte que :

– f classe correctement la population d’apprentissage,

– f se construit et se calcule facilement,

– f généralise suffisamment bien ses résultats à des populations tests autres que lapopulation d’apprentissage.

3.1.3 Classifieur à hyperplan

Afin de choisir cette fonction de décision f plaçons nous dans un premier temps dansun contexte très important pour la compréhension des SVM et de leurs fondements, àsavoir un contexte où les individus à classer évoluent dans un espace où ils peuvent êtreséparés par une simple droite. Autrement dit plaçons nous dans une situation où lafrontière, c’est à dire la courbe d’equation g(x) = 0 (séparatrice entre les 2 classes) estun hyperplan (c’est à dire une droite dans le cas bidimensionnel). Dans cette situation leclassifieur associé à la fonction de décision f est dénommé classifieur à hyperplan.

27

Fig. 3.2 – Cas d’un problème linéairement séparable

Dans ce cas g se met sous la forme :

g(x) = 〈ω, x〉H + ω0 (3.3)

et la fonction de décision f est donnée par :

f(x) = signe(g(x)) = signe(〈ω, x〉H + ω0) (3.4)

Trouver f revient alors à choisir au mieux les paramètres de l’hyperplan, c’est à dire ω etω0, en minimisant par exemple le nombre de mal classés dans la population d’apprentissage.

Cependant on voit rapidement que si on se contente d’une telle fonction de décision denombreuses solutions pourraient être retenues alors qu’intuitivement et comme le montraitla figure précédente, on doit pouvoir trouver une droite "optimale".

Fig. 3.3 – Choix d’une séparatrice

28

Dans cet esprit, il semble important d’améliorer la fonction f ci-avant définie. Pourcommencer, il paraît naturel de se dire qu’une séparatrice trop près des individus à classerpeut être dangereuse notamment lorsqu’il s’agira de généraliser l’apprentissage à d’autrespopulations test. Par conséquent, l’idée d’introduire une marge entre la frontière et les 2classes à séparer semble intéressante (pour simplifier on choisit cette marge identiquepour chaque classe).

Fig. 3.4 – Introduction du concept de marges

Intuitivement on se dit en réfléchissant au problème que, plus la marge séparant les 2classes de la frontière sera grande, plus le potentiel de généralisation de f sera important.Par conséquent là où certains algorithmes de classification font passer la minimisation dunombre d’individus mal classés comme le critère déterminant dans le choix de la fonctionf, l’attitude adoptée par un classifieur à hyperplan va consister plutôt en la maximisa-tion des marges définies par |b|. Autrement dit un classifieur à hyperplan (et donc unclassifieur de type SVM) privilégie la possibilité de généraliser à partir d’une populationd’apprentissage donnée là où d’autres classifieurs préfèrent bien "coller" à l’apprentissageau risque de parfois même "surapprendre". Cependant, même si minimiser le nombre d’in-dividus mal classés n’est plus le concept fondamental dans le cadre des SVM, commettrele moins d’erreurs possible sur la classification de la population d’apprentissagereste quand même un critère important à considérer et nous verrons comment les SVM leformalise.

3.1.4 Énoncé du problème d’optimisation associé à un classifieur à hy-perplan

Afin de maximiser ces fameuses marges indispensables pour conférer à f ses propriétés degénéralisation, il faut dans un premier temps pouvoir les calculer et notamment exprimercette marge en fonction des paramètres que l’on recherche et que l’on a. On constate d’oreset déjà qu’un même hyperplan paramétré par ω et ω0

〈ω, x〉H + ω0 = 0

29

est invariant par changement d’échelle (on peut par exemple multiplier ω et ω0

par 2). Par conséquent, on choisit de raisonner sur un hyperplan en particulier dénomméhyperplan canonique et défini par

〈ω, x〉H + ω0 = 1 et 〈ω, x〉H + ω0 = −1 (3.5)

sur les hyperplans de marges. Notre calcul de la fonction de décision f et en particulierles choix de ω et ω0 se font donc en considérant cet hyperplan en particulier.

Fig. 3.5 – Introduction du concept de marges

Sur cet hyperplan canonique, le vecteur normal s’écrit alors :

Ω =ω

‖ω‖(3.6)

De plus soient 2 individus x+ et x− appartenant aux marges et aux classes correspon-dant à leur dénomination. On a alors :

〈ω, x+〉H + ω0 = 1

et

〈ω, x−〉H + ω0 = −1

soit par différence :

〈ω, x+ − x−〉H = 2 (3.7)

30

Or la valeur de la marge b (la marge considérée étant égale à la somme des 2 demi-marges égales) s’exprime par le produit scalaire :

b = 〈Ω, x+ − x−〉H =1‖ω‖

〈ω, x+ − x−〉H (3.8)

Par conséquent on a :

b =2‖ω‖

(3.9)

Or maximiser b revient à minimiser 1b et minimiser une norme (réel positif) revient à

minimiser son carré. Par conséquent la contrainte de maximisation de la marge induitedans la détermination de f s’écrit :

minω,ω0

12‖ω‖2 (3.10)

D’autre part on souhaite, comme nous l’avons souligné auparavant, commettre le moinsd’erreurs possible sur la classification de la population d’apprentissage. Par conséquent, lecalcul de f se régit aussi sous la contrainte vue précédemment à savoir :

yif(xi) ≥ 1 pour i = 1..m

contrainte qui impose à f de bien classer la population d’apprentissage et qui s’écritici :

yi(〈ω, xi〉H + ω0) ≥ 1 pour i = 1..m (3.11)

si l’on conserve les notations introduites au début de cette partie concernant la popu-lation d’apprentissage.

Au final, on a donc défini le problème d’optimisation utile à la détermination du clas-sifieur à hyperplan canonique optimal dans le cas d’un problème de classificationlinéairement séparable. Il s’énonce par :

minω,ω0

12‖ω‖2

sous la contrainteyi(〈ω, xi〉H + ω0) ≥ 1 pour i = 1..m

De façon équivalente le Lagrangien du problème s’écrit :

L(ω, ω0, α) =12‖ω‖2 +

m∑i=1

αi(yi(〈ω, xi〉H + ω0)− 1) (3.12)

où αi, i = 1..m sont les multiplicateurs de Lagrange avec αi = 0 si la contrainte estrespectée et αi > 0 sinon.

31

Dans le contexte de la reformulation du problème d’optimisation sous contrainte à l’aidedu Lagrangien, notre objectif est de déterminer le point selle de L(ω, ω0, α) en minimisanten ω et ω0 et en maximisant suivant les αii=1..m, soit à résoudre :

δL(ω, ω0, α)δω

= 0 etδL(ω, ω0, α)

δω0= 0 (3.13)

ce qui conduit, après calcul, aux 2 résultats suivants :

m∑i=1

αiyi = 0 et ω =m∑

i=1

αiyixi (3.14)

On constate que n’interviennent dans la calcul de ω que les individus de la populationd’apprentissage ne respectant pas la contrainte

yi(〈ω, xi〉H + ω0) ≥ 1

(pour les termes respectant la contrainte αi = 0) c’est à dire les termes mal classés.Ces individus dont seul dépend le calcul de ω et donc de f portent le nom de SupportVector (SVs). Les autres observations de la population d’apprentissage ne sont pas utilesà la détermination de la frontière recherchée.

En substituant les expressions précédentes dans le Lagrangien, on élimine les variablesinitialement recherchées à savoir ω et ω0 et on obtient le problème d’optimisation qualifiéde problème d’optimisation dual qui n’est autre que le problème que l’on résout enpratique et qui s’écrit :

maxα

(W (α) =m∑

i=1

αi −12

m∑i=1

m∑j=1

αiαjyiyj〈xi, xj〉) (3.15)

avec

αi ≥ 0, i = 1..m etm∑

i=1

αiyi = 0 (3.16)

Ce problème est un problème d’optimisation convexe simple que l’on peut ré-soudre avec un algorithme d’optimisation quadratique. Une fois le vecteur α des αii=1..m

déterminé, on détermine alors ω par

ω =m∑

i=1

αiyixi

puis ω0 à partir de l’équation

δL(ω, ω0, α)δω0

= 0

32

et la fonction de décision f recherchée dans le cadre qu’on s’était établi initialementdans cette partie à savoir un cadre linéairement séparable, s’obtient finalement avec ce quia été fait précédemment par :

f(x) = signe(〈ω, x〉H + ω0)

c’est à dire

f(x) = signe(m∑

i=1

yiαi〈x, xi〉H + ω0) (3.17)

3.1.5 Astuce du noyau

Nous venons de décrire la démarche à adopter lorsque l’on souhaite trouver une sépara-trice et une fonction de décision dans un contexte où les individus peuvent être linéairementséparés. Cependant qu’advient-il si la population que l’on a sous la main n’est plus linéai-rement séparable (cas auquel on est confronté en pratique) ([1], [2], [6], [33]) ?

Fig. 3.6 – Cas non linéairement séparable

Comme nous l’avons vu au début de cette partie, l’idée des SVM est de transposer unproblème non linéaire dans un cadre linéaire. Par conséquent de tels algorithmes procèdenten 3 étapes :

– Transporter la population dans un espace appelé featuring space où elle devientlinéairement séparable,

– Trouver l’hyperplan canonique optimal dans ce featuring space en réutilisant toutela théorie des classifieurs à hyperplan vue auparavant,

– En déduire la fonction de décision en revenant dans l’espace initial de la population.

33

Pour bien comprendre ces différents étapes, nous allons les détailler une à une. On disposedonc initialement d’une population d’apprentissage

(xi, yi)1≤i≤m ∈ X × −1,+1 (3.18)

non linéairement séparable. L’idée des SVM est alors de trouver une fonction Φ (nonlinéaire)

φ : X −→ F (3.19)

qui transporte la population de son espace initial X dans un autre espace de Hil-bert F de dimension supérieure appelé "Featuring Space". F contient donc les imagesφ(xi)1≤i≤m des xi1≤i≤m et pour certaines fonctions Φ, ces mêmes φ(xi)1≤i≤m sontlinéairement séparables dans F .

Fig. 3.7 – Transport dans le Featuring Space

En reprenant les méthodes des classifieurs à hyperplan dans F où les φ(xi)1≤i≤m sontlinéairement séparables, on peut alors écrire la fonction de décision sous la forme :

f(x) = signe(m∑

i=1

yiαi〈Φ(x),Φ(xi)〉F + ω0) (3.20)

Cependant une telle formule ne peut être appliquée directement car on ne sait pas calcu-ler le produit scalaire 〈Φ(x),Φ(xi)〉F et en réalité on ne sait pas non plus choisir directementΦ pour faire en sorte que la population d’apprentissage soit directement transportée dansun espace où elle sera linéairement séparable. Pour résoudre ce problème une astuce trèsintéressante baptisée "astuce du noyau" a donc été employée. En effet on montre qu’ilexiste certains noyaux k

k : X2 → R

appelés noyaux de Mercer (on ne rentrera volontairement pas dans les détails etdéfinitions de ces noyaux et on ne donnera que les exemples les plus utilisés) qui permettentde séparer linéairement un problème de classification et qui remplacent :

〈Φ(.),Φ(.)〉F par k(., .) (3.21)

34

La fonction k peut donc être interprétée comme une mesure de la similarité, dans lefeaturing space entre l’image de 2 individus. C’est pourquoi on l’appelle classiquementfonction de similarité. En introduisant le noyau k dans notre fonction de décision onobtient alors :

f(x) = signe(m∑

i=1

yiαik(x, xi) + ω0) (3.22)

Les noyaux les plus connus et surtout les plus utilisés (qui vérifient les conditions propresaux noyaux de Mercer) sont par exemple :

– Les noyaux linéaires définis par k(x, x′) = 〈x, x′〉,

– Les noyaux RBF (Radial Basis Function) gaussiens définis par k(x, x′) = exp(− (x−x′)2

2σ )et paramétrés par leur écart-type σ,

– Les noyaux polynômiaux définis par leur degré.

Fig. 3.8 – Distances avec l’ensemble de deux points 2,3 pour différents noyaux en 1D

L’apport fondamental de l’astuce du noyau se situe donc dans le fait que la fonctionde décision et la linéarisation du problème ne sont plus le fait que d’un noyau k facile àchoisir, à paramétrer et à calculer. L’algorithme SVM que nous allons finalement développermaintenant n’est en fait que le prolongement de tout ce qui vient d’être fait jusqu’ici avecl’ajout de quelques "finitions et ajustements".

35

Fig. 3.9 – Mécanismes SVM et astuce du noyau

3.1.6 SVM

Comme nous venons de le dire l’algorithme des SVM est simplement un prolongementet un affinement de ce qui a déjà été vu grâce aux classifieurs à hyperplan et à l’astuce dunoyau.

L’astuce du noyau étant appliquée, la fonction de décision s’exprime donc par :

f(x) = signe(m∑

i=1

yiαik(x, xi) + ω0) (3.23)

ce qui implique la procédure d’optimisation quadratique :

maxα

(W (α) =m∑

i=1

αi −12

m∑i=1

m∑j=1

αiαjyiyjk(xi, xj)) (3.24)

avec

αi ≥ 0, i = 1..m etm∑

i=1

αiyi = 0 (3.25)

Il arrive cependant parfois qu’à cause d’un bruit trop prononcé ou d’une perturbationsur les enregistrements, les classes se recouvrent trop et qu’il n’existe plus d’hyperplanséparateur. Dans ce cas il peut être intéressant de relaxer les contraintes en autorisantdes exceptions (c’est à dire des individus qui violeraient la contrainte de "bonne classifica-tion") et en introduisant de nouveaux paramètres. Le critère à minimiser ne s’écrit alorsplus directement (en conservant les notations vues auparavant) :

minω,ω0

12‖ω‖2

sous la contrainteyi(〈ω, xi〉H + ω0) ≥ 1 pour i = 1..m

mais on montre que sa nouvelle forme est :

36

minω,ω0

12‖ω‖2 − νω0 +

1m

m∑i=1

ξi (3.26)

sous la contrainte

yi〈ω, xi〉H ≥ ω0 − ξi pour i = 1..m (3.27)

Les ξi sont des variables de relâchement et ν détermine la fraction maximale d’élémentsanormaux acceptables. On montre que le problème dual s’écrit alors :

maxα

(W (α) = −12

m∑i=1

m∑j=1

αiαjyiyj〈xi, xj〉) (3.28)

sous les contraintes de KKT (Kush-Kuhn-Tucker), à savoir

0 ≤ αi ≤1m, i = 1..m

etm∑

i=1

αiyi = 0 etm∑

i=1

αi ≥ ν

La forme de la fonction de décision, elle, reste inchangée mais le fait d’avoir introduitdes paramètres de relâchement et d’avoir accepté certains mal classés permet d’accéder àune plus grande généralisation et donc parfois d’obtenir de meilleurs résultats. Cetteversion "relaxée" porte le nom de ν-SVM et une autre version très utilisée de ce mêmealgorithme baptisé C-SVM réemploie les mêmes principes généraux en posant C = 1/ν.

On notera enfin qu’outre la simple classification binaire, il est possible de faire de laclassification multiclasse. Le principe est le même que celui du cas étudié biclasse, maisdes algorithmes "1 contre tous" ou "1 contre 1" sont implémentés et permettent d’étendrenotre démarche au cas où plus de 2 classes existent.

37

3.2 SimpleSVM

3.2.1 Motivation

Dans la partie précédente nous avons présenté les grandes lignes permettant de com-prendre la philosophie des SVM. Mais en pratique, malgré les résultats qu’ils offrent enterme de performance de classification et de généralisation, les algorithmes de type SVMrestent assez lents comparés à d’autres méthodes de classification, ceci venant essentielle-ment du fait que la procédure d’optimisation quadratique est une procédure d’optimisationassez coûteuse en terme de calcul.

Par conséquent toujours dans l’optique de construire un classifieur de signaux EMG leplus rapide possible il nous fallait trouver une méthode de résolution de l’étape d’optimisa-tion adaptée. Un algorithme développé par Vishwanathan ([35]) et baptisé SimpleSVMpropose une méthode simple et rapide de traitement du problème quadratiquebasé sur un principe de gradient projeté que nous allons développé maintenant ([16]).

3.2.2 Reformulation du problème SVM

La résolution du problème quadratique associé à une problématique SVM consiste en ladétermination du vecteur α des αi qui entrent en compte dans la synthèse de la fonctionde décision f qui peut s’écrire on le rappelle :

f(x) = signe(m∑

i=1

yiαik(x, xi) + ω0)

Dans ce sens, on montre que le problème initial d’optimisation des SVM à savoir :minf,b,ξ

12‖f‖

2H + C

∑mi=1 ξi

avec yi(f(xi) + b) ≥ 1− ξi où i ∈ [1,m]et ξi ≥ 0 où i ∈ [1,m]

(3.29)

où C est le scalaire permettant de régler la régularité de la fonction de décision, b lamarge et ξi les variables d’écart, peut être reformulé dans une version appelée dual deWolfe où le vecteur α est solution du problème d’optimisation suivant :

maxα∈Rm −12αTGα + eT α

avec αT y = 0et 0 ≤ αi ≤ C où i ∈ [1,m]

(3.30)

où G est la matrice d’influence de terme général Gij = yiyjk(xi, xj) et e = [1, ..., 1]T . Lasolution du problème SVM est alors donnée par la résolution d’un problème d’optimisationquadratique en dimension m sous contraintes de boîte.

38

3.2.3 Les 3 groupes de points Is,Ic et I0

Dans le problème précédent, chaque inconnue αi peut être interprétée comme l’influencede l’exemple (xi, yi) dans la solution. Du fait que seuls les points frontière (les vecteurssupports et critiques) sont importants pour la discrimination et qu’ils sont a priori peunombreux, un grand nombre de ces coefficients αi vont être nuls. Il est alors pertinentde répartir les m inconnues du problème en trois groupes de points [1,m] =Is

⋃Ic

⋃Io, définis en fonction de la valeur du multiplicateur de Lagrange αi associé :

– [Is] le groupe des points supports est celui des vecteurs supports candidats, c’est-àdire pour lesquels 0 < αi < C. Ces points sont à l’intérieur de la boîte et satisfontles contraintes. Il est aussi appelé l’ensemble de travail (working set), car il contientles variables sur lesquelles il faut « travailler » pour connaître leur valeur,

– [Ic] le groupe des points saturés est celui des vecteurs pour lequel αi = C. Cespoints sont sur le bord de la boîte. Si ces points apparaissent trop proches de laclasse opposée, voire complètement mélangés, limiter leur contribution à la frontièrede décision permet de régulariser la solution. Dans la solution finale ces points auronttous la valeur de leur αi fixée à C : ils seront contraints et contribueront à la décision,

– [I0] le groupe des points inactifs est celui des points pour lesquels αi = 0. Cespoints se situent également sur l’arête de la boîte. Dans ce cas, les vecteurs sont loinde la frontière entre les classes et ne contribuent en rien à la solution. Dans la solutionfinale ces points auront tous la valeur de leur αi fixée à 0 : ils seront contraints.

Le dual de Wolfe peut donc être réecrit en :maxα∈Rm −1

2αTGα + eT αavec αT y = 0et 0 ≤ αi ≤ C pour i ∈ Iset 0 ≤ αi = C pour i ∈ Icet 0 ≤ αi = 0 pour i ∈ Io

(3.31)

3.2.4 Contraintes primales et duales

Le problème précédent peut à nouveau être vu comme un problème d’optimisation et onpeut donc encore une fois écrire sa forme obtenue par le biais du Lagrangien en :

L(α, λ,µ,ν) =12αTGα− eT α− λαT y − νT α + µT (α− Ce) (3.32)

où les nouveaux multiplicateurs de Lagrange µ et ν sont introduits et apportent denouvelles contraintes appelées contraintes duales par opposition aux contraintes primalesqui portaient sur α et ξ.

39

Le calcul du point selle de ce nouveau Lagrangien et le lien que l’on peut faire avec leLagrangien qu’on aurait obtenu directement à partir du problème initial à savoir :

L(α, b, ξ,β) =12αTGα− eT α− bαT y + ξT (α− β + Ce) (3.33)

permettent alors de synthétiser l’ensemble des relations existant entre les différentsmultiplicateurs de Lagrange et les ensembles de points Is,Ic et I0 sous la forme suivante :

Ensemble Contraintes Initiales Contraintes Primales Contraintes DualesIs yi(f(xi) + b) = 1 0 < α < C, ξ = 0 ν = 0, µ = 0Ic yi(f(xi) + b) = 1− ξi α = C, ξ > 0 ν = 0, µ > 0I0 yi(f(xi) + b) > 1 α = 0, ξ = 0 ν > 0, µ = 0

On montre en outre que vérifier ces conditions d’optimalité revient à calculer Gα+by−epuis à s’assurer que pour tous les points non supports (α = 0) cette quantité soit positive,et que pour tous les points support saturés (α = C) cette quantité soit bien négative. Onva d’ailleurs s’apercevoir que pour résoudre efficacement le problème, il est astucieux deprendre en compte la situation des points au regard des contraintes vérifiées ou non.

3.2.5 L’algorithme SimpleSVM

L’objectif de tout algorithme SVM est double : il faut d’une part arriver à répartirl’ensemble d’apprentissage dans les trois groupes de points définis auparavant, puis unefois la répartition connue, résoudre le problème. Il s’avère que cette seconde phase estrelativement plus facile.

Supposons que l’on connaisse la répartition des points (Is ,Ic et I0 donnés) : les contraintesd’inégalités ne sont plus nécessaires (elles sont contenues implicitement dans la définitiondes trois ensembles de points). Seules les valeurs des αi pour i ∈ Is demeurent inconnues,car par définition αi = C pour i ∈ Ic et αi = 0 pour i ∈ I0. La valeur des αi pour i ∈ Isest ainsi donnée par la solution du problème d’optimisation suivant :

maxα∈R|Is| −12αTGsα + es

T αavec αT ys + Cec

T yc = 0(3.34)

avec es = e(Is) + 2CG(Is, Ic)e(Ic), Gs = G(Is, Is), ys = y(Is), ys = y(Is) et ec unvecteur de un. Il est ici important de noter que la dimension de ce problème est égaleau cardinal de l’ensemble Is (qui peut être bien inférieur à m, la dimension initiale duproblème). Les conditions de Kuhn et Tucker nous donnent le système à résoudre pourobtenir la valeur des coefficients αi encore inconnus :[

Gs ys

ysT 0

] [αλ

]=

[es

−CecT yc

](3.35)

40

Si la solution de ce système contient une composante violant les contraintes (une com-posante négative ou supérieure à C), elle indique que la répartition initiale des points Is,Icet I0 est fausse. Cette composante violant les contraintes doit être enlevé de Is pour passerdans Ic ou I0 et le vecteur α "projeté" dans le domaine admissible. Si maintenant toutesles composantes de la solution α vérifient les contraintes, il n’est pas encore certain quel’optimum du problème initial ait été trouvé. Il faut encore vérifier que les contraintes depositivité sont respectées pour les multiplicateurs de Lagrange associés. Il faut donc véri-fier que pour tous les points de Ic, Gα + by − e < 0, et que pour tous les points de I0,Gα + by − e > 0. Si tel n’est pas le cas, le point violant les contraintes devra changerd’appartenance et quitter Ic ou I0 pour passer dans Is.

Nous venons là de donner le principe de l’algorithme SimpleSVM. Il s’agit d’un algo-rithme itératif qui va, à chaque itération, ajouter ou enlever un seul point de l’ensembleIs. On montre qu’à chaque itération le coût décroît strictement, garantissant ainsi la conver-gence de la méthode. Enfin, puisqu’entre chaque itération les matrices Gs ne diffèrent qued’une ligne et d’une colonne, il est possible de calculer la nouvelle solution directement àpartir de l’ancienne, réduisant ainsi la complexité de chaque itération de O(n3) à O(n2)en utilisant notamment des astuces de calcul basée sur la formule de Sherman-Morrison.

Algorithme : SimpleSVM

1. Initialiser (Is, Ic, I0).2. Résoudre le système sans contraintes sur l’ensemble Is et déterminer (α, λ).Si (minα < 0 ou maxα > C)

3.1.1 Projeter α à l’intérieur du domaine admissible.3.1.2 Transférer le point de Is vers I0 vers Ic.3.1.3 Aller à 2.

Sinon3.2.1 Calculer les multiplicateurs de Lagrange µ(Ic) et ν(I0).

Si (min ν(I0) < ε ou minµ(Ic) < ε)3.2.2.1 Transférer un point associé de I0 ou Ic vers Is.3.2.2.2 Aller à 2.

Sinon3.2.3 Le minimum est atteint.

Fin SiFin Si

3.2.6 Performance

Le fait de restreindre les calculs sur les sous-ensemble Is et Ic souvent minoritairesdans une population d’apprentissage confère à l’algorithme SimpleSVM de bonnes perfor-mances en terme de vitesse d’exécution, allant même jusqu’à diviser parfois par 2 la vitessedes algorithmes concurrents (SMO notamment). Ses possibilités d’implémentation ré-

41

cursive (notamment par l’utilisation de la formule de Sherman-Morrison) contribuent aussià augmenter sa rapidité.

Fig. 3.10 – Comparatif qualitatif des vitesses entre SimpleSVM et SMO

Enfin un tel algorithme donne des possibilité de "redémarrage à chaud". En ef-fet supposons que l’on souhaite effectuer plusieurs apprentissages successifs dans des casoù la population d’apprentissage n’a que peu varié (cas typique d’une cross-validation -on détaillera ce procédé ultèrieurement), recommencer toute la procédure d’apprentissageen réinitialisant les ensembles de points Is, Ic et I0 est inutile. En effet les populationsn’ayant que peu changé, la solution optimale sera nécéssairement proche de l’ancienne etpar conséquent on peut tout à fait repartir de l’ancienne configuration pour déterminer lanouvelle solution avec une convergence plus rapide.

3.3 Synthèse et Implémentation

Nous avons donc globalement et assez succinctement fait le tour de la théorie des SVMen mettant en avant les qualités de généralisation qu’ils apportaient et en présentantune de leur implémentation parmi les plus rapide aujourd’hui baptisée SimpleSVM.

Pour réaliser nos tests, nous avons implémenté le classifieur SimpleSVM en C++au travers d’une librairie offrant toutes les fonctionnalités classiquement retrouvées dansune telle librairie (apprentissage, test, banc d’essai, possibilité de redémarrage à chaud) etnous avons pu le tester, avant les tests à proprement parlé sur les EMG, sur différentesbatteries de population.

42

Fig. 3.11 – Test des SimpleSVM implémenté en C++ (noyau RBF)

Avec la décomposition en ondelettes vue auparavant, cette méthode va constituer unedes clés du projet initial qui nous intéressait à savoir, la classification de signaux EMG.Nous allons maintenant voir comment toutes ces théories ont été réutilisées afin d’élaborerun nouveau classifieur (biclasse supervisé) baptisé WSVM qui nous allons le voir offredes performances en temps et taux de classification tout à fait probantes sur les signauxEMG.

43

Chapitre 4

WSVM

4.1 Algorithme général

4.1.1 Contexte

L’idée d’allier utilisation des ondelettes et d’un classifieur n’est pas nouvelle ([20], [21]).En effet, toujours dans le but de classer des signaux EMG, des travaux avaient déjà étémenés combinant l’utilisation d’une décomposition en ondelettes orthogonales dessignaux et d’un classifieur de type K-PPR (K - Plus Proches Représentants). Commenotre démarche est partie de ce projet nous allons ici en rappeler les grandes lignes.

L’idée de base était donc, comme dans notre cas, de classer non pas directement 2classes de signaux EMG mais leur décomposition en ondelettes et plus précisément leurreprésentation marginale, c’est à dire un vecteur image de l’énergie de chacun desniveaux de la DWT qui réduit encore la dimension des vecteurs à classer. Pourillustrer ceci, prenons un exemple. Considérons un signal de 512 points. La DWT d’untel signal peut donc contenir au maximum log2(512) = 9 niveaux. On peut alors calculerpour chacun des niveaux i de la DWT leur énergie Ei. Le vecteur [E1E2...E9] obtenu parconcaténation de ces différentes énergies constitue alors la représentation marginale dusignal étudié.

Une fois cette nouvelle représentation des signaux à classer obtenue, on procède à leurclassification en utilisant un classifieur de type K-PPR. Cependant les performancesde la classification dépendent étroitement de la répartition des individus à classer c’est àdire des marginales des signaux EMG, marginales qui dépendent elles-même du choix del’ondelette sélectionnée pour le calcul préalable de la DWT. Par conséquent l’astuce dela méthode utilisée était d’optimiser le choix de l’ondelette de décomposition enfonction des performances du classifieur sur la population d’apprentissage (critèrede Cross-Validation par exemple). La fin de cette optimisation donne donc une ondeletteoptimale et un critère de décision optimal sur la population d’apprentissage qui permetpar la suite de classer de nouveaux individus.

44

Fig. 4.1 – Représentation Marginale d’un Signal

Fig. 4.2 – Algorithme Ondelettes + K-PPV

Une première évolution de cet algorithme a déjà aussi été étudiée améliorant sensible-ment les performances en couplant aux ondelettes non plus un classifieur K-PPR maisplutôt un SVM, a priori plus performant en terme de calcul de fonction de décision et degénéralisation. Cependant l’utilisation d’un tel classifieur ajoute 2 paramètres à fixer aumodèle, à savoir le paramètre du noyau utilisé par le SVM et le paramètre C de relaxationdes contraintes. Par conséquent on n’utilisera qu’un seul paramètre pour définir l’ondeletteet la boucle d’optimisation (qui n’est en réalité que le parcours d’une simple grille) portedésormais sur 3 paramètres : le paramètre de l’ondelette et les 2 paramètres du SVM.

Cette méthode bien que donnant des résultats en terme de classification intéressantsprésente pourtant quelques inconvénients majeurs :

– La procédure d’optimisation porte désormais sur 3 paramètres avec en plus de celales paramètres du SVM dont les domaines de variations (minimum, maximum, pas)

45

sont a priori inconnus (la paramétrisation de l’ondelette est plus simple car on disposegrâce à la méthode de Vaidyanathan de paramètres bornés auxquels on sait associerun intervalle). Par conséquent on s’aperçoit d’ores et déjà que l’algorithme utilisésera très long en terme de calculs. Certes dans un cadre purement théorique celapeut paraître anodin mais dans un cadre pratique cela peut avoir des désavantages :par exemple, dans le cas de l’implémentation d’un tel algorithme sur une prothèsebasée sur l’analyse des signaux EMG du patient sur lequel elle est montée, on saitque la forme des signaux EMG peut changer en fonction de la fatigue de l’individu,des conditions extérieures ... Par conséquent des réapprentissages fréquents seraientnécessaires et le temps de ces derniers deviendrait un facteur important pour leconfort du patient. De la même façon, dans un cadre plus médical, pour la détectiond’une pathologie musculaire, il est clair que pour le clinicien, pouvoir établir undiagnostic le plus rapidement possible et par exemple à la fin même de l’examenserait très intéressant.

– D’autre part l’utilisation unique des marginales comme représentation pour la classi-fication peut paraître un peu réducteur face à l’information contenue dans un signalEMG. En effet par le calcul des marginales du signal, c’est à dire une moyenne éner-gétique de chaque niveau (et par extension de chaque bande fréquentielle du signal),on perd complètement toute information temporelle sur ce dernier. Certes lessignaux EMG sont asynchrones mais il se peut dans un cadre de classification de si-gnaux plus général que le temps se présente comme un facteur discriminant. D’autrepart puisqu’ici les marginales sont un peu des images de la puissance du signal visà vis d’une certaine bande fréquentielle, pourquoi ne pas utiliser une classique FFTen la divisant en sous-bande fréquentielle et en construisant un vecteur image despuissances de la FFT sur chacune des ces sous-bandes ? Certes on perd l’apport de laparamétrisation par l’ondelette, mais l’information contenue dans ce nouveau vecteurest assez similaire à celle contenue dans une représentation marginale. Pour autantnous n’abandonnerons pas la DWT puisque [20] et [21] ont montré ses avantages parrapport à une FFT mais nous essaierons de voir comment réintroduire l’informationtemporelle dans la classification.

– Enfin, l’algorithme tel qu’il est, recherche une seule ondelette pour optimiser laclassification d’un critère (ici l’énergie) calculée sur tous les niveau de la DWTdu signal. Comment être sûr qu’il n’existerait pas une ondelette optimale (pour laclassification) par niveau ?

4.1.2 Grandes lignes des classifieurs WSVM

C’est en tentant de répondre à ces diverses problématiques que l’on a essayé d’élaborerun classifieur baptisé WSVM (pour Wavelet et SVM) dont la philosophie ressemble à cellede l’algorithme utilisé auparavant mais combine tous les atouts proposés par la DWT etles SimpleSVM pour l’améliorer. Dans cet optique plusieurs grands changements ont étéeffectués dans la méthode initiale :

46

– On a expliqué précédemment que coupler l’optimisation des paramètres de l’ondeletteet du SVM était très coûteux en terme de calculs. Donc l’idée de base gouvernant laconception des WSVM est la séparation entre optimisation de l’ondelette etoptimisation des SVM par un procédé que l’on détaillera par la suite.

– De plus comme indiqué auparavant, il se peut très bien qu’en termes de classificationl’ondelette optimale ne soit pas la même d’un niveau à l’autre par conséquent, lesWSVM considèrent une ondelette optimale par niveau. Ainsi, à chaque niveaucorrespond une population d’apprentissage pour LES classifieurs SVM. En effet,outre le fait que l’on ait une ondelette optimale par niveau, s’ajoute aussi dans lecontexte des WSVM la possibilité d’avoir un SVM optimal (en terme de para-mètre noyau et de paramètre de relaxation) par niveau (pour chaque populationd’apprentissage).

– Le critère permettant d’extraire l’information à classer ne se limite plus uniquementaux simples marginales. Nous verrons comment les WSVM conservent une partiede l’information temporelle apportée par le signal tout en accordant une bonneplace aux informations fréquentielles.

– Enfin pour ce qui est de la vitesse de calcul à proprement parler et contrairement àce qui était fait auparavant, on fera appel à l’approche polyphasique apportée parle lifting pour le calcul de la DWT (d’où un gain de temps non négligeable) et pource qui est des SVM, souvent réputé lents, on utilise l’algorithme SimpleSVM avecses possibilités de "redémarrage à chaud" pour améliorer encore les performances desclassifieurs WSVM.

47

4.1.3 Principe général des classifieurs WSVM

Fig. 4.3 – Algorithme WSVM

4.2 Optimisation de l’ondelette par niveau

4.2.1 Nouvelle représentation des signaux et de leur DWT

Comme nous l’avons annoncé précédemment, afin de ne plus de contenter que d’uneinformation de type fréquentielle, on décide, dans le cadre des WSVM de choisir une autrereprésentation de la DWT que les simples marginales. Cependant on garde à l’esprit quel’utilisation des marginales présentait comme avantage de réduire la dimension des indivi-dus à classer (on rappelle qu’une DWT comporte autant de points que le signal dont elle estissue mais qu’en revanche, la représentation marginale fait décroître la taille des vecteursde points de manière logarithmique) et donc d’augmenter la rapidité de l’algorithme. Parconséquent la nouvelle représentation que l’on adopte se doit d’être suffisamment synthé-tique en terme de dimension pour faciliter le travail des classifieurs SVM que l’on utiliseraensuite.

48

Dans cet objectif, on remplace la représentation marginale par une nouvelle représenta-tion adoptée et choisie de la manière suivante.

Pour les niveaux de la DWT de grande taille (en pratique de taille supérieure à 2 ou 3),il faut trouver un moyen de synthétiser l’information apportée. On sait que ces niveauxcorrespondent globalement aux phénomènes haute-fréquence c’est à dire à des phénomènesdont l’ordre de grandeur temporelle est inférieur à celui des MUAPs, plus basse fréquence,par exemple. La localisation temporelle de ces signaux n’est donc pas très importanteet ce sont les phénomènes plus basse fréquence qui contiendront réellement l’informationtemporelle qui peut être intéréssante. Par conséquent on choisit de réduire la taille de cesniveaux à 2 uniques dimensions :

– Une dimension contenant l’énergie du niveau, comme le faisait les marginales, quinous donne une idée de l’importance relative du niveau en question.

– Et une autre dimension correspondant au nombre de pics contenus dans le niveau.Cette information vient compléter l’information énergétique en nous indiquant lamanière dont cette énergie est répartie au sein même du niveau (beaucoup de picscorrespondant à une répartition assez homogène et peu de pics à une répartitionéparse avec des événements bien localisés).

Pour les niveaux de petite taille, on décide de garder la totalité du niveau comme infor-mation donnée au classifieur. Par conséquent pour ces niveaux, plus basse-fréquence et doncdétenteur d’information importante à l’échelle temporelle, toute l’information originale estconservée, leur taille réduite ne venant pas compliquer la tâche des SVM.

Au total la nouvelle représentation comporte un nombre réduit de dimensions a prioripertinentes pour l’analyse et faciles à traiter pour les classifieurs SVM en considérant à lafois les spécificités fréquentielles et temporelles importantes des signaux.

Fig. 4.4 – Nouvelle représentation des signaux

49

4.2.2 Contraste de Fisher

Nous venons d’expliquer comment l’on comptait représenter les signaux avant leur réelleclassification. Cependant on constate que cette représentation dépend étroitement de l’on-delette choisie. Or, dans le cadre des WSVM et contrairement à ce qui se faisait précédem-ment, l’ondelette optimale n’est plus donnée par les performances du classifieur pour desraisons de rapidité.

Par conséquent il fallait trouver un autre moyen de sélectionner l’ondelette optimale,sachant que cette "optimalité" était quand même liée à un critère de performance entermes de classification. L’idée qui nous a donc guidé était de trouver une ondelette telleque la discrimination entre les 2 classes de signaux (à un niveau donné) soit facile pourles SVM. Il fallait donc trouver une ondelette qui séparait au mieux, à chaque niveau, lareprésentation des signaux sans pour autant effectuer un apprentissage de type SVM.

Pour cela on a retenu un moyen simple et rapide de parvenir à ces fins : le contrastede Fischer. Le constraste de Fischer entre 2 classes 1 et 2 (où les individus de chacunedes classes sont de dimension quelconque) est défini par :

F(1, 2) =(m1 −m2)T (m1 −m2)

σT1 σ1 + σT

2 σ2(4.1)

où mi et σi désignent les vecteurs moyen et écart-type de la classe i.

On constate que plus la valeur du contraste entre les 2 classes est élevée plus ces 2classes sont distantes entre elles (valeurs moyennes maximisées) et regroupées en leur sein(écart-types minimisés). Par conséquent plus le contraste de Fischer entre 2 classesde vecteurs est grand, plus ces 2 classes sont séparées. On notera par contre que cecontraste (a priori linéaire) est adapté pour des populations "continues" dans leur espace dereprésentation (pas de classes "scindées" en plusieurs parties) ce qui peut paraître restrictifpour une utilisation générales du classifieur que l’on veut construire. Cependant durant nostravaux, on a pu constater, que sur des signaux réels, cette "continuité" était respectées(pour les représentations utilisées) ce qui justifie le fait que l’on ait conservé par la suitece moyen de discrimination.

Afin de sélectionner l’ondelette que l’on utiliserait pour représenter nos signaux (commeon l’a décrit dans la partie précédente) on décide donc, pour chaque niveau de parcourirtoutes les ondelettes données par la paramétrisation de Vaidyanathan, et de retenir cellequi maximise leur contraste de Fischer. On a donc par conséquent des représentations denos signaux a priori les plus distantes possibles entre classes, prêtes à être classées par lesSVM.

50

4.3 Sélection d’un SVM par niveau

4.3.1 Nettoyage de la population

On se retrouve désormais avec différentes populations d’individus représentant les quali-tés d’un signal de base (énergie et pics, ou temporalité selon les cas) à un niveau donné desa décomposition en ondelettes. Cependant, on sait d’ores déjà que ces populations contien-dront nécessairement des individus bruités. En effet, que l’on se place dans un cadre desimulation où le bruit est ajouté artificiellement, ou dans un cadre réel où la qualité des me-sures dépend étroitement de la sensibilité des capteurs, chacune des classes de la populationd’apprentissage contiendra des individus non valides.

Alors certes on peut se dire que, normalement, les classifieurs utilisés (à savoir les SVM,on le rappelle) peuvent prendre en compte ce genre d’individus grâce au paramètre de re-laxation C et proposer une fonction de décision suffisamment "générale". Mais on s’aperçoiten pratique, que ce paramètre ne peut être ajusté, sans faire de surapprentissage et de tellemanière qu’on puisse optimiser à la fois la généralisation du problème et son débruitage.

Fig. 4.5 – Difficultés d’Aprentissage des SVM

L’idée que nous avons donc retenue pour corriger ce problème était donc de tenterd’éliminer les bruits parasites de la population d’apprentissage. Cependant ils’agissait d’être très prudent car modifier la population d’apprentissage peut modifier aussicomplètement la fonction de décision qui sera issue de l’apprentissage à proprement parlé.

Ainsi pour "nettoyer" la population d’apprentissage nous sommes partis du constat sui-vant. Si un point d’une classe (ou un groupe de point minoritaire par rapport à la globalitéde la population locale) se trouve mélangé au milieu de l’autre classe de la populationd’apprentissage, alors ce point est nécessairement du bruit ou simplement non représen-tatif de sa classe. En effet s’il était représentatif, alors nécessairement, comme il s’agitd’une population d’apprentissage et donc a fortiori d’une population représentative de laglobalité de la population, d’autres points de la classe de ce point isolé serait présentsau même endroit. Notre démarche a donc consisté en la suppression pure et simple de ce

51

point de la population d’apprentissage (dans les espaces de représentation générés par lesondelettes optimales). Ainsi ne restent, au final, dans la population d’apprentissage queles points vraiment pertinents des 2 classes sur lesquels peut réellement s’appuyer le SVMpour élaborer sa fonction de décision.

Fig. 4.6 – Influence du Nettoyage de la Population d’Apprentissage

4.3.2 Cross-Validation

Maintenant que la population est préparée pour l’apprentissage, on peut utiliser lesmachines SVM pour déterminer pour chaque niveau la fonction de décision optimale. Cetteprocédure d’optimisation se fait, on le rappelle, sur les 2 paramètres du SVM à savoir sonparamètre de relaxation C et le paramètre du noyau. Il nous faut donc trouver un moyende décider si un SVM paramétré par C et le paramètre noyau associé est optimal pour unepopulation donnée.

Dans cet objectif, on décide tout d’abord de fixer le noyau du SVM en prenant unnoyau RBF (Radial Basis Function, on pourra se référer à la partie précédente pour plusd’informations). Ce choix n’est pas purement arbitraire, car en réalité on montre que cenoyau, paramétré par un seul paramètre σ permet de retrouver asymptotiquement lesautres noyaux classiques (notamment linéaires et polynômiaux). Désormais les paramètresà optimiser pour une population donnée sont donc C et σ.

Afin de déterminer le couple (C, σ) optimal on utilise un critère de Cross-Validation.L’idée sous-jacente est la suivante. Le SVM optimal pour une population d’apprentissagedonnée sera à nos yeux le SVM capable de nous fournir une fonction de décision suffi-samment "générale", c’est à dire telle qu’une "faible variation" de la population d’ap-prentissage ne change pas ou peu cette fonction de décision. Dans cet objectif, le concept

52

de Cross-Validation, pour un SVM donné (c’est à dire pour un couple (C, σ) donné), fonc-tionne comme ceci :

1 On sélectionne une nombre S arbitraire d’éléments que l’on exclut temporairementde la population d’apprentissage de taille M (en pratique S << M).

2 On réalise alors l’apprentissage du classifieur sur les M − S individus restants. Onobtient donc une fonction de décision f construite par le classifieur.

3 On classe ensuite, à l’aide de la fonction de décision f obtenue les S individus écartésau départ et on compte le nombre d’individus mal-classés parmi eux.

4 On réitère alors le procédé (retour en 1) un nombre arbitraire de fois en changeant (sé-quentiellement ou aléatoirement) les S individus écartés jusqu’à couvrir, par exempletoute la population d’apprentissage.

5 On détermine le nombre d’individus moyens mc de mal-classés durant toute la pro-cédure. Ce nombre mc désigne alors le critère de Cross-Validation du SVMdéterminé par (C, σ) sur la population d’apprentissage donnée.

La démarche adoptée pour sélectionner le SVM le plus apte à généraliser les popula-tions constuites auparavant se faisait donc en parcourant toutes les valeurs possibles dela grille formée par les paramètres (C, σ) et en retenant celle maximisant pour unepopulation donnée le critère de Cross-Validation.

Afin d’obtenir les résultats les plus optimaux possibles en terme de performance et derapidité, plusieurs "astuces" purement algorithmiques ont été en outre utilisées :

• Afin d’obtenir des résultats "symétriques" sur les 2 classes lors de la Cross-Validation(pour ne pas privilégier une classe par rapport à une autre), la population exclue estchaque fois sélectionnée de telle manière qu’elle contienne autant d’individus des2 classes de la population d’apprentissage.

• D’autre part, on voit que la procédure de Cross-Validation peut être assez coûteuseen terme calcul car elle nécessite plusieurs apprentissages successifs. C’est ici que lecaractère "reentrant" de l’algorithme SimpleSVM peut être vraiment intéres-sant. En effet, d’un apprentissage à l’autre au sein d’une même Cross-Validation, peud’individus changent (seul le groupe d’individus temporairement exclus est modifié).Par conséquent les calculs effectués lors de la résolution du problème quadratique liéaux SVM sont proches et peuvent être réutilisés d’un apprentissage à l’autre, sanstout réinitialisé. Cette possibilité est offerte, comme nous l’avons vu auparavant parles possibilités de redémarrage à chaud de l’algorithme SimpleSVM.

• Enfin, il est légitime de se poser une dernière question au sujet du parcours de la grilleformée par les paramètres (C, σ). En effet pour parler de grille, il faut pouvoir se don-

53

ner des bornes dans le domaine de variation (valeurs minimales et maximales,pas). Or les valeurs du couple (C, σ) sont a priori peu ou pas accessibles directementpar l’utilisateur ou le programmeur puisqu’elles sont a priori caractéristiques de ladisposition des individus dans le Featuring Space (cf. théorie SVM). Se pose doncla question de leur ordre de grandeur. Pour résoudre ce problème, 2 idées ont gou-vernées notre démarche. D’une part dans l’implémentation même des SimpleSVMque nous avons faites, on a pris le soin de normaliser les populations d’appren-tissage, ce qui permet non seulement de limiter l’ampleur des calculs (notammentles calculs des noyaux) mais aussi de se fixer une plage de valeur pour les variationsde C et σ. D’autre part, le fait d’avoir nettoyé la population au préalable et notrevolonté d’obtenir une fonction de décision la plus générale possible nous imposentde prendre des valeurs du paramètre de relaxation relativement "faible"(on ne pénalise pas trop les mal-classés) et des valeurs du paramètre noyau σrelativement "grande" (on ne "colle" pas à la population d’apprentissage donc onlimite les risques de surapprentissage). On ne donne volontairement pas ici les ordresde grandeurs associés car ils ne représentent rien dans l’absolu, mais on s’aperçoitqu’ici, il est nécessaire de jouer sur des compromis, et que c’est expérimentalementque l’on sera capable de déterminer les "bonnes" valeurs numériques.

4.3.3 Performance d’un SVM

Maintenant que l’on est capable de "régler" les SVM associés au différents niveaux, ilpeut être intéressant, comme on le verra par la suite d’avoir une idée des performancesdes classifieurs sélectionnés.

Certes, on peut se dire que l’on dispose déjà de la note de Cross-Validation et quecelle-ci est représentative de la capacité du SVM à généraliser. Mais on rappelle que laCross-Validation a été faite sur une population nettoyée d’une part (donc on doit être sûrque le nettoyage effectué n’a pas été trop "brutal") et qu’il arrive que la Cross-Validationne donne pas nécessairement l’optimum souhaité. En fait, il paraît intéressant, outre la notede Cross-Validation de tenir compte aussi dans les performances du SVM, de ses résultatsen terme de classification sur la population d’apprentissage (non nettoyée cette fois-ci).

Par conséquent un "bon" SVM est un SVM capable d’obtenir de bons résultatsà la fois en Cross-Validation et en Training, résultats qui ne sont pas toujoursnécessairement corrélés en pratique (même si d’un point de vue théorique, il semble logiquequ’il le soit). Cependant, concernant les résultats en Training, on peut aller encore plusloin dans notre démarche. En effet considérons les deux SVM suivants :

SVM Training Training sur Classe 1 Training sur Classe 21 75% 100% 50%2 75% 75% 75%

54

Il semble clair qu’en terme de généralisation le SVM1 qui semble fortement privilégierla classe 1 est beaucoup moins efficace que le SVM2 qui présente des résultats homogènessur les 2 classes.

En définitive, il paraît donc cohérent de juger des performances d’un SVM sur 4 critères :

– Sa note de Cross-Validation,

– Sa note de Training,

– Sa note de Training sur la Classe 1,

– Sa note de Training sur la Classe 2.

4.4 Décision

Désormais, on dispose par niveau, d’un SVM que l’on a optimisé par le biais d’uneprocédure de Cross-Validation et de ses performances. On s’aperçoit donc que pour chaqueniveau i, après apprentissage, on dispose d’une fonction de décision fi.

Fig. 4.7 – Fonction de Décision et SVM

Considérons alors un nouveau signal que l’on souhaiterait classer par le biais des WSVM.Pour chaque niveau i de sa décomposition en ondelettes, chacune des fonctions de décisionfi retournerait son "avis" de classement et il se peut très bien que tous ces avis ne soientpas unanimes. Il faut donc trouver un moyen de combiner chacune de ces fonctions dedécisions "locales" de manière à en construire une globale.

Dans le fond, le principe adopté est très proche de celui d’un vote entre toutes cesfonctions de décision mais avec une subtilité supplémentaire. En effet, dans la partieprécédente nous avons montré comment l’on pouvait avoir une idée de la qualité d’unclassifieur. Pourquoi ne pas s’en servir pour pondérer le jugement de chacune des fonctionsde décision ?

55

Dans cet esprit on a donc procédé de la manière suivante. Soit x un signal que l’onvoudrait classer. Alors à chaque niveau i, les fonctions de décisions fi nous renvoient laclasse la plus probable pour elle à savoir :

fi(x) = di ou di ∈ −1,+1 (4.2)

Ce choix di est alors pondéré par un coefficient pi défini par :

pi = Si (di < 0) Alors − TiT2i

T1iSinon Ti

T1i

T2i(4.3)

si Ti désigne les performances du SVMi en Training, T1i ses performances en Trainingsur la classe 1, et T2i ses performances en Training sur la classe 2.

On constate donc que la pondération choisie pour le niveau i est proportionnelle auxperformances du classifieur SVMi en Training et à un coefficient qui tient compte del’équilibre dont fait preuve ce même classifieur entre les 2 classes en présence. On pourraconstater que ce dernier coefficient est maximal quand le classifieur classe identiquement les2 classes et tient compte des déséquilibres sinon. Pour expliciter ce dernier point, prenonsun petit exemple : si un classifieur classe très bien la classe 1 (T1 "grand") mais très mal laclasse 2 (T2 "petit") alors on se rend compte intuitivement, que le résultat "Classe 1" dece même classifieur sera beaucoup moins fiable (puisque le classifieur a tendance à mettretous les individus dans cette classe) que le résultat "Classe 2". Les rapports introduits dansle coefficient de pondération pi prennent en compte cet état de fait.

Au final on voit donc que la décision prise par le WSVM n’est autre qu’un vote majori-taire entre toutes les sous-décisions des SVM de chaque niveau. Mais cette décision, bienque simple en apparence, prend en compte :

– Les performances en Cross-Validation (puisque les classifieurs "élus" sont choisissur ce critère),

– Les performances en Training,

– L’"équilibre" du classifieur en Training.

Tous les aspects de la classification entrent donc en jeu dans la décision finale. Onpourra remarquer que l’on peut encore affiner la décision en considérant un degré minimald’exigence. En effet on peut choisir de ne retenir les voix des classifieurs que s’ils dépassentun certain seuil d’exigence arbitraire et sélectionner par ce biais un certain niveau de qualitéde la décision finale.

56

4.5 Synthèse et Implémentation

Dans cette section, on a donc abordé tous les aspects théoriques ayant guidé nos choixdans la construction des classifieurs WSVM. Ces derniers vont plus loin dans le couplageOndelettes - Classifieur que ne le faisaient les classifieurs précédents (en proposant uneondelette et un SVM par niveau) et propose des outils a priori rapides et performants(Bancs d’ondelettes polyphasiques et SimpleSVM). Le fait d’avoir travailler niveau parniveau permet aussi d’obtenir une décision finale plus riche et plus adaptée. De plusl’introduction de critères de performance au sein des SVM permet de juger de la qualitédu classifieur recherché et donc d’avoir un critère qualitatif sur le résultat brut obtenu.

En terme d’implémentation, là-aussi une librairie a été écrite en C++ implémen-tant tous les aspects décrits auparavant. L’utilisation d’une telle librairie est simplepuisque quasiment aucun paramètre "scientifique" n’est demandé à l’utilisateur. En pra-tique 2 options peuvent être considérées. D’une part l’utilisateur peut indiquer au pro-gramme le niveau de bruit (Noise) qu’il pense avoir au sein des groupes de signaux qu’ilsouhaite classer (ce qui permet en pratique d’évaluer le "niveau" de nettoyage à fairedans la population d’apprentissage) et d’autre part, il peut spécifier un niveau d’exigence(Selection) en ce qui concerne la sélectivité du classifieur (comme on l’a expliqué peuavant).

Afin de juger de la qualité de ce nouveau classifieur nous allons désormais le tester (etle comparer) sur les signaux qui nous intéressent, c’est à dire les signaux EMG.

57

Chapitre 5

Application à la classifications designaux EMG

5.1 Simulateur de signaux EMG

5.1.1 Motivation

Pour pouvoir tester les classifieurs WSVM, il nous faut disposer de signaux EMG. Ce-pendant, même si l’on verra qu’au sein du SMI, travailler sur des signaux réels est assezfacile, il peut être intéressant de travailler sur des signaux simulés pour disposer de plusde signaux et aussi pour créer des signaux particuliers dont les enregistrements seraientdélicats.

Supposons que l’on souhaite, par exemple dans un contexte médical, pouvoir discriminerles enregistrement EMG d’un patient malade de ceux d’un patient sain, on s’aperçoitrapidement que les tests que nous voulons faire avec notre classifieur ne seront pas aisés sanssimulateur. Si trouver des signaux d’un patient sain est facile, réaliser des enregistrements(en quantité, puisque l’on a besoin de signaux d’apprentissage et de signaux tests) d’EMGde patients malades est beaucoup moins évident.

C’est pour ces raisons que l’on a conçu et implémenté (toujours en C++) unsimulateur de signaux EMG intramusculaires suffisamment simple et réaliste pourtester nos signaux. Nous allons brièvement en décrire les principes ci-après ([12], [13]).

5.1.2 Fibre musculaire

La simulation d’un signal EMG passe par la connaissance de mécanismes physiologiquesde base, mécanismes que l’on a déjà évoqués au début de notre rapport. On rappelle qu’unsignal EMG n’est rien d’autre qu’un signal électrique qui se propage à l’intérieur d’unmuscle par le biais de phénomènes de polarisation et de dépolarisation.

58

Cependant l’activité électrique mesurée au sein du muscle est une activité électriqueglobale qui est en réalité la somme d’activités électriques élémentaires. L’"unité musculaireélectrique de base" est en fait la fibre musculaire au sein de laquelle se produit réellementla polarisation.

Fig. 5.1 – Fonction de Décision et SVM

Le signal enregistré au sein d’une fibre est un signal dans lequel la dépolarisation semanifeste par une simple forme d’onde répétée autant de fois que nécessaire suivant lasollicitation musculaire. En pratique on considérera l’apparition de la forme d’onde commealéatoire et la simulation d’un tel signal peut donc se faire en convoluant un traind’impulsions de Dirac aléatoire avec la forme d’onde souhaitée.

Fig. 5.2 – Simulation d’un Signal EMG au niveau d’une Fibre Musculaire

5.1.3 Unité Motrice

Plaçons nous maintenant à l’échelle biologique suivante, à savoir l’échelle d’une unitémotrice. Ici, on considère désormais un faisceau de fibres musculaires, chaque fibre mus-culaire ayant a priori la même forme d’onde caractéristique mais pas forcément la mêmesynchronisation. Il se peut en effet dans le cas de certaines pathologies que les signaux de

59

ces différentes fibres ne soient pas parfaitement synchrones. En pratique cette asynchro-nisme peut être simulé par le biais d’un décalage aléatoire (paramétré par un écart type ∆baptisé "jitter") de chacune des formes d’ondes autour d’un train d’impulsions commun.Le signal électrique mesuré est alors la somme de toutes ces impulsions plus ou moinssynchronisées.

Fig. 5.3 – Simulation d’un Signal EMG au niveau d’une Unité Motrice

5.1.4 Signal EMG

Abordons enfin la dernière échelle biologique nécéssaire à la compréhension de la syn-thèse d’un signal EMG, à savoir l’échelle de l’électrode intramusculaire. Cette dernière estimplantée dans le muscle au sein d’une unité motrice, elle-même en contact avec d’autresunités motrices.

60

Fig. 5.4 – Electrode au sein d’un muscle

Par conséquent les signaux électriques enregistrés par l’électrode sont certes ceux del’unité motrice dans laquelle elle est implantée mais aussi ceux de toutes les unitésmotrices voisines, unités motrices aux formes d’ondes et amplitudes différentes (en pra-tique on attribue une unique forme d’onde caractéristique à un signal EMG, et ce sont lesamplitudes des formes d’onde qui varient d’une MU à l’autre), aux nombres de MUAPsdifférents et aux synchronisations différentes (pour être plus précis il se peut que des unitésmotrices se synchronisent entre elles en cas de fatigue par exemple, mais d’une manièregénérale leurs activités sont relativement indépendantes). Par conséquent un signal EMGest en fait la somme de toutes ces différentes activités.

Fig. 5.5 – Electrode au sein d’un muscle

C’est en reprenant toutes ces considérations que l’on a implémenté un simulateur designaux EMG, simulateur que l’on va utiliser maintenant pour synthétiser des signaux dedifférentes classes que l’on compte discriminer. On notera en particulier plusieurs para-mètres utilisateur intéressants pour les études qui vont suivre :

– La taille du signal EMG généré exprimée en nombre de points,

61

– Le nombre de fibres par unité motrice,

– Le nombre de MUAPs sur l’unité motrice principale, sachant que pour lesautres MUs, le nombre de MUAPs est tiré aléatoirement et au plus égal à celui del’unité motrice principal,

– La forme d’onde caractéristique du signal EMG, qui en pratique est la formed’une ondelette standard (Daubechies ou Spline) (on notera qu’au sein même d’unsignal EMG réel, la forme d’onde change d’une MU à l’autre ; ce paramètre est prisen compte en faisant varier - aléatoirement - les amplitudes d’une même forme d’onded’une MU à l’autre),

– Le jitter exprimé en nombre de points, qui manifeste l’asynchronisme entre les fibresd’une même unité motrice,

– Le paramètre de synchronisation Inter-MUs, qui s’il existe, s’exprime en pointset manifeste une possible synchronisation entre les différentes MUs.

5.2 Signaux simulés

5.2.1 Forme des MUAPs

Dans un premier temps on tente de discriminer 2 classes de signaux EMG, pour un indi-vidu sain (jitter nul) qui ne divergent que par les formes d’ondes. Cette expérience peut,par exemple, permettre de simuler 2 types de signaux de muscles ou individus différents(ce qui en pratique n’apporte pas nécessairement grand chose, mais présente en revancheun intérêt théorique pour le test des WSVM).

Caractéristiques des signaux EMG :

Classe 1 Classe 2Apprentissage 20 20

Test 180 180Taille (Points) 512 512

MUs 10 10Nombre de fibres / MU 5 5

MUAPs 15 15Forme d’onde DAUBECHIES(2) DAUBECHIES(3)Jitter (Points) 0 0

Synchronisation Inter-MUs (Points) NON NONBruit (%) 1 1

62

Fig. 5.6 – Divergence des Formes d’Onde (Classe 1 en bleu, Classe 2 en rouge)

Résultats WSVM :

Noise Selection Temps (Secondes) Taux de Classification (%)0.7 0.8 9 99.72

Afin d’avoir un ordre d’idée des performances des WSVM, il est intéressant de pouvoirles comparer avec d’ autres outils de classification. Pour cela on choisit 2 autres classifieurs :

– L’un, C1, basé sur l’association du calcul des marginales et d’un classifieur SVM,

– L’autre, C2, orienté Temps-Fréquence et basé sur l’optimisation d’un noyaude lissage de la transformée de Wigner-Ville.

Résultats des autres classifieurs :

Classifieur Temps (Secondes) Taux de Classification (%)C1 670 100C2 900 95

Les résultats sont excellents avec toutes les méthodes (en terme de classification) carles formes choisies pour séparer nos 2 classes sont assez différentes. Cependant on pourraconstater les différences en terme de performance temporelle. Manifestement les WSVM,pour des résultats équivalents sont nettement plus rapide (plus de 60 fois plus rapide).Cela vient du fait que pour les 2 autres méthodes, une optimisation sur 3 paramètresest faite ce qui allonge considérablement les temps de calcul. Le fait d’avoir utilisé desalgorithmes optimisés, d’avoir écrit notre code en C++ et d’avoir séparé optimisation del’ondelette et des SVM contribue largement à ces performances temporelles.

63

5.2.2 Asynchronisme inter-MU

On s’intéresse désormais à la discrimination de 2 classes de signaux qui ne se distinguentque par la synchronisation ou pas de leurs unités motrices. Ceci peut permettreen pratique de détecter un effort ou un début de fatigue. En effet au début d’une acti-vité musculaire, seules quelques unités motrices travaillent dans un muscle et souvent demanière désordonnée. Mais au fur et à mesure que l’activité se poursuit les signaux dechacune des MUs ont tendance à "s’affaiblir" et pour compenser cet affaiblissement ellesse synchronisent. D’où l’intérêt éventuel de pouvoir discriminer un signal dans lequel lesMUs sont plus ou moins synchronisées d’un autre.

Caractéristiques des signaux EMG :

Classe 1 Classe 2Apprentissage 20 20

Test 180 180Taille (Points) 512 512

MUs 10 10Nombre de fibres / MU 5 5

MUAPs 15 15Forme d’onde DAUBECHIES(2) DAUBECHIES(2)Jitter (Points) 0 0

Synchronisation Inter-MUs (Points) NON 8Bruit (%) 1 1

Fig. 5.7 – Divergence de la synchronisation inter-MU (Classe 1 en bleu, Classe 2 en rouge)

64

Résultats WSVM :

Noise Selection Temps (Secondes) Taux de Classification (%)0.6 0.8 9 83.14

Résultats des autres classifieurs :

Classifieur Temps (Secondes) Taux de Classification (%)C1 918 90.5C2 920 78

Là-encore pour des taux de classification comparables, les performances temporellessont énormément améliorées. En outre sur la figure suivante, on peut voir un peu plusen détail comment fonctionnent les WSVM.

Fig. 5.8 – Fonctionnement WSVM

Après avoir sélectionné les ondelettes optimales par niveau, le WSVM recherche les SVMoptimaux pour chaque niveau. Une fois ces optimisations effectuées, la décision est priseen fonction des paramètres utilisateurs choisis (Noise et Selection).

65

5.2.3 Asynchronisme intra-MU : Signaux Polyphasiques

Pour finir ces simulations, on teste des signaux de 2 classes qui ne diffèrent que par lasynchronisation des signaux électriques des fibres de leurs MUs. Normalement,au sein d’une même MU les potentiels électriques de chacune des fibres sont synchronisés.Cependant il peut arriver, dans le cas de certaines pathologies (myopathies notamment)que ces potentiels deviennent légèrement asynchrones, d’où l’intérêt de pouvoir discriminerdes signaux normaux de signaux polyphasiques.

Caractéristiques des signaux EMG :

Classe 1 Classe 2Apprentissage 20 20

Test 180 180Taille (Points) 512 512

MUs 10 10Nombre de fibres / MU 5 5

MUAPs 15 15Forme d’onde DAUBECHIES(2) DAUBECHIES(2)

Jitter (Points) 0 4Synchronisation Inter-MUs (Points) NON NON

Bruit (%) 1 1

Fig. 5.9 – Divergence de la synchronisation intra-MU (Classe 1 en bleu, Classe 2 en rouge)

Résultats WSVM :

Noise Selection Temps (Secondes) Taux de Classification (%)0.7 0.8 9 97.23

66

Résultats des autres classifieurs :

Classifieur Temps (Secondes) Taux de Classification (%)C1 788 97.5C2 972 92

Dans une optique de diagnostic médical il peut même être intéressant de connaîtrel’évolution du taux de classification avec la progression du jitter. Cela pourraitpermettre éventuellement d’avoir une idée de l’ordre de grandeur du dysfonctionnementmusculaire chez le patient.

Fig. 5.10 – Évolution du Taux de Classification avec le Jitter

Dans la figure ci-avant on a observé l’évolution du taux de classification entre un individusain et un individu dont l’asynchronisme au niveau intra-MU serait de plus en plus grand(augmentation du jitter). On constate que, logiquement, plus cet asynchronisme est grandplus les WSVM savent faire une distinction entre patient sain et patient malade. Une simpleobservation du taux de classification par un medecin pourrait donc donner un ordre d’idéede l’ampleur de la maladie chez son patient.

5.3 Signaux Réels

Nous avons vu que les WSVM obtenaient de très bons résultats sur signaux simulés aussibien en terme de performances temporelles que de taux de classification. Afin de confirmerces "bons présages", il nous fallait donc tester les WSVM sur des signaux réels.

67

Fig. 5.11 – Signaux EMG réels

Pour cela, nous avons utilisé des signaux enregistrés sur 2 patients différents et sur 2muscles différents, ce qui donne donc 4 types de signaux différents :

– S11 : Signal du Muscle 1 du Patient 1– S12 : Signal du Muscle 2 du Patient 1– S21 : Signal du Muscle 1 du Patient 2– S22 : Signal du Muscle 2 du Patient 2

Afin de tester ces signaux à l’aide des WSVM, on a donc effectué des classifications"croisées" entre tous les types de population (ce qui donne a posteriori une idée des résul-tats potentiellement accessibles en multiclasse - 1 contre 1 -) et on a obtenu les résultatssuivants (chacun des résultats s’obtenant dans des temps de l’ordre de 10 secondes, avecdes populations d’apprentissage et de test de taille identique et réduite - 40 individus - dufait de la courte longueur des signaux acquis) :

S11 S12 S21 S22S11 × 70 95 90S12 70 × 87.5 62.5S21 95 87.5 × 70S22 90 62.5 70 ×

L’analyse des résultats montre encore, que même s’ils sont un peu moins bons qu’ensimulation ils restent tout à fait acceptables. Dans le cas réel, il faut en effet ajouter auxmodèles de simulation des bruits parasites et tous les aléas expérimentaux.

On pourra constater en particulier que la séparation des individus se fait très bienmais qu’en revanche il est plus délicat pour le classifieur de séparer correctement 2muscles d’un même individu, ce qui est assez logique finalement.

68

5.4 Synthèse

Au final, on réalise donc que les WSVM offrent de très bonnes performances aussibien en simulation qu’en conditions réelles et leur utilisation dans le cadre de classificationsde signaux EMG semble très adaptée.

En outre, on constatera que dans le cadre théorique justifiant la construction du classi-fieur WSVM, aucune restriction n’est posée quant à la nature du signal poten-tiellement classifiable. Afin de vérifier la généralité de ces classifieurs, on a aussi effectuéd’autres tests sur des signaux de nature différente (en particulier sur des signaux EEG,signaux synchrones et radicalement différents d’un signal EMG). Même si l’on ne présentepas ici les résultats obtenus, il est bon de signaler que l’on obtenait effectivement des tauxet temps de classification tout à fait probants et ceci sans changer aucun des paramètresdes WSVM ce qui laisse entrevoir de bonnes possibilités pour la suite.

69

Chapitre 6

Conclusion et remerciements

Tout au long de nos travaux, on s’est donc attaché à comprendre et à entrer dans le détailde 2 théories importantes à nos yeux, à savoir les ondelettes et les SVM. Ces 2 théoriespourtant complexes offrent de grandes possibilités en terme d’application et notamment,comme on a pu le voir, quand on les associe.

Les WSVM, produit de l’association des ces 2 concepts, constituent dans notre étude,une bonne alternative aux classifieurs de signaux existants. Même si la quantité de signauxanalysés n’est probablement pas suffisante pour évaluer complètement les performances desWSVM, il semble que cet outil, simple évolution d’un classifieur basé sur le couplage d’unedécomposition en ondelettes optimisée par un critère de classification offre des résultats,notamment en terme de vitesse, tout à fait probants. C’est la version polyphasique de laDWT et son association à l’algorithme SimpleSVM qui permettent ce gain de vitesse maisaussi la séparation claire dans les procédures d’optimisation entre ondelettes et SVM. Enoutre le fait d’avoir considéré la représentation Temps-Échelle en distinguant chacun desniveaux, offre des résultats bénéfiques quantitativement (on constate en pratique que lesondelettes optimales ne sont pas les mêmes d’un niveau à l’autre) et qualitativement pource qui est de l’analyse du simple résultat donné par le SVM.

Outre ces considérations purement scientifiques, ce projet aura été aussi l’occasion d’as-socier des aspects théoriques et mathématiques avec un contexte biomédical. Travaillerdans un tel milieu donne plus de sens aux travaux effectués en amont car les applicationspratiques qui en découlent sont très accessibles. Ainsi, dans le cadre des signaux EMG,on aura pu non seulement entrer dans le détails de mécanismes physiologiques intéréssantset appréhender des applications prometteuses (prothèse) et très utiles (aspect clinique as-socié).

Enfin et pour terminer, place à la partie la moins sérieuse mais certainement la plusconsultée d’un rapport : les traditionnels remerciements ! D’ores et déjà grand TAK ("merci"en danois dans le texte, pour les néophytes) à tous mes acolytes français perdus au Da-nemark qui ont su me faire oublier que normalement, en été, il fait beau. Je citerai en

70

particulier Momo mon partenaire de toujours dans la vie Aalborgaise mais aussi dans lesSVM et dans nos conversations riches en enseignements (et en boutades toujours plus poin-tues les unes que les autres). Merci aussi à Lolo pour ses jolies signaux, certes, mais surtoutpour nos bonnes petites parties de babyfoot (sans rancune d’ailleurs !) pas toujours trèsappréciée de nos collègues du SMI. Petite pensée aussi pour le dernier français de l’ECNà l’AAU, Henry qui m’a supporté en collocation et en partenaire de belote émérite pen-dant près de 3 mois. ReTAK aussi à toutes les nouvelles connaissances que j’ai pu faire auDanemark : Dario, qui a bien voulu encadrer et superviser nos travaux à Aalborg, Fred,le français adorable (mais extrêmement approximatif dans ses anglicismes en tout genre)d’Orléans, Michaïl (malaka ? ?) qui partage avec moi son goût pour la plastique irrépro-chable de certaines danoises. Merci aussi à Max et Susan pour leur gentillesse et pour leurbonne humeur. Grands remerciements à mes tuteurs français, Marie-Françoise LUCAS etChristian DONCARLI qui ont guidé mes recherches et m’ont permis d’être le plus librepossible dans mes démarches. Enfin, grand grand TAK à maman pour sa relecture labo-rieuse mais tout à fait complète et studieuse d’un écrit parfois un peu ésotérique pour lenon initié !

71

Bibliographie

[1] Fahed Abdallah. Critères de contraste et méthodes à noyau pour la détection àstructure imposée.

[2] Antoine Bordes. Fast kernel classifiers with online and active learning.

[3] Christopher J.C. Burges. A tutorial on support vector machines for pattern recogni-tion.

[4] Stéphane Canu. Construction de noyaux pour les séparateurs à vaste marge (svm) etapplication aux noyaux d’ondelettes.

[5] François CHAPLAIS. Présentation du livre de s. mallat.

[6] Pai-Hsuen Chen. A tutorial on nu-support vector machines.

[7] Sigitas Dagilis. Classification of movement-related potentials with optimized discretewavelet and wavelet packets transforms. PhD thesis, AAU, June 2005.

[8] Manuel Davy. Méthodes d’analyse de données pour la fouille de données, April 2005.

[9] Frédéric Desobry. Classification par svm : le point de vue géométrique, December2004.

[10] David Donoho, Jonathan Buckheit, Shaobing Chen, Iain Johnstone, and JeffreyScargle. Wavelab Reference Manual, December 1995.

[11] Dario Farina. Advanced course on emg and eeg.

[12] Dario Farina. Emg processing.

[13] Dario Farina. Interpretation and limitations of surface emg techniques.

[14] Eric Hitti. Sélection d’un banc optimal de filtres à partir d’une décomposition enpaquets d’ondelettes. PhD thesis, IRRCyN, January 2005.

[15] Sarah John. Lattice functions, wavelet aliasing, and so.3. mappings of orthonormalfilters.

[16] Gaël Loosli. Toolbox SimpleSVM Documentation.

[17] Marie-Françoise Lucas. L’EMG : Physiologie, Quantification, Modélisation. PhDthesis, Nantes, 1986.

[18] Marie-Françoise Lucas. Bancs de filtres, March 2004.

[19] Marie-Françoise Lucas. Transformées en ondelettes, January 2005.

72

[20] Aude Maitrot, Marie-Françoise Lucas, and Christian Doncarli. Design of waveletsadapted to signals and application. ICASSP Philadelphie, 2005.

[21] Aude Maitrot, Marie-Françoise Lucas, Christian Doncarli, and Dario Farina. Signal-dependent wavelets for electromyogram classification. Medical and Biological Engi-neering and Computing, 2005.

[22] Stéphane Mallat. Une Exploration des Signaux en Ondelettes. Les Éditions de l’ÉcolePolytechnique, November 2000.

[23] M. Oslick. A general approach to the generation of biorthogonal bases of compactly-supported wavelets.

[24] Phillip A. Regalia. Spreading sequence design via perfect-reconstruction filter banks.

[25] Bernhard Schölkopf and Alexander J. Smola. Learning with Kernels, Support VectorMachines, Regularization,Optimization and Beyond. MIT University Press, 2002.

[26] Frédéric Sur. Construction de noyaux autour de pair-hmms, 2004.

[27] Wim Sweldens. Wavelets and the lifting scheme : A 5 minute tour.

[28] Wim Sweldens. The lifting scheme : A new philosophy in biorthogonal waveletconstructions, 1995.

[29] Wim Sweldens. The lifting scheme : a construction of second generation wavelets.Mathematical Analysis, November 1996.

[30] Wim Sweldens and Ingrid Daubechies. Factoring wavelet transforms into lifting steps.Program for Applied and Computational Mathematics, November 1997.

[31] Dr Véronique TALMA. Électromyogramme. E-Sante.fr, April 2002.

[32] C. Valens. The fast lifting wavelet transform, 2004.

[33] Jean-Philippe Vert. Cours dea : Méthodes à noyaux, 2004.

[34] Jean-Philippe Vert, Koji Tsuda, and Bernhard Schölkopf. A primer on kernel methods,August 2004.

[35] S.V.N. Vishwanathan. Simplesvm. Proceedings of the Twentieth International Confe-rence on Machine Learning, 2003.

[36] Alain Zenoni. Analyse multirésolution et ondelettes, 2003.

73