240 likes | 364 Views
Comparaison ICL/Aleph pour un apprentissage multisources. 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
E N D
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
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 : apprentissagepar PLI (simplicité de lecture des règles apprises)
La base d’apprentissage Donné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)
Activité électrique du cœur : les éléments de l’apprentissage (voies II et V)
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, ….)
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é?)
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.
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).
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).
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
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]
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 ?
Voie de pression Bigéminisme Tachycardie ventriculaire
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)
Résultats ICL (valeurs symboliques) 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). 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).
Résultats avec Aleph [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] [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]
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).)
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
Voie II : (P, QRS) Activité électrique Voie V : (QRS) Activité mécanique Voie ABP Apprentissage multivoies : données • 2 voies ECG, 1 voie hémodynamique : 3 vues d’un phénomène
Interrogations • Quel type d’apprentissage ? • Apprentissage global sur plusieurs voies • Apprentissage indépendant sur chaque voie puis fusion
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
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
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)