Réseaux bayésiens pour la recommandation au sein d’un configurateur Anr BR4CP Mathieu Serrurier IRIT
Apprentissage et configuration Réseaux bayésiens Apprentissage de structure de réseaux bayésiens Upper confidence interval entropy Apprentissage incrémental de structure Expérimentations Sommaire
Contexte
Apprentissage dans un configurateur
Historique uniquement : Pas d’information sur l’utilisateur Uniquement basé sur les choix précédents (exemples positifs seulements) Historique sur une ou une plusieurs configurations ? Historique + extérieur Description de l’utilisateur : utilisation des résultats pour les utilisateurs proches Ensemble de choix fixes données avant la configuration Variables
Variables renseignées dans l’ordre : Pb1 : apprentissage de n modèles Pb2 et Pb3 : problème d’utilisation en cascade d’un modèle Variables renseignées dans un ordre indéterminé : Pb1 : un seul modèle : apprentissage avec variables manquantes. Sélection dynamique de variables Pb2 et Pb3 : pas de problème d’utilisation en cascade d’un modèle Ordre fixe ou ordre aléatoire
On suppose les contraintes connues ? Est-ce que le modèle apprends automatiquement les contraintes ? A priori non (contraintes->bruits) Apprentissage de modèle prenant en compte les contraintes : Contraintes présentes dans le background (ILP, contrainte sur le réseau de dépendance, ect …) Biais sur la sélection des modèles Apprentissage puis propagation des contraintes : Plus facile, mais peut engendrer des modèles d’apprentissage incohérents SAT ? Apprentissage et contraintes
Apprentissage de réseaux bayésien sur les variables de la configuration Avantages : Apprentissage à partir d’exemples positifs (historique de vente) Calcul de probabilité Gestion des variables manquantes Représentation compact graphique du modèle Limites Inférence Recommandation avec des réseaux Bayésiens
Réseaux bayésiens
Structure connue Observations complètes : estimation des probabilités par des fréquences Observations incomplètes : estimation par maximum de vraisemblance Structure inconnue données complète Optimisation du réseau par fonction de score Apprentissage de réseaux bayésiens
But : prendre en compte les incertitudes sur l’estimation d’une distribution de probabilité dans le calcul d’entropy Approche Calcul Hup Calcul des intervales de confiance de la distribution de probabilité (fréquence -> ) Calcul d’une distribution de possibilité encodant l’ensemble de ces distributions de probabilité (borne sup sur la cumulée la plus spécifique) Calcul de l’entropie relative de la distribution de possibilité Upper confidence interval entropy
Hup : propriétés Conservation de l’ordre de l’entropie à incertitude égale A entropie égale, favorise la distribution avec le moins d’incertitude
Optimisation par fonction de score Log : H(D,B) AIC : H(D,B) +Dim(B) MDL (ou BIC) : H(D,B) +0.5*Dim(B)Log(|D|) Hup : Hup(D,B) AIC et MDL ->Entropie et structure géré spéparement Hup->incertitude sur l’entropie induite par la structure géré directement Apprentissage de la structure d’un réseau bayésien
Pour chaque nouvelle exemple Mettre à jour le score du modèle Mettre à jour les scores avec l’ajout d’une dépendance S’il existe des dépendances qui améliorent le score Ajouter la meilleure Apprentissage incrémentale
DbHAICHMDLHHup winenominal77.5[2.2]77.3[2.4] 78.2[2.4] diabetesnominal 65.7[2.4]65.8[2.3]66.3[2.5] breastnominal 79.6[1.9]79.9[1.7]80.0[1.6] vehiclenominal82.7[1.6]80.9[1.4]90.2[2.2] zoo290.0[2.2] 88.8[2.2] 90.0[2.2] soy 85.7[0.8] 84.3[0.7] 88.6[0.5] segmentnominal74.1[1.0]70.9[1.0]76.6[0.6] glassnominal79.0[3.1]78.1[2.8] 83.7[2.2] yeastnominal79.1[1.3] 78.6[1.4]79.2[1.4] blocksnominal 81.0[0.7] 78.3[0.8] 83.4[0.7] Expé : accuracy offline
DbHAICHMDLHHup winenominal75.4[2.1]73.7[3.5] 78.1[2.2] diabetesnominal64.3[2.6]65.3[1.6]66.1[1.7] breastnominal 78.9[2.4]79.4[2.0] 79.7[1.7] vehiclenominal81.2[1.3] 78.5[1.5]82.3[1.1] zoo287.6[3.4] 85.2[3.6] 90.6[1.7] soy 84.2[0.8] 82.1[0.7] 87.6[0.4] segmentnominal73.7[0.9] 59.1[1.4]76.6[0.6] glassnominal75.7[2.3]74.7[2.7]82.0[3.4] yeastnominal 78.5[1.3] 76.3[1.3]78.8[1.2] blocksnominal 79.1[0.6] 78.3[0.5] 81.3[0.4] Expé : accuracy online
Offline AIC :93.7 MDL :93.5 Hu :94.7 Online AIC: 92.8 BIC: 90.8 Hu: 94.2 Temps : Offline : 16s Online : 18s Avgupdate : 39ms Max update : 48ms BD Renault (500 ex)