• Aucun résultat trouvé

Recherche locale pour l’association entre le modèle de diagnostic et les traces

Chapitre 4 : Assistance à la construction de techniques de diagnostic des connaissances

C. Recherche locale pour l’association entre le modèle de diagnostic et les traces

Ensemble des solutions

La première étape est l’instanciation du modèle de diagnostic au domaine à partir des traces et de l’ontologie conçue par le concepteur. L’algorithme que nous proposons résout le problème d’optimisation combinatoire défini dans la section III. 1 au moyen d’une approche par recherche locale par score (également définie section III. 1). L’algorithme se compose d’une méthode d’exploration des solutions search(), et un score fS mesurant la qualité de chaque solution. Avant de présenter la méthode search() et le score fS, nous devons définir pour notre problème ce qu’est une solution.

Définitions

L’ensemble S des solutions est l’ensemble des instances possibles du modèle de diagnostic à partir des traces d’apprenants et de l’ontologie.

Le voisinage d’une solution s∈S est l’ensemble des instances du modèle de diagnostic qui ne diffèrent que d’une relation ou d’une variable avec s.

77

Nous appelons solution candidate ou solution courante la solution s du problème dont l’algorithme de recherche local est en train d’explorer le voisinage.

Nous disons qu’une solution s est meilleure qu’une solution s’ si le coût f(s)<f(s’).

Dans notre méthode, nous réutilisons un algorithme d’exploration et des scores existants pour chaque implémentation, et proposons un second score unique fS’ pondérant fS. fS’

prend en compte le modèle de diagnostic MD en cours d’apprentissage, ainsi que l’ontologie O et la mise en correspondance de l’ontologie vers les traces Map. Le score fS’ apporte un biais ou une contrainte sur le score fS afin que le modèle statistique appris satisfasse le modèle de diagnostic MD, donc soit une instance de la technique générique de diagnostic considérée.

Définition

Une solution candidate satisfait le modèle de diagnostic si et seulement si l’ensemble des contraintes du modèle de diagnostic sont satisfaites.

Un exemple typique est la contrainte du Knowledge tracing qui impose qu’une et une seule connaissance soit associée à une étape de résolution d’un exercice. Toute solution candidate qui associerait plusieurs connaissances à une étape ne satisferait pas le modèle.

Score

Comme détaillé plus haut, nous utilisons deux scores visant à évaluer une solution candidate : un score statistique fS et un score de pertinence fS’.

fS est un score statistique ou probabiliste. Ces scores sont liés à une implémentation particulière et visent à évaluer à partir des seules traces la pertinence de la solution courante. L’utilité de ces scores est basée sur l’hypothèse que les traces (ici les traces d’apprenants enrichies) contiennent suffisamment de connaissance pour extraire un modèle (ici le modèle de diagnostic) pertinent. C’est une hypothèse que nous avons posée lors de la définition de nos questions de recherche et qui a été confortée par l’étude de l’état de l’art. Il existe dans la littérature un grand nombre de scores pour l’apprentissage automatique, basés généralement sur la fonction de vraisemblance, l’entropie, la probabilité a posteriori

(Aarts et Lenstra, 2003).. Ces scores (qui seront présentés ci-après) n’étant pas originaux, nous avons réutilisé des scores classiques dans la littérature et mis à disposition dans des librairies. A priori, tout score défini comme une fonction de coût (définie plus haut partie III. 1) en optimisation peut être utilisé dans notre méthode.

Nous proposons ensuite un score de pertinence fS’ qui va « biaiser » le score fS en prenant en compte : l’ontologie, l’association entre les traces et l’ontologie, et les contraintes du modèle de diagnostic. Ce score se définit, similairement à fS, comme une fonction de coût associée à un problème d’optimisation combinatoire.

Définition

78

Nous définissons une matrice R dont les lignes sont les variables de MD et les colonnes les variables des traces. R(md,t) est la probabilité que la variable t de T soit équivalente à la variable md de MD. La matrice est initialisée à 1 si t a été liée par le concepteur à une classe de l’ontologie O (via la mise en correspondance), 0,5 sinon. Ces probabilités servent à calculer le score final fS(s)*fS’(s) pour une solution candidate s, puis sont mises à jour à chaque itération de l’algorithme d’exploration. Dans le cas d’une ontologie détaillée, les variables de l’ontologie non associées à une variable des traces sont également ajoutées dans les colonnes de la matrice R. Le calcul de fS’ est défini ci-dessous.

Soit s la solution candidate, et N=(μ, σ2) une gaussienne centrée en 1 (μ = 1), σ2 étant fixé de sorte que N(0.5) = 1, et N(R(t, md)) le score correspondant à la probabilité R(t, md). Alors le score fS’ est l’image de N du produit des R(t, md) pour tout t de T et md de MD de la solution candidate.

fS’(s) =

Ce score est calculé pour l’ensemble du voisinage de la solution candidate, et comparé à la solution candidate, de manière à trouver la meilleure solution. Nous modifions toutefois chaque score avec un paramètre a calculé de la sorte :

a × fS(si) × fS’(0,8) = fS(sj) × fS’(0,5) avec si la solution ayant le plus mauvais score dans le voisinage et sj le meilleur score dans le voisinage.

Cette contrainte permet de vérifier la propriété suivante : un score fS’ pour une valeur supérieure ou égale à 0,8 sera toujours privilégié par rapport à un score aléatoire (0,5), quel que soit fS. Cette propriété vise à privilégier le score fS’ lorsque la probabilité de pertinence est suffisamment élevée, et que le score statistique fS donne des résultats contradictoires. Cette contrainte vise donc à traiter les problèmes où les scores fS et fS’ divergent en donnant la priorité à fS’ si la probabilité de pertinence est forte. Les valeurs 0,8 et 0,5 ont été fixées empiriquement pour cette étude.

Le meilleur score est celui maximisant a×fS×fS’ et tel que la solution candidate satisfasse MD

pour une itération de l’algorithme.

La matrice R est finalement mise à jour en considérant : le meilleur score fS*, la satisfaction

Ss du modèle de diagnostic MD, et la compatibilité avec l’ontologie O. On cherche donc à inférer Pr( R(md,t) | R(md,t), fs*, Ss, O), que l’on simplifie ainsi :

- Pr( R(md,t) | R(md,t), fs*) si Ss et O sont vrais (MD et O sont satisfaits par la solution) - Pas d’inférence sinon

Recherche locale dans l’espace des solutions candidates

Étant donné le score, l’heuristique de recherche locale a trois fonctions : générer une solution candidate initiale, générer le voisinage d’une solution candidate, et itérer en sélectionnant dans le voisinage la nouvelle solution candidate (ou terminer l’algorithme). Pour cette première plateforme, nous avons utilisé la solution dite Hill-Climbing (Langley et

79

al., 1987) qui génère la solution candidate initiale aléatoirement, calcule le voisinage en ne changeant qu’un élément (relation ou variable) de la solution candidate, et itère en sélectionnant toujours dans le voisinage la solution ayant le meilleur score. Comme pour le score fS, nous avons utilisé des librairies existantes implémentant Hill-Climbing.

L’algorithme d’exploration locale est relancé jusqu’à convergence de R. Pour deux exécutions successives donnant en résultat deux matrices R1 et R2, la convergence de R est définie comme suit :

- Soit, | r2-r1 | <= δ pour tout r1 ∈ R1, r2 ∈ R2, avec δ une loi de décroissance δt=0,99δt-1 et δ0=1 (état dit « stable »)

- Soit r2 > 0,9 ∨ r2 < 0,1 pour tout r2 ∈ R2 (état dit « terminal »)

En résultat, la matrice R associe à chaque variable du modèle de diagnostic une ou plusieurs variables des traces ayant la plus forte probabilité d’être équivalentes.

Par exemple, prenons une matrice de résultat quelconque, avec md1, md2 ∈ MD et t1, t2, t3 ∈ T :

t1 t2 t3

md1 0,2 0,1 0,85

md2 0,9 0,9 0,3

Table 2 : Exemple abstrait de matrice R : les lignes sont les variables du modèle de diagnostic (md1, md2) et les colonnes les variables des traces (t1, t2, t3). La case R(md1, t1) est par exemple la probabilité que la variable md1 soit représentée par la variable t1 des traces.

L’association résultante de cette matrice est la suivante : md1->{t3}

md2->{t1, t2}

Dans le cas où aucune solution candidate ne satisfait le modèle de diagnostic, ou qu’une variable du modèle de diagnostic ne peut être associée à aucune variable des traces ou de l’ontologie avec une probabilité supérieure à 0.5, la construction de la technique de diagnostic échoue.