SETIT 2007 4th International Conference: Sciences of Electronic, Technologies of Information and Telecommunications March 25-29, 2007 – TUNISIA Application des SVMs basés sur l’algorithme SMO pour la détection d’anomalies cardiaques Z.Zidelmal.Amirou*, A.Amirou*, M.Djeddi* & N.Djouaher* * Laboratoire LAMPA Département d’Electronique, Faculté de Génie Electrique et d’Informatique Université Mouloud Mammeri Tizi-Ouzou, Algérie E-maîl: [email protected] Résumé: Les SVM constituent un nouveau type d’algorithmes d’apprentissage, originalement introduits par Vladimir Vapnik [VAP95]. Ils sont basés sur un algorithme d’apprentissage ayant comme fonction de décision un hyperplan optimal dans un espace de grande dimension. Parmi les méthodes à noyaux, inspirées de la théorie statistique de l’apprentissage de Vapnik, les SVM constituent la forme la plus connue. Ils ont été adaptés à divers contextes: classification avec apprentissage, estimation de support de densité, régression, etc. Les SVM sont appliqués avec une efficacité remarquable à la reconnaissance de caractères manuscrits, au traitement d’images, à la prédiction de séries temporelles, au diagnostic médical, au contrôle qualité, etc. Cet article propose l’application des SVMs pour la reconnaissance d’une Fibrillation Auriculaire (AF) l’une des arythmies cardiaques les plus courantes. L’algorithme d’apprentissage utilisé est la SMO (Sequential Minimal Optimization), plus rapide et plus simple à implémenter. La base d’étude utilisée pour l’apprentissage et les tests provient de la base MIT BIH Arrythmia database. Mots clefs: Support Vector Machines (SVMs), Algorithme SMO, Arythmie cardiaque . 1.Introduction Pendant ces dernières années, un intérêt remarquable a été accordé aux Support Vector Machines (SVMs) [VAP95]. Ces algorithmes d’apprentissage ont trouvé des domaines d’application très variés comme la reconnaissance de caractères manuscrits [LEC95], la détection de visage [OSU97], la détection de composante audio [GUO03]. Néanmoins, L’utilisation des SVMs était limitée à un groupe de chercheurs car les algorithmes d’apprentissage standards étaient longs et difficiles à implémenter. Pour Palier à ce problème, John. C.Platt à mis au point un algorithme d’apprentissage pour SVMs appelé SMO (Sequential Minimal Optimization) [JCP 98]. Cet algorithme est généralement plus rapide, plus simple à implémenter et nécessite un espace mémoire réduit. Dans cet article, nous proposons une application de cet algorithme pour la reconnaissance d’une arythmie cardiaque parmi les plus courantes. Il s’agit de la Fibrillation Auriculaire (FA). Notons que beaucoup de travaux sont déjà fait en utilisant les réseaux de neurones [LEP01] [CLA97]. La lecture de cette arythmie se fait sur l’onde P d’un ECG car cette onde représente l’activité électrique des oreillettes. L’étude de cette onde nous permet de calculer un certain nombre de paramètres discriminants et constituer ainsi les vecteurs d’entrée xi du SVM, relatif à chaque battement i. Notons que les paramètres retenus sont: la durée de l’onde P, son amplitude, sa fréquence et sa forme représentée par les coefficients d’un polynôme d’ordre 4 et l’information fréquentielle donnée par la mobilité de l’onde. SETIT2007 2. Aperçu sur les Support Vector Machines. SVMs Les SVM constituent un nouveau type d’algorithmes d’apprentissage, originalement introduits par Vapnik [VAP 98]. Le succès de cette méthode est justifié par les solides bases théoriques qui la soutiennent Les SVMs sont basés sur un algorithme d’apprentissage ayant comme fonction de décision un hyperplan optimal dans un espace de grande dimension D. La projection dans cet espace est réalisée pour palier à la non linéarité de séparation. A partir des données d’apprentissage {xi,yi)} où xi∈Rn et yi∈{-1,+1}. L’algorithme consiste à représenter les points xi dans cet espace D par une transformation non linéaire construite à partir d’une famille de fonctions {ϕk} sous certaines conditions. La série ϕk(x).ϕ k(y) converge vers une fonction K appelée noyau (Kernel) K(x, y)= ∑ϕ k (x).ϕ k (y) (1) Le problème est posé dans l’autre sens: pour un noyau donné K(x,y), existe-t-il une famille des ϕk vérifiant l’équation (1). Pour vérifier cela, il est nécessaire et suffisant que le noyau K(x.y) vérifie la condition de Mercer [NJC02]. . H x.w+b=0 marge = 1/w→max ● * * ** ● ● ●● Xj.w+b<0 * ● Ε Ε xi.w+b>0 * H2 H1 k ∈N Dans ce cas, la fonction de décision est donnée par le signe de la fonction de discrimination suivante qui ne dépend plus que du noyau : _ l f(x)=∑ yi α i K(x, xi)+b (2) i =1 où les αi et b sont des coefficients à déterminer, en maximisant la distance, appelée marge, entre la frontière de décision f(x)=0 et le nuage de point dans D. (voir figure 1) pour une illustrations de ces concepts). Le problème devient un problème d’optimisation : min 1 2 sous contraintes : w 2 N + C ∑ ξ i i =1 (3) Il existe plusieurs types de noyaux K les plus connus, sont donnés en table 1: Table 1. Exemples de Kernels utilisés en SVMs Type de Kernel (K) Polynomial: P(d) Radial Basic Fonction RBF(σ) K(x,xi) 1+ xT .x i d 2 exp − 1 x − xi 2σ 2 Sigmoide: S(s0, s1) y i ( < w , x i > ) ≥ 1− ξ i (4) où C est une constante à déterminer et ξi est l’erreur non négative. En pratique, on résoudre le problème dual LD (II.5): l l LD = ∑ α i − 1 ∑ αiα j yi y j K(xi, x j ) 2 i,l =1 i =1 sous contraintes : 0 ≤ α i ≤ C , i = 1 , l et Figure 1 Hyperplan optimal (H) séparant les deux classes par SVMs décrit par x.w+b=0. Les vecteurs support sont les points encerclés placés sur les deux plans H1 et H2 satisfaisant : x.w+b =1 l α iyi = 0 ∑ i =1 (5) tanh s0 xT .xi + s1 Les paramètres p, σ, s0 et s1 sont fixés par l’utilisateur. 2.1 L’algorithme SMO L’algorithme Sequential Minimal Optimization (SMO) posé par [JCP98] est un algorithme qui permet de résoudre rapidement le problème quadratique (5) du SVM sans passer par toutes les étapes de résolution numérique d’un QP. L’idée principale des algorithmes de décomposition est de travailler avec un sousensemble réduit de données du problème, garder les solution et continuer avec le reste des données où les solutions antérieures doivent être encore testées. La SMO prend cette idée à l’extrême : elle optimise seulement deux vecteurs par itération. Cette optimisation admet une solution analytique. A chaque SETIT2007 itération, la SMO choisit deux coefficients de Lagrange ∝i et ∝j pour les optimiser ensemble, trouver ses valeurs optimales étant donné que toutes les autres sont fixes, et actualiser le vecteur solution ∝. L D = α 1 + α 2 − 1 K ( x1. x1 ) α 12 − 1 K ( x 2 . x 2 ) α 22 2 2 − 2 y1 y 2 K ( x1. x 2 ) α 1α − y1α 1v1 − y 2α 2 v 2 + cte (6) l j =3 En respectant les contraintes : l ∑αi yi =0 (fig 2). i =1 4 Traitements préliminaires On dérive LD par rapport à ∝2 et on obtient des expressions de cette variable en fonction de l’erreur de classification (9) y 2 (E1 − E 2 ) K new new α1 = α1 + y1 y 2 (α 2old − α 2new ) α 2new = α 2old − (7) (8) où k=K(x1.x1) + K(x2.x2) -2K(x1.x2) et E1 et E2 : Ei = f ( xi ) − y i = l α j y j K ( x j. xi ) + b − y i ∑ j =1 (9) La SMO optimise deux coefficients à chaque itération. Un des deux doit violer les conditions de KKT pour être choisi dans l’itération courante. ∝1 ∝1 C,C ∝2 0,0 y1≠y2 ⇒ ∝1-∝2 = γ Parcequ’il est un système interactif et convivial de calcul numérique et de visualisation graphique, Matlab, est l’environnement sur lequel nous avons développé nos traitements. Le chargement des signaux ECG sous Matlab constitue l’étape initiale de notre algorithme. Il s’agit de convertir les données codée sous la forme initiale du MIT BIH database en un format compréhensif par Matlab. Notre base d’étude est issue de la base MIT BIH Arrythmia database (classe 3). Nous avons choisi 20 enregistrements de 30 mn chacun. avec : vi = ∑ yiα i K(xi.x j ) 0≤α1, α 2 ≤C et 3. Chargement des données 0,0 C,C ∝2 - Les bruits HF Le filtrage du signal dans le domaine tempsechelle permet de séparer les coefficients d’ondelettes relatifs aux hautes fréquences du reste du signal. Notons qu’un seuillage soft est appliqué aux coefficients d’ondelettes avant la reconstruction du signal [DON99] - La ligne de base Un autre phénomène moins gênant que le bruit mais pouvant entraîner des problèmes est celui des fluctuations de la ligne de base. L’origine des fluctuations peut être due aux mouvements respiratoires, au mauvais contact électrode-peau ou autres. Une forte dérive de la ligne de base peut donner à celle-ci des valeurs prise habituellement par des complexes QRS et donc entraîner des erreurs - Détection des ondes R Pour pouvoir segmenter l’onde P, il est impératif de détecter l’onde R (voir figure 3) de chaque cycle et travailler ensuite sur une fenêtre à gauche de cette onde [ZAM05]. 400 y1=y2 ⇒ ∝1+∝2 = γ 200 0 Figure 2 Les deux multiplicateurs de Lagrange choisis doivent satisfaire les contraintes du problème. Le critère d’arrêt de la SMO est aussi la surveillance des conditions de KKT. La comparaison entre les deux formulations du Lagrangien et de son dual peut être utilisée pour assurer la convergence. Après apprentissage, la fonction de décision d’écrit : m α i yi K(x, xi ) +b) ∑ i =1 f(x) = sign( (10) où m est le nombre de vecteurs support. f(x) et l’étiquette de classification 0 100 x 1010 200 300 400 500 600 700 0 200 300 400 500 600 700 3 2 1 0 100 figure 3 Détection des ondes R 5.Calcul des paramètres discriminants Les paramètres utilisés pour essayer de prédire le risque de FA sont relatifs à l’onde P de l’ECG (figure 4) SETIT2007 signaux ont d’abord subit un pré-traitement pour atténuer les bruits HF et la ligne de base, une segmentation de l’onde P est ensuite effectuée dans le domaine temporel. figure 4. Allure d’un cycle de l’ECG, l’onde encerclée représente l’activité des oreillettes. Pour effectuer une discrimination entre les deux types d’onde P normale et à risque de fibrillation, il est impératif de calculer certains paramètres et caractéristiques pouvant constituer les vecteurs d’entrée du classifieur. Ces vecteurs de caractéristiques sont constitués chacun de 7 éléments : - Les paramètres temporels à savoir la durée et l’amplitude de l’onde P représentent les deus premiers éléments du vecteur. - La différence entre les formes de l’onde P peut être capturée a travers une modélisation qui consiste à approximer l’onde P à un polynôme d’ordre 4 au sens des moindres carrés [CJP99]. Les coefficients du polynôme constituent les 4 éléments suivants du vecteur d’entrée. figure 4. Approximation d’une onde P à un polynôme du quatrième ordre - Des études [CLA97], ont montré la divergence sur la pertinence des paramètres temporels d’où la nécessité d’explorer le domaine fréquentiel. Le paramètre fréquentiel est extrait en calculant la mobilité définie dans [RAM04] du segment P. Cette mobilité est donnée par l’équation (11). var(x) Mb= x' (11) où x représente le segment P et x’ la première dérivée. 6. Résultats expérimentaux Pour construire la matrice d’apprentissage Xapp et de test Xtest, nous avons effectué un calcul de paramètres sur l’ensemble A des signaux issus de la base MIT BIH Arrythmia database (classe 3). Ces Pour ajuster le paramètre C, choisir le Kernel (noyau) et fixer les constantes relatives à ce noyau, nous avons dans un premier temps utilisé la même matrice (entrée xi) pour l’apprentissage et pour le test. Nous avons ensuite complété la matrice de test par des données arbitrairement prises dans la base d’étude. Pour l’ensemble d’apprentissage utilisé, le vecteur w normal à l’hyperplan est à 7 éléments tel que w=(0.2428, 0.7169, 5.5660. –0.8455, 2.6966, 4,6257, 0.2392) où chaque axe de la dimension de l’espace est représenté par un élément du vecteur caractéristique xi. Le taux de classification est estimé à 85%. Ce taux de classification n’est nom pas du à la méthode classification mais à la base d’apprentissage qui n’est pas très large. 7. Conclusion et perspectives Dans cet article, nous avons examiné l’application des Support Vector Machines basé sur l’algorithme SMO pour la reconnaissance d’une arythmie cardiaque. L’algorithme d’apprentissage a été implémenté sous l’environnement Matlab avec un noyau polynomial. Des tests effectués sur une base de données provenant de la MIT-BIH database nous ont permis de réaliser un taux de classification avoisinant les 85%. Ce résultat qui semble pas très satisfaisant est dû au fait que la base de donnée n’est pas très riche d’une part et au fait que certains battements sont très difficiles à classer. Parmi les perspectives vers lesquelles s’ouvre ce travail, l’élargissement de la base de données, introduction d’autres classes, introduire la notion de rejet pour pouvoir rejeter les points qui sont difficiles à classer à savoir les points ambigus. et l’introduction d’un nouveau noyau pouvant être plus adéquat a notre application. 8. References [CJP99] Couderc JP & al, 1999 “ Wavelet analysis of spatial dispertion of P-wave morphology in patients [CLA96] Clavier.L & al,1996,‘’ P-wave parameters for atrial fibrillation risk detection’’, 18th anualinternational conference of the IEEE Engineering in Medicine and Biology society. [DON99] D.Donoho 1999, 'Denoising by soft thresholding', IEEE Trans on Info Theory, 41, 3, pp 613627, .(1999) [JCP98], John. C. Platt, “Sequential Minimal Optimization: A Fast Algorithm for Training Support Vector Machines”, Technical Report MSR-TR-98-14, April (1998). SETIT2007 [LEC95], LeCun.Y &all, “Learning Algorithmes for Classification: A comparison on Handwritten Digit Recognition”, Neural Network: The statistical mechanics perspective, World Scientific, pp 261-276, (1995) [LEP01] Ronan.Lepage & al, 2001 “ECG sementation and P-wave feature extraction: application to patients prone to atrial fibrillation”, IEEE/EMBS, Istambul, (Turkey ) [RAM04] Ramaswamy.P & all 2004, “Multi-Parameter Detection of Ectopic Heartbeats”, IEEE, Int.Workshop.BioCAS, (2004) [VAP95], Vapnik.V ,”The nature of statistical learning theory”, Springer-Verlag, (1995). [VAP98], Vapnik.V.N, ’’Statistical learning theory’’, John Wiley & sons, New York, (1998) [ZAM05] Z.Amirou & all 2005, “Classification of Patients Prone to Atrial Fibrillation using SVMs”, IEEE, ICESIT’05, 19-21 july (2005)