1
Comparaison ICL/Aleph pour un apprentissage multisources
2
PLAN
• Introduction• Apprentissage sur les voies II et V
– Résultats avec ICL– Résultats avec Aleph
• Apprentissage sur la voie hémodynamique• Comparaison des logiciels en vue d’un
apprentissage multisources • Interrogations sur l’apprentissage multisources• Conclusion
3
Motivations
• Objectif : amélioration des systèmes de surveillance des patients– réduire le nombre de fausses alarmes– produire de meilleurs diagnostics– améliorer les explications
• Méthode : construire « hors ligne » une base de chroniques pour diagnostiquer « en ligne » les troubles cardiaques chez le patient– choix : apprentissage par PLI (simplicité de lecture des
règles apprises)
4
La base d’apprentissageDonnées étiquetées à partir de la base de donnée
MIMIC
– sur 3 sources• les voies II et V d’un électrocardiogramme• la voie de pression ou voie hémodynamique
– pour 7 classes d’arythmies :• le rythme sinusal ou rythme normal• le doublet ventriculaire • le bigéminisme• l’extra systole ventriculaire • la tachycardie ventriculaire • la tachycardie supra ventriculaire (seulement voie II et V)• la fibrillation auriculaire (seulement voie de pression)
5
Activité électrique du cœur : les éléments de l’apprentissage (voies II et V)
6
Voie hémodynamique
Attributs :
- amplitude diastole/systole
- différence d’amplitude entre diastole et systole
- intervalle de temps entre diastole et systole (sd, ds, dd, ss, ….)
7
Rappels des principales différences ICL/Aleph
• ICL
– + facilité d’expression des contraintes syntaxiques
– + lisibilité des règles apprises
– - apprentissage « biaisé » (DLAB : langage dédié)
– - vitesse
• Aleph
– + vitesse
– + boîte à outils (tout est écrit en PROLOG)
– - règles « obscures »
– - expression du biais (trop de liberté?)
8
Exemple : Bigéminisme (voie II et V)
Description médicale : le cœur bat par groupe de deux (chaque battement est suivi d’une contraction ventriculaire prématurée (PVC)) suivi d’une pause avant le prochain groupe.
9
Résultats ICL(1)Résultat de la classe « bigéminisme » sur les voies II puis
V avec discrétisation
voie II : c_rr1 [918,704] c_rr2 [1652,0] c_pr1 [692,856] c_pp1 [908,1852] c_pp2 [2414,3708]
class(bige, [0, 0, 7, 0, 0, 0], [7, 10, 0, 9, 7, 10]) :-
qrs(R0, abnormal, _), p_wav(P1, normal, R0), qrs(R1, normal, P1),
rr1(R0, R1, Drr1), greater(Drr1, 704), qrs(R2, abnormal, R1).
voie V : c_rr1 [920,718] c_rr2 [1684,1320] c_pr1 [688,842] c_pp1 [918,1898] c_pp2 [2402,3672]
class(bige, [0, 0, 7, 0, 0, 0], [7, 10, 0, 9, 7, 10]) :- p_wav(P0, normal, _), qrs(R0, normal, P0), qrs(R1, abnormal, R0), p_wav(P2, normal, R1), qrs(R2, normal, P2), qrs(R3, abnormal, R2).
10
Résultats ICL (2)• Résultat de la classe « bigéminisme » sur les voies II
et V avec valeurs symboliques (règles identiques)
voies II et V: class(bige, [0, 0, 7, 0, 0, 0], [7, 10, 0, 9, 7, 10]) :-
qrs(R0, normal, _), qrs(R1, abnormal, R0),
p_wav(P2, normal, R1), qrs(R2, normal, P2),
qrs(R3, abnormal, R2).
• Résultat de la classe « bigéminisme » sur les voies II et V avec valeurs symboliques sans ondes P
voies II et V : class(bige, [0, 0, 7, 0, 0, 0], [7, 10, 0, 9, 7, 10]) :- qrs(R0, normal, _, _), qrs(R1, abnormal, R0, R0), qrs(R2, normal, _, R1), qrs(R3, abnormal, R2, R2).
11
Bilan partiel (ICL)• Apprentissages satisfaisants pour chaque classe• Règles plus lisibles avec des valeurs symboliques• Différentes règles apprises sur les deux voies
intérêt d’utiliser les deux voies pour l ’apprentissage• Seuils semblables sur les deux voies
possibilités d’utiliser les mêmes valeurs pour l’apprentissage symbolique sur les 2 voies
• Apprentissage satisfaisant même sans ondes P
si mauvaise détection de l’onde P, possibilité d’apprentissage
12
Résultats avec Aleph(voies II et V : règles identiques)
[Rule 1] [Pos cover = 7 Neg cover = 0]
bige(A) :-
has_wave(A,B,p_wave,normal,C,qrs,normal),
has_wave(A,D,qrs,abnormal,B,p_wave,normal),
has_wave(A,C,qrs,normal,E,qrs,abnormal),
has_wave(A,F,qrs,normal,D,qrs,abnormal).
Accuracy = 1.0
[Training set summary] [[7,0,0,43]]
[time taken] [4.103]
13
Bilan partiel (Aleph)• Pas d’apprentissage pour les classes « rythme
sinusal » et « tachycardie ventriculaire »
• Certaines règles sont très longues à apprendre (plusieurs jours)
• Règles peu lisibles sans schéma
• Règles semblables apprises sur les deux voies intérêt d’utiliser les deux voies pour l’apprentissage ?
14
Voie de pression
Bigéminisme
Tachycardie
ventriculaire
15
Problèmes rencontrés
• Peu de différences entre les classes nécessité d’inventer de nouveaux prédicats pour discriminer les classes entre elles (prédicats amp_dd et amp_ss)
• Cycles orphelins – ICL : utilisation de DLAB pour imbriquer les cycles– Aleph : utilisation de prédicats avec plus
d ’arguments pour lier les cycles entre eux (has_wave/9)
16
Résultats ICL (valeurs symboliques)
class(bige, [0, 0, 4, 0, 0, 0],
[7, 9, 2, 5, 7, 7]) :-
diastole(Dias0, _, _),
systole(Sys0, normal, Dias0),
diastole(Dias1, short, Sys0),
systole(Sys1, normal, Dias1),
dd1(Dias0, Dias1, normal),
diastole(Dias2, normal, Sys1),
systole(Sys2, short, Dias2),
ds1(Dias2, Sys2, normal).
class(tv, [0, 0, 0, 0, 3, 0], [7, 9, 6, 5, 4, 7]) :- diastole(Dias0, _, _), systole(Sys0, normal, Dias0), diastole(Dias1, short, Sys0), systole(Sys1, short, Dias1), dd1(Dias0, Dias1, short), diastole(Dias2, normal, Sys1), systole(Sys2, normal, Dias2), dd2(Dias0, Dias2, short), diastole(Dias3, normal, Sys2), systole(Sys3, normal, Dias3), ss1(Sys2, Sys3, normal).
class(tv, [0, 0, 0, 0, 2, 0], [7, 9, 6, 5, 5, 7]) :- diastole(Dias0, _, _), systole(Sys0, normal, Dias0), diastole(Dias1, normal, Sys0), systole(Sys1, short, Dias1), amp_dd(Dias0, Dias1, normal), ss1(Sys0, Sys1, long), ds1(Dias1, Sys1, normal), diastole(Dias2, short, Sys1), systole(Sys2, normal, Dias2), ds1(Dias2, Sys2, normal), diastole(Dias3, normal, Sys2), systole(Sys3, normal, Dias3), sd1(Sys2, Dias3, short).
class(tv, [0, 0, 0, 0, 1, 0], [7, 9, 6, 5, 6, 7]) :- diastole(Dias0, _, _), systole(Sys0, short, Dias0), diastole(Dias1, short, Sys0), systole(Sys1, normal, Dias1), amp_dd(Dias0, Dias1, long), dd1(Dias0, Dias1, long), ds1(Dias1, Sys1, long).
17
Résultats avec Aleph[Rule 1] [Pos cover = 5 Neg cover = 0]
bige(A) :-
has_wave(A,B,systole,C,diastole,normal),
has_wave(A,D,systole,E,diastole,petit),
ss_1(B,D,long),
ds1(B,E,court).
[Rule 2] [Pos cover = 1 Neg cover = 0]
bige(bige_2_ABP).
Accuracy = 1.0
[Training set summary][[6,0,0,35]]
[time taken] [2830.945]
[Rule 1] [Pos cover = 6 Neg cover = 0]tv(A) :-has_wave(A,B,diastole,C,systole,petit), has_wave(A,D,systole,E,diastole,petit), ss_1(D,C,court), has_wave(A,F,systole,G,diastole,normal).
[Rule 2] [Pos cover = 1 Neg cover = 0]tv(tv_3_ABP).
Accuracy = 1.0[Training set summary] [[7,0,0,34]][time taken] [6311.709]
18
Bilan
• ICL : règles satisfaisantes pour toutes les classes mais peu compactes
• Aleph : règles compactes mais certains cycles restent orphelins (ex : tv) et certaines règles sont non satisfaisantes (ex : tv(tv_3_ABP).)
19
Confrontation ICL/Aleph pour un apprentissage multisources utilisation d ’ICL
• ICL– + les règles pour toutes les classes ont été apprises– + vitesse– + lisibilité des règles apprises sur les voies II et V– -/+ apprentissage « biaisé » (DLAB : langage dédié)
• Aleph– - certains apprentissages n’ont pas été réussis– - règles « obscures »– - temps d’apprentissage très long (pb de biais ?)– + règles plus compactes pour la pression
20
Apprentissage multivoies : données
• 2 voies ECG, 1 voie hémodynamique : 3 vues d’un phénomène
Voie II :(P, QRS)
Voie V :(QRS)
Voie ABP
Activité électriq
ue
Activité mécaniqu
e
21
Interrogations
• Quel type d’apprentissage ?
– Apprentissage global sur plusieurs voies
– Apprentissage indépendant sur chaque voie puis fusion
22
Apprentissage indépendant sur plusieurs voies
• Objectif :– faire apparaître des phénomènes pertinents et
discriminants sur chacune des voies
• Problème– « synchroniser » les différentes voies : établir des
relations (temporelles) entre certains événements sur deux ou plusieurs voies
23
Apprentissage simultanésur plusieurs voies
• Objectif :– faire apparaître des phénomènes pertinents et
discriminants intra-voies et inter-voies
• Problèmes– complexité de l’apprentissage (exemples, langage
des hypothèses)– complexité des règles apprises– difficulté à faire apparaître de la redondance dans
les règles
24
Conclusion et Perspectives
• Apprentissages beaucoup plus satisfaisants avec ICL utilisation d’ICL pour l’apprentissage multisources
• Choix de la stratégie d’apprentissage multisources à déterminer (essai de Céline Fildier, apprentissage simultané avec Aleph)