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

publicité
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)
Téléchargement