06.04.2014 Views

Application des SVMs basés sur l'algorithme SMO pour la détection ...

Application des SVMs basés sur l'algorithme SMO pour la détection ...

Application des SVMs basés sur l'algorithme SMO pour la détection ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

SETIT 2007<br />

4 th International Conference: Sciences of Electronic,<br />

Technologies of Information and Telecommunications<br />

March 25-29, 2007 – TUNISIA<br />

<strong>Application</strong> <strong>des</strong> <strong>SVMs</strong> basés <strong>sur</strong> l’algorithme <strong>SMO</strong><br />

<strong>pour</strong> <strong>la</strong> détection d’anomalies cardiaques<br />

Z.Zidelmal.Amirou * , A.Amirou * , M.Djeddi * & N.Djouaher *<br />

* Laboratoire LAMPA Département d’Electronique, Faculté de Génie Electrique et d’Informatique<br />

Université Mouloud Mammeri Tizi-Ouzou, Algérie<br />

E-maîl: zz_amirou2004@yahoo.fr<br />

Résumé: Les SVM constituent un nouveau type d’algorithmes d’apprentissage, originalement introduits par V<strong>la</strong>dimir<br />

Vapnik [VAP95]. Ils sont basés <strong>sur</strong> un algorithme d’apprentissage ayant comme fonction de décision un hyperp<strong>la</strong>n<br />

optimal dans un espace de grande dimension. Parmi les métho<strong>des</strong> à noyaux, inspirées de <strong>la</strong> théorie statistique de<br />

l’apprentissage de Vapnik, les SVM constituent <strong>la</strong> forme <strong>la</strong> plus connue. Ils ont été adaptés à divers contextes:<br />

c<strong>la</strong>ssification avec apprentissage, estimation de support de densité, régression, etc. Les SVM sont appliqués avec une<br />

efficacité remarquable à <strong>la</strong> reconnaissance de caractères manuscrits, au traitement d’images, à <strong>la</strong> prédiction de séries<br />

temporelles, au diagnostic médical, au contrôle qualité, etc. Cet article propose l’application <strong>des</strong> <strong>SVMs</strong> <strong>pour</strong> <strong>la</strong><br />

reconnaissance d’une Fibril<strong>la</strong>tion Auricu<strong>la</strong>ire (AF) l’une <strong>des</strong> arythmies cardiaques les plus courantes. L’algorithme<br />

d’apprentissage utilisé est <strong>la</strong> <strong>SMO</strong> (Sequential Minimal Optimization), plus rapide et plus simple à implémenter. La<br />

base d’étude utilisée <strong>pour</strong> l’apprentissage et les tests provient de <strong>la</strong> base MIT BIH Arrythmia database.<br />

Mots clefs: Support Vector Machines (<strong>SVMs</strong>), Algorithme <strong>SMO</strong>, Arythmie cardiaque .<br />

1.Introduction<br />

Pendant ces dernières années, un intérêt<br />

remarquable a été accordé aux Support Vector<br />

Machines (<strong>SVMs</strong>) [VAP95]. Ces algorithmes<br />

d’apprentissage ont trouvé <strong>des</strong> domaines d’application<br />

très variés comme <strong>la</strong> reconnaissance de caractères<br />

manuscrits [LEC95], <strong>la</strong> détection de visage [OSU97],<br />

<strong>la</strong> détection de composante audio [GUO03].<br />

Néanmoins, L’utilisation <strong>des</strong> <strong>SVMs</strong> était limitée à<br />

un groupe de chercheurs car les algorithmes<br />

d’apprentissage standards étaient longs et difficiles à<br />

implémenter. Pour Palier à ce problème, John. C.P<strong>la</strong>tt<br />

à mis au point un algorithme d’apprentissage <strong>pour</strong><br />

<strong>SVMs</strong> appelé <strong>SMO</strong> (Sequential Minimal<br />

Optimization) [JCP 98]. Cet algorithme est<br />

généralement plus rapide, plus simple à implémenter<br />

et nécessite un espace mémoire réduit.<br />

Dans cet article, nous proposons une application<br />

de cet algorithme <strong>pour</strong> <strong>la</strong> reconnaissance d’une<br />

arythmie cardiaque parmi les plus courantes. Il s’agit<br />

de <strong>la</strong> Fibril<strong>la</strong>tion Auricu<strong>la</strong>ire (FA). Notons que<br />

beaucoup de travaux sont déjà fait en utilisant les<br />

réseaux de neurones [LEP01] [CLA97].<br />

La lecture de cette arythmie se fait <strong>sur</strong> l’onde P<br />

d’un ECG car cette onde représente l’activité<br />

électrique <strong>des</strong> oreillettes. L’étude de cette onde nous<br />

permet de calculer un certain nombre de paramètres<br />

discriminants et constituer ainsi les vecteurs d’entrée<br />

x i du SVM, re<strong>la</strong>tif à chaque battement i. Notons que<br />

les paramètres retenus sont: <strong>la</strong> durée de l’onde P, son<br />

amplitude, sa fréquence et sa forme représentée par les<br />

coefficients d’un polynôme d’ordre 4 et l’information<br />

fréquentielle donnée par <strong>la</strong> mobilité de l’onde.


:<br />

SETIT2007<br />

2. Aperçu <strong>sur</strong> les Support Vector<br />

Machines. <strong>SVMs</strong><br />

Les SVM constituent un nouveau type<br />

d’algorithmes d’apprentissage, originalement<br />

introduits par Vapnik [VAP 98]. Le succès de cette<br />

méthode est justifié par les soli<strong>des</strong> bases théoriques<br />

qui <strong>la</strong> soutiennent<br />

Les <strong>SVMs</strong> sont basés <strong>sur</strong> un algorithme<br />

d’apprentissage ayant comme fonction de décision un<br />

hyperp<strong>la</strong>n optimal dans un espace de grande<br />

dimension D. La projection dans cet espace est<br />

réalisée <strong>pour</strong> palier à <strong>la</strong> non linéarité de séparation. A<br />

partir <strong>des</strong> données d’apprentissage {xi,yi)} où xi∈R n<br />

et yi∈{-1,+1}. L’algorithme consiste à représenter les<br />

points xi dans cet espace D par une transformation<br />

non linéaire construite à partir d’une famille de<br />

fonctions {ϕ k } sous certaines conditions. La série<br />

ϕ k (x).ϕ k(y) converge vers une fonction K appelée<br />

noyau (Kernel)<br />

Le problème est posé dans l’autre sens: <strong>pour</strong> un<br />

noyau donné K(x,y), existe-t-il une famille <strong>des</strong> ϕ k<br />

vérifiant l’équation (1). Pour vérifier ce<strong>la</strong>, il est<br />

nécessaire et suffisant que le noyau K(x.y) vérifie <strong>la</strong><br />

condition de Mercer [NJC02].<br />

.<br />

H<br />

x.w+b=0<br />

● * *<br />

● * *<br />

● *<br />

marge = 1/⎮⎮w⎮⎮→max<br />

● ● ● * x i .w+b>0 Ε Ε<br />

∑ϕ k<br />

ϕ<br />

K( x,<br />

y)<br />

( x).<br />

( y)<br />

= (1)<br />

k∈N<br />

k<br />

Xj.w+b ) ≥ 1−ξ<br />

i<br />

(4)<br />

où C est une constante à déterminer et ξ i est<br />

l’erreur non négative. En pratique, on résoudre le<br />

problème dual L D (II.5):<br />

LD<br />

= ∑ l − 1<br />

( , )<br />

= 1 2 ,<br />

∑ l<br />

αi<br />

αiα<br />

j yi y jK xi x j<br />

i i l = 1<br />

sous contraintes :<br />

0 ≤ α i ≤ C , i = 1 , l et<br />

l<br />

∑<br />

i = 1<br />

α iyi = 0<br />

() 5<br />

Figure 1 Hyperp<strong>la</strong>n optimal (H) séparant les<br />

deux c<strong>la</strong>sses par <strong>SVMs</strong> décrit par x.w+b=0. Les<br />

vecteurs support sont les points encerclés p<strong>la</strong>cés <strong>sur</strong><br />

les deux p<strong>la</strong>ns H 1 et H 2 satisfaisant : x . w+b = 1<br />

Il existe plusieurs types de noyaux K les plus<br />

connus, sont donnés en table 1:<br />

Table 1. Exemples de Kernels utilisés en <strong>SVMs</strong><br />

Type de Kernel (K) K(x,x i )<br />

Polynomial: P(d)<br />

T d<br />

⎜<br />

⎛ 1 + x . x i ⎟<br />

⎞<br />

⎝ ⎠<br />

Radial Basic Fonction ⎛<br />

⎞<br />

RBF(σ)<br />

⎜<br />

2<br />

⎟<br />

exp⎜<br />

− 1 x−x<br />

⎟<br />

2 2 i<br />

σ<br />

⎝<br />

⎠<br />

Sigmoide: S(s 0 , s 1 )<br />

tanh⎜<br />

⎛ s + ⎟<br />

⎞<br />

⎝ 0<br />

xT<br />

. xi<br />

s 1 ⎠<br />

Les paramètres p, σ, s 0 et s 1 sont fixés par<br />

l’utilisateur.<br />

2.1 L’algorithme <strong>SMO</strong><br />

L’algorithme Sequential Minimal Optimization<br />

(<strong>SMO</strong>) posé par [JCP98] est un algorithme qui permet<br />

de résoudre rapidement le problème quadratique (5)<br />

du SVM sans passer par toutes les étapes de résolution<br />

numérique d’un QP. L’idée principale <strong>des</strong> algorithmes<br />

de décomposition est de travailler avec un sousensemble<br />

réduit de données du problème, garder les<br />

solution et continuer avec le reste <strong>des</strong> données où les<br />

solutions antérieures doivent être encore testées. La<br />

<strong>SMO</strong> prend cette idée à l’extrême : elle optimise<br />

seulement deux vecteurs par itération. Cette<br />

optimisation admet une solution analytique. A chaque


SETIT2007<br />

itération, <strong>la</strong> <strong>SMO</strong> choisit deux coefficients de<br />

Lagrange ∝ i et ∝ j <strong>pour</strong> les optimiser ensemble, trouver<br />

ses valeurs optimales étant donné que toutes les autres<br />

sont fixes, et actualiser le vecteur solution ∝.<br />

L D = α 1 + α 2 − 1 K ( x1.<br />

x1)<br />

α 2 1 2 2 2<br />

1<br />

− K ( x . x )<br />

2<br />

2<br />

α 2<br />

−2y 1 y2K(<br />

x1.<br />

x2)<br />

α 1α<br />

− y1α<br />

1v1<br />

− y2α<br />

2v2<br />

+ cte (6)<br />

l<br />

avec : vi<br />

= ∑yiα<br />

iK(<br />

xi.<br />

x j)<br />

j=<br />

3<br />

En respectant les contraintes :<br />

l<br />

0≤α<br />

1,<br />

α2≤C et ∑αi yi = 0 (fig 2). On dérive L D par<br />

i=<br />

1<br />

rapport à ∝ 2 et on obtient <strong>des</strong> expressions de cette<br />

variable en fonction de l’erreur de c<strong>la</strong>ssification (9)<br />

new old y ( E1<br />

E2)<br />

α 2<br />

= α2<br />

−<br />

K<br />

(7)<br />

α new<br />

1<br />

= α new<br />

1<br />

+ y1<br />

y2(<br />

α old new<br />

2<br />

−α<br />

2<br />

) (8)<br />

2 −<br />

où k=K(x 1 .x 1 ) + K(x 2 .x 2 ) -2K(x 1 .x 2 ) et E 1 et E 2 :<br />

⎛<br />

Ei = f ∑<br />

⎝<br />

l<br />

( xi)<br />

− yi<br />

= ⎜ α j y j K ( x j.<br />

xi)<br />

+ b ⎟−<br />

yi<br />

⎜<br />

⎟<br />

(9)<br />

j =1<br />

La <strong>SMO</strong> optimise deux coefficients à chaque itération.<br />

Un <strong>des</strong> deux doit violer les conditions de KKT <strong>pour</strong> être<br />

choisi dans l’itération courante.<br />

∝ 1 C,C ∝ 1 C,C<br />

⎞<br />

⎠<br />

3. Chargement <strong>des</strong> données<br />

Parcequ’il est un système interactif et convivial de<br />

calcul numérique et de visualisation graphique,<br />

Mat<strong>la</strong>b, est l’environnement <strong>sur</strong> lequel nous avons<br />

développé nos traitements. Le chargement <strong>des</strong> signaux<br />

ECG sous Mat<strong>la</strong>b constitue l’étape initiale de notre<br />

algorithme. Il s’agit de convertir les données codée<br />

sous <strong>la</strong> forme initiale du MIT BIH database en un<br />

format compréhensif par Mat<strong>la</strong>b.<br />

Notre base d’étude est issue de <strong>la</strong> base MIT BIH<br />

Arrythmia database (c<strong>la</strong>sse 3). Nous avons choisi 20<br />

enregistrements de 30 mn chacun.<br />

4 Traitements préliminaires<br />

- Les bruits HF<br />

Le filtrage du signal dans le domaine tempsechelle<br />

permet de séparer les coefficients d’ondelettes<br />

re<strong>la</strong>tifs aux hautes fréquences du reste du signal.<br />

Notons qu’un seuil<strong>la</strong>ge soft est appliqué aux<br />

coefficients d’ondelettes avant <strong>la</strong> reconstruction du<br />

signal [DON99]<br />

- La ligne de base<br />

Un autre phénomène moins gênant que le bruit<br />

mais pouvant entraîner <strong>des</strong> problèmes est celui <strong>des</strong><br />

fluctuations de <strong>la</strong> ligne de base. L’origine <strong>des</strong><br />

fluctuations peut être due aux mouvements<br />

respiratoires, au mauvais contact électrode-peau ou<br />

autres. Une forte dérive de <strong>la</strong> ligne de base peut<br />

donner à celle-ci <strong>des</strong> valeurs prise habituellement par<br />

<strong>des</strong> complexes QRS et donc entraîner <strong>des</strong> erreurs<br />

- Détection <strong>des</strong> on<strong>des</strong> R<br />

Pour pouvoir segmenter l’onde P, il est impératif<br />

de détecter l’onde R (voir figure 3) de chaque cycle et<br />

travailler ensuite <strong>sur</strong> une fenêtre à gauche de cette<br />

onde [ZAM05].<br />

0,0 ∝ 2 0,0 ∝ 2<br />

y 1 ≠y 2 ⇒ ∝ 1 -∝ 2 = γ<br />

y 1 =y 2 ⇒ ∝ 1 +∝ 2 = γ<br />

Figure 2 Les deux multiplicateurs de Lagrange<br />

choisis doivent satisfaire les contraintes du<br />

problème.<br />

Le critère d’arrêt de <strong>la</strong> <strong>SMO</strong> est aussi <strong>la</strong><br />

<strong>sur</strong>veil<strong>la</strong>nce <strong>des</strong> conditions de KKT. La comparaison<br />

entre les deux formu<strong>la</strong>tions du Lagrangien et de son<br />

dual peut être utilisée <strong>pour</strong> as<strong>sur</strong>er <strong>la</strong> convergence.<br />

Après apprentissage, <strong>la</strong> fonction de décision<br />

d’écrit :<br />

m<br />

f(<br />

x)<br />

= sign(<br />

∑α i yiK(<br />

x,<br />

xi)<br />

+ b)<br />

(10)<br />

i=<br />

1<br />

où m est le nombre de vecteurs support. f(x)<br />

et<br />

l’étiquette de c<strong>la</strong>ssification<br />

400<br />

200<br />

0<br />

3<br />

2<br />

1<br />

0 100 200 300 400 500 600 700<br />

x 10 10<br />

0<br />

0 100 200 300 400 500 600 700<br />

figure 3 Détection <strong>des</strong> on<strong>des</strong> R<br />

5.Calcul <strong>des</strong> paramètres discriminants<br />

Les paramètres utilisés <strong>pour</strong> essayer de prédire le<br />

risque de FA sont re<strong>la</strong>tifs à l’onde P de l’ECG (figure<br />

4)


SETIT2007<br />

signaux ont d’abord subit un pré-traitement <strong>pour</strong><br />

atténuer les bruits HF et <strong>la</strong> ligne de base, une<br />

segmentation de l’onde P est ensuite effectuée dans le<br />

domaine temporel.<br />

figure 4. Allure d’un cycle de l’ECG, l’onde<br />

encerclée représente l’activité <strong>des</strong> oreillettes.<br />

Pour effectuer une discrimination entre les deux<br />

types d’onde P normale et à risque de fibril<strong>la</strong>tion, il<br />

est impératif de calculer certains paramètres et<br />

caractéristiques pouvant constituer les vecteurs<br />

d’entrée du c<strong>la</strong>ssifieur. Ces vecteurs de<br />

caractéristiques sont constitués chacun de 7 éléments :<br />

- Les paramètres temporels à savoir <strong>la</strong> durée et<br />

l’amplitude de l’onde P représentent les deus<br />

premiers éléments du vecteur.<br />

- La différence entre les formes de l’onde P peut<br />

être capturée a travers une modélisation qui<br />

consiste à approximer l’onde P à un polynôme<br />

d’ordre 4 au sens <strong>des</strong> moindres carrés [CJP99]. Les<br />

coefficients du polynôme constituent les 4 éléments<br />

suivants du vecteur d’entrée.<br />

figure 4. Approximation d’une onde P à un<br />

polynôme du quatrième ordre<br />

- Des étu<strong>des</strong> [CLA97], ont montré <strong>la</strong> divergence<br />

<strong>sur</strong> <strong>la</strong> pertinence <strong>des</strong> paramètres temporels<br />

d’où <strong>la</strong> nécessité d’explorer le domaine<br />

fréquentiel. Le paramètre fréquentiel est<br />

extrait en calcu<strong>la</strong>nt <strong>la</strong> mobilité définie dans<br />

[RAM04] du segment P. Cette mobilité est<br />

donnée par l’équation (11).<br />

var( x)<br />

Mb= (11)<br />

x'<br />

où x représente le segment P et x’ <strong>la</strong> première<br />

dérivée.<br />

6. Résultats expérimentaux<br />

Pour construire <strong>la</strong> matrice d’apprentissage Xapp et<br />

de test Xtest, nous avons effectué un calcul de<br />

paramètres <strong>sur</strong> l’ensemble A <strong>des</strong> signaux issus de <strong>la</strong><br />

base MIT BIH Arrythmia database (c<strong>la</strong>sse 3). Ces<br />

Pour ajuster le paramètre C, choisir le Kernel<br />

(noyau) et fixer les constantes re<strong>la</strong>tives à ce noyau,<br />

nous avons dans un premier temps utilisé <strong>la</strong> même<br />

matrice (entrée x i ) <strong>pour</strong> l’apprentissage et <strong>pour</strong> le test.<br />

Nous avons ensuite complété <strong>la</strong> matrice de test par <strong>des</strong><br />

données arbitrairement prises dans <strong>la</strong> base d’étude.<br />

Pour l’ensemble d’apprentissage utilisé, le vecteur<br />

w normal à l’hyperp<strong>la</strong>n est à 7 éléments tel que<br />

w=(0.2428, 0.7169, 5.5660. –0.8455, 2.6966, 4,6257,<br />

0.2392) où chaque axe de <strong>la</strong> dimension de l’espace est<br />

représenté par un élément du vecteur caractéristique<br />

x i .<br />

Le taux de c<strong>la</strong>ssification est estimé à 85%. Ce taux<br />

de c<strong>la</strong>ssification n’est nom pas du à <strong>la</strong> méthode<br />

c<strong>la</strong>ssification mais à <strong>la</strong> base d’apprentissage qui n’est<br />

pas très <strong>la</strong>rge.<br />

7. Conclusion et perspectives<br />

Dans cet article, nous avons examiné l’application<br />

<strong>des</strong> Support Vector Machines basé <strong>sur</strong> l’algorithme<br />

<strong>SMO</strong> <strong>pour</strong> <strong>la</strong> reconnaissance d’une arythmie<br />

cardiaque. L’algorithme d’apprentissage a été<br />

implémenté sous l’environnement Mat<strong>la</strong>b avec un<br />

noyau polynomial. Des tests effectués <strong>sur</strong> une base de<br />

données provenant de <strong>la</strong> MIT-BIH database nous ont<br />

permis de réaliser un taux de c<strong>la</strong>ssification avoisinant<br />

les 85%.<br />

Ce résultat qui semble pas très satisfaisant est dû<br />

au fait que <strong>la</strong> base de donnée n’est pas très riche d’une<br />

part et au fait que certains battements sont très<br />

difficiles à c<strong>la</strong>sser.<br />

Parmi les perspectives vers lesquelles s’ouvre ce<br />

travail, l’é<strong>la</strong>rgissement de <strong>la</strong> base de données,<br />

introduction d’autres c<strong>la</strong>sses, introduire <strong>la</strong> notion de<br />

rejet <strong>pour</strong> pouvoir rejeter les points qui sont difficiles<br />

à c<strong>la</strong>sser à savoir les points ambigus. et l’introduction<br />

d’un nouveau noyau pouvant être plus adéquat a notre<br />

application.<br />

8. References<br />

[CJP99] Couderc JP & al, 1999 “ Wavelet analysis of<br />

spatial dispertion of P-wave morphology in patients<br />

[CLA96] C<strong>la</strong>vier.L & al,1996,‘’ P-wave parameters for<br />

atrial fibril<strong>la</strong>tion risk detection’’, 18th<br />

anualinternational conference of the IEEE Engineering<br />

in Medicine and Biology society.<br />

[DON99] D.Donoho 1999, 'Denoising by soft<br />

thresholding', IEEE Trans on Info Theory, 41, 3, pp 613-<br />

627, .(1999)<br />

[JCP98], John. C. P<strong>la</strong>tt, “Sequential Minimal Optimization:<br />

A Fast Algorithm for Training Support Vector<br />

Machines”, Technical Report MSR-TR-98-14, April<br />

(1998).


SETIT2007<br />

[LEC95], LeCun.Y &all, “Learning Algorithmes for<br />

C<strong>la</strong>ssification: A comparison on Handwritten Digit<br />

Recognition”, Neural Network: The statistical<br />

mechanics perspective, World Scientific, pp 261-276,<br />

(1995)<br />

[LEP01] Ronan.Lepage & al, 2001 “ECG sementation and<br />

P-wave feature extraction: application to patients prone<br />

to atrial fibril<strong>la</strong>tion”, IEEE/EMBS, Istambul, (Turkey )<br />

[RAM04] Ramaswamy.P & all 2004, “Multi-Parameter<br />

Detection of Ectopic Heartbeats”, IEEE,<br />

Int.Workshop.BioCAS, (2004)<br />

[VAP95], Vapnik.V ,”The nature of statistical learning<br />

theory”, Springer-Ver<strong>la</strong>g, (1995).<br />

[VAP98], Vapnik.V.N, ’’Statistical learning theory’’, John<br />

Wiley & sons, New York, (1998)<br />

[ZAM05] Z.Amirou & all 2005, “C<strong>la</strong>ssification of Patients<br />

Prone to Atrial Fibril<strong>la</strong>tion using <strong>SVMs</strong>”, IEEE,<br />

ICESIT’05, 19-21 july (2005)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!