Brevet FR3144362A1 — publié le 20240628

Il est proposé un système de recommandation de produits par filtrage collaboratif (10) mettant en œuvre des itérations d’une fonction d’apprentissage, appliquée à un ensemble de données et comprenant : un bloc d’initialisation (142) pour déterminer individus d’entrainement , chacun associé à un comportement associé à produits, et individus voisins , issus de ; un bloc d’inférence (144) pour déterminer probabilités , chacune associée à un individu et un produit, et déterminée via mesures de similarité déterminées en appliquant une fonction de mapping de paramètres d’apprentissage aux individus et ; un bloc de rétropropagation (148) pour mettre à jour les paramètres , via lesdites probabilités comparées au comportement associé ; le système (10) déterminant des produits à recommander à un individu ciblé en utilisant les paramètres mis à jour. Figure pour l’abrégé : [Fig. 2] Système et procédé de recommandation utilisant un apprentissage de données multivariées par filtrage collaboratif La présente invention concerne de manière générale le domaine de systèmes informatiques, et en particulier un système et un procédé de recommandations utilisant un apprentissage supervisé de données multivariées par filtrage collaboratif, utilisant une mesure de similarité optimisée. Les systèmes de recommandations sont classiquement utilisés pour déterminer des recommandations de produits à destination des utilisateurs (appelés ci-après ‘individus’) dans un système fournisseur de produits (systèmes de e-commerce par exemple). Des systèmes connus de génération de recommandations combinent des modèles de type réseaux de neurones et des technologies d’apprentissage de données par filtrage collaboratif. Certains systèmes existants sont basés sur l’apprentissage conjoint d’une métrique entre individus et produits, et sur des représentations de l’espace latent des individus et des produits, l’apprentissage utilisant un algorithme de descente de gradient, comme décrit par exemple dans l’article “Collaborative metric learning” de C. K. Hsieh et al. 2017, Proceedings of the 26th international conference on world wide web, pages 193–201. D’autres systèmes existants utilisent un apprentissage d’une mesure de similarité entre produits, basé sur l’historique d’achats des utilisateurs, qui utilise un algorithme appliqué à un réseau de neurones et un critère de similarité de type « objectif contrastive», comme décrit dans l’article “Collaborative metric learning recommendation system: Application to theatrical movie releases” de M. Campo et al. 2018, arXiv preprint arXiv:1803.00202. Cependant, dans de telles solutions, l’apprentissage de données ne permet pas d’exploiter les informations exogènes potentielles sur les utilisateurs. Il existe ainsi un besoin pour un système et un procédé capable d’améliorer l’apprentissage de données multivariées et de fournir une solution plus optimale de générations de recommandations de produits à des individus. La présente invention vient améliorer la situation en proposant un système de détermination de recommandations de produits par filtrage collaboratif comprenant un dispositif d’apprentissage de données apte à recevoir un ensemble de données initial comprenant un pluralité d’individus initiaux issue d’une source de données. Le dispositif d’apprentissage est configuré pour mettre en œuvre une pluralité d’itérations d’une fonction d’apprentissage. La fonction d’apprentissage comprend : - un bloc d’initialisation configuré pour échantillonner une pluralité d’individus d’entrainement issus de l’ensemble de données initial , chaque individu d’entrainement étant associé à un ensemble de caractéristiques multivariées et à un vecteur de comportement associé à une pluralité de produits , le bloc d’initialisation étant en outre configuré pour déterminer une pluralité d’individus voisins issus de l’ensemble de données initial , en appliquant une fonction de voisinage à chacun des ensembles de caractéristiques multivariées des individus d’entrainement ; - un bloc d’inférence configuré pour déterminer, pour chaque individu d’entrainement , une pluralité de probabilités associées aux produits et à une pluralité de mesures de similarité , les mesures de similarité étant déterminées en appliquant une fonction de mapping aux individus d’entrainement et aux individus voisins , la fonction de mapping étant associée à des paramètres d’apprentissage ; - un bloc de rétropropagation (148) configuré pour mettre à jour les paramètres d’apprentissage , en appliquant une phase de rétropropagation pour chaque individu d’entrainement , la mise à jour étant effectuée à partir d’au moins une comparaison des probabilités avec le vecteur de comportement associé. Le système comprend en outre un module d’application configuré pour déterminer un ou plusieurs des produits à recommander à un individu ciblé issu de la source de données, à partir d’une détermination de probabilités associées à l’individu ciblé en utilisant les paramètres d’apprentissage mis à jour par la pluralité d’itérations de la fonction d’apprentissage. Dans des modes de réalisation, la fonction de mapping peut être appliquée de manière à déterminer respectivement un espace latent d’entrainement et un espace latent de voisinage . Les mesures de similarité peuvent être en outre déterminées en fonction de différences entre l’espace latent d’entrainement et l’espace latent de voisinage . La phase de rétropropagation peut être appliquée en outre à partir du calcul du gradient des mesures de similarité par rapport à l’espace latent d’entrainement . Le module d’application (16) peut être configuré pour appliquer : - la fonction de voisinage, à l’individu ciblé , pour générer une pluralité d’individus voisins appliqués issus de l’ensemble de données initial ; - la fonction de mapping , à l’individu ciblé et aux individus voisins appliqués , pour déterminer respectivement un élément latent estimé et un espace latent de voisinage applicatif . Les probabilités peuvent être estimées à partir de mesures de similarité déterminées en fonction de différences entre l’élément latent estimé et l’espace latent de voisinage applicatif . La fonction de voisinage peut comprendre, pour chaque individu d’entrainement : - une détermination de mesures de distance entre l’individu d’entrainement et chacun des individus initiaux ; - une comparaison de chaque mesure de distance avec une valeur de seuil de distance prédéterminée. Le dispositif d’apprentissage peut être configuré pour générer sous-ensembles de données de voisinage à partir de la comparaison, tel que . La détermination de la pluralité d’individus voisins peut être effectuée à partir d’une intersection entre les sous-ensembles de données de voisinage . Avantageusement, les mesures de similarité peuvent être déterminées à partir d’une fonction dérivable de type Gaussian kernel, ou d’une fonction dérivable de type Student-t kernel. Dans des modes de réalisation, la fonction d’apprentissage peut comprendre en outre un bloc de comparaison configuré pour déterminer et évaluer critères d’évaluation à partir des probabilités et des vecteurs de comportement d’entrainement . La phase de rétropropagation peut être appliquée en outre à partir du calcul du gradient des probabilités par rapport aux mesures de similarité . Les critères d’évaluation peuvent être déterminés à partir d’une fonction de coût de type entropie croisée. Le dispositif d’apprentissage de données peut être configuré pour déterminer un coefficient de perte à partir des critères d’évaluation , pour évaluer la valeur du coefficient de perte par rapport à un critère d’évaluation minimal prédéterminé, et pour générer un point arrêt de la fonction d’apprentissage si la valeur du coefficient de perte est inférieure ou égale au critère d’évaluation minimal . Le dispositif d’apprentissage de données peut être alors configuré pour arrêter les itérations de la fonction d’apprentissage en réponse de la détection du point arrêt. Dans des modes de réalisation, le bloc d’inférence (144) peut être en outre configuré pour échantillonner, pour chaque individu d’entrainement , une pluralité d’éléments parmi les probabilités . La phase de rétropropagation peut être appliquée en outre à partir du calcul du gradient des éléments échantillonnés par rapport aux mesures de similarité . Les critères d’évaluation peuvent être déterminés à partir d’une fonction d’erreur de type MAP. Le dispositif d’apprentissage de données peut être configuré pour déterminer un coefficient de gain à partir des critères d’évaluation , pour évaluer la valeur du coefficient de gain par rapport à un critère d’évaluation maximal prédéterminé, et pour générer un point d’arrêt de la fonction d’apprentissage si la valeur du coefficient de gain est supérieure ou égale au critère d’évaluation maximal . Le dispositif d’apprentissage de données peut être alors configuré pour arrêter les itérations de la fonction d’apprentissage en réponse de la détection du point arrêt. Les mesures de similarité peuvent être en outre déterminées en fonction d’un paramètre de similarité . Le dispositif d’apprentissage de données peut être configuré pour mettre à jour à chaque itération le paramètre de similarité à partir d’un gradient de la fonction d’erreur en fonction du paramètre de similarité . La fonction de mapping peut comprendre une implémentation et une utilisation d’un réseau de neurones convolutif construit à partir de blocs de type convolution à une dimension. L’invention fournit également un procédé de détermination de recommandations de produits par filtrage collaboratif mis en œuvre par un système de détermination de recommandations apte à traiter un ensemble de données initial comprenant un pluralité d’individus initiaux issu d’une source de données. Le procédé comprend une pluralité d’itérations d’étapes d’apprentissage supervisé de données consistant à : - échantillonner une pluralité d’individus d’entrainement issus d’un ensemble de données initial , chaque individu d’entrainement étant associé à un ensemble de caractéristiques multivariées et à un vecteur de comportement associé à une pluralité de produits ; - déterminer une pluralité d’individus voisins issus de l’ensemble de données initial , à partir d’une fonction de voisinage appliquée à chacun des ensembles de caractéristiques multivariées des individus d’entrainement ; - déterminer, pour chaque individu d’entrainement , une pluralité de probabilités associées aux produits et à mesures de similarité , les mesures de similarité étant générées en appliquant une fonction de mapping aux individus d’entrainement et aux individus voisins , la fonction de mapping étant associée à des paramètres d’apprentissage ; - mettre à jour les paramètres d’apprentissage en appliquant une phase de rétropropagation, pour chaque individu d’entrainement , à partir d’au moins une comparaison des probabilités avec le vecteur de comportement associé. Le procédé comprend en outre une étape consistant à déterminer un ou plusieurs des produits à recommander à un individu ciblé issu de la source de données, à partir d’une détermination de probabilités associées à l’individu ciblé en utilisant les paramètres d’apprentissage mis à jour par la pluralité d’itérations d’étapes d’apprentissage. Le système et le procédé supervisé d’apprentissage de données selon les modes de réalisation de l’invention permettent l’optimisation conjointe d’une transformation entre ensembles de caractéristiques d’entrée et un espace latent, et d’une mesure de similarité entre représentations de l’espace latent, la mesure de similarité optimisée étant apprise à partir de l’utilisation d’un paradigme d’apprentissage dérivé du principe de filtrage collaboratif. Ils permettent notamment de fournir une solution de détermination de recommandations de produits à des individus à partir de données multivariées et en fonction de mesures de similarité entre ensembles de caractéristiques sous la forme d’un réseau de neurones profond, en utilisant un paradigme prédictif de type filtrage collaboratif. Description des figures D’autres caractéristiques, détails et avantages de l’invention ressortiront à la lecture de la description faite en référence aux dessins annexés donnés à titre d’exemple. La est un schéma représentant une structure globale d’un système de détermination de recommandations par filtrage collaboratif, selon des modes de réalisation de l’invention. La est un schéma représentant des blocs fonctionnels associés à un algorithme d’apprentissage, selon des modes de réalisation de l’invention. La est un schéma représentant des blocs fonctionnels associés à un algorithme de prédiction pour la détermination de recommandations, selon des modes de réalisation de l’invention. La est un exemple de représentation visuelle possible d’un espace latent d’entrainement, selon des modes de réalisation de l’invention. La est un organigramme représentant les étapes du procédé d’apprentissage de données, selon des modes de réalisation de l’invention. La est un organigramme représentant les étapes du procédé de recommandation, selon des modes de réalisation de l’invention. Des références identiques sont utilisées dans les figures pour désigner des éléments identiques ou analogues. Description détaillée La représente un exemple d’un système de détermination de recommandations de données par filtrage collaboratif 10 comprenant une source de données 12, un dispositif d’apprentissage de données 14 et un module d’application de l’apprentissage 16, selon certains modes de réalisation de l’invention. Tel qu’utilisée ici, l’expression « prédiction de données par filtrage collaboratif » fait référence à une prédiction du comportement d’un individu donné à partir d’une combinaison linéaire pondérée du comportement d’individus voisins similaires. Cette combinaison pondérée est en particulier exprimée à travers la similarité (ou mesure de similarité) entre l’individu donné qui doit faire l’objet d’une prédiction de comportement (par exemple, une prédiction sur l’achat d’un produit) et chacun des individus similaires. La source de données 12 comprend un ou plusieurs ensembles de données pouvant être compris et/ou acquis par le système 10. Un ensemble de données est un ensemble de données multivariées généré à partir de la combinaison de données de tout type. En particulier, un ensemble de données multivariées peut être caractérisé par un ensemble d’individus notés . Tel qu’utilisé ici, le terme ‘individu’ est utilisé pour désigner un ensemble d’informations relatives à un utilisateur donné du système 10. Ainsi, chaque individu est associé à un ensemble de données noté correspondant à des ‘caractéristiques’ dites exogènes de l’individu . Par exemple et sans limitation, un individu peut représenter un client actuel ou un client futur. Un ensemble de caractéristiques d’un individu peut comprendre des informations issues d’une base de données client (ou banque de données client) comprenant des informations relatives aux individus. Une caractéristique peut être sans restriction une donnée numérique ou une donnée catégorielle. Une donnée catégorielle peut notamment être convertie en donnée numérique en utilisant un « encodage 1 parmi n » (ou « one-hot encoding » selon l’expression anglo-saxonne). Une donnée catégorielle peut être par exemple des informations d’‘âge’, de ‘sexe’, de ‘revenus’, de ‘secteur d’activité’, d’‘indice d’ancienneté’, etc. Dans des modes de réalisation, chaque individu d’un ensemble de données peut en outre être associé à un ensemble (ou vecteur) de données, noté , correspondant à un ‘comportement attendu’ ou ‘comportement effectif’ de l’individu . Par exemple et sans limitation, le système de détermination de recommandations 10 (encore appelé ci-après « système de recommandations ») peut être un système de détermination de recommandations d’achat en relation avec un nombre de produits comprenant au moins un produit, étant un entier compris entre 1 et . Dans des modes de réalisation, un vecteur de comportement d’un individu peut être une distribution discrète définie par . Un tel vecteur de comportement peut correspondre par exemple à un historique d’achats normalisé de l’individu . Dans ce cas, par exemple, chaque terme du vecteur de comportement peut représenter le décompte d’achat(s) d’un produit spécifique par un individu , sur une période de temps. Par exemple, la période de temps peut être égale à une année et demie. Dans des modes de réalisation, chaque terme du vecteur de comportement peut être normalisé, c’est-à-dire qu’il peut être divisé par le nombre total d’achats de l’individu défini sur une même période de temps, selon la formule (01) suivante : et (01) Comme représenté sur la figure 1, le dispositif d’apprentissage de données 14 est apte à recevoir un ensemble de données initial noté et issu de la source de données 12. En particulier, l’ensemble de données initial comprend une pluralité d’individus notés et appelés ‘individu initiaux’. Chaque individu initial est associé à un ensemble initial de caractéristiques et un vecteur initial de comportement . L’ensemble de données initial peut être représenté par l’expression (02) suivante : (02) Le dispositif d’apprentissage de données 14 est configuré pour appliquer (ou mettre en œuvre) une pluralité d’itérations d’un algorithme d’apprentissage à l’ensemble de données initial . En particulier, l’algorithme d’apprentissage (ou fonction d’apprentissage, modèle d’apprentissage) peut correspondre à un algorithme du type « Algorithme de descente de gradient stochastique » (ou Stochastic Gradient Descent selon l’expression anglo-saxonne correspondante). L’algorithme d’apprentissage peut être réalisé à partir d’une implémentation de n’importe quelle méthode d’apprentissage classique et/ou architecture de réseau de neurone, généralement caractérisé par une fonction de mapping notée et associée à un ensemble de paramètres d’apprentissage . Les paramètres d’apprentissage dépendent de la méthode d’apprentissage utilisé. Par exemple et sans limitation, la méthode d’apprentissage utilisée peut être issu d’un réseau de neurones convolutif (ou convolutionnel) construit à partir de blocs de type convolution à une dimension (1D). Un réseau de neurones à couches linéaires peut également être utilisé. Pour faciliter la compréhension des modes de réalisation de l'invention, des définitions ou notions relatives à l’algorithme d’apprentissage et aux réseaux de neurones sont détaillées ci-après. De façon générale, un réseau de neurone constitue un modèle de calcul comprenant des opérations de calculs, appelées « neurones », interconnectées entre elles par des liaisons, ou « synapses », implémentées sous la forme de mémoires numériques. Un réseau de neurones peut comprendre une pluralité de couches successives de neurones, comprenant une couche d'entrée, une couche de sortie, et une ou plusieurs couches intermédiaires. La couche d'entrée porte des données d'entrée du réseau, c’est-à-dire notamment un ensemble de caractéristiques . Un réseau de neurones est associé à un ensemble de paramètres d’apprentissage . Par exemple et sans limitations, un ensemble de paramètres d’apprentissage peut être un ensemble de données de modèle d’apprentissage relatifs à des biais associés aux neurones du réseau et/ou à des poids synaptiques associés aux liaisons entre différents neurones du réseau. Un ensemble de paramètres d’apprentissage peut en outre être associé à des poids de filtres convolutifs. Par ailleurs, à chaque itération, l’algorithme du type « Algorithme de descente de gradient stochastique » comprend une phase d’inférence (ou phase de propagation vers l’avant dite forward ) et une phase de mise à jour des paramètres d’apprentissage du modèle (appelée également phase de rétropropagation par gradients dite backward ). La phase d’inférence propage les données caractéristiques d'entrée de la couche d'entrée au travers des couches successives du réseau de neurones. Chaque couche d'un réseau de neurones prend ses entrées sur les sorties de la couche précédente. Les données sont propagées jusqu’à la couche de sortie portant le résultat des calculs effectués par le réseau de neurones. Ce résultat peut permettre de déterminer la prédiction notée du réseau par rapport aux données d'entrée considérées. La phase de rétropropagation permet de corriger les erreurs entre les sorties obtenues dans la phase d’inférence et les sorties attendues (ou vecteur de comportement ) pour des données d’entrée considérées. En particulier, l’algorithme d’apprentissage permet de comparer une prédiction par rapport à une sortie attendue selon un critère d’erreur ou d’évaluation encore appelé ‘objectif’, et en fonction de cette comparaison, de mettre à jour à chaque itération les paramètres d’apprentissage pour améliorer le résultat final pouvant être délivré par le réseau de neurone. Dans la phase de rétropropagation, les erreurs éventuelles obtenues par un ou plusieurs neurones du réseau sont « rétropropagées », aux liaisons et aux neurones qui lui sont reliés, vers l’arrière à partir de la dernière couche, de couche en couche, jusqu’à la première couche. Dans les cas où le critère d’erreur est défini à partir d’une fonction dérivable, la rétropropagation peut être une rétropropagation par gradients, dans laquelle dans chaque neurone d’une couche donnée, un message d’erreur à rétropropager est déterminé en utilisant la dérivée du critère d’erreur par rapport à la sortie du neurone de la couche considérée. La représente schématiquement des blocs fonctionnels associés à l’algorithme d’apprentissage appliqué, selon certains modes de réalisation de l’invention. L’algorithme d’apprentissage comprend un bloc d’initialisation 142 configuré pour générer un ensemble d’entrainement de données issu de l’ensemble de données initial . En particulier, l’ensemble d’entrainement de données comprend une pluralité d’individus notés et appelés ‘individus d’entrainement’. Chaque individu d’entrainement est échantillonné parmi l’ensemble des individus initiaux . Chaque individu d’entrainement est alors associé à un ensemble de caractéristiques d’entrainement et un vecteur de comportement d’entrainement (encore appelé ‘distribution comportementale d’entrainement’). L’ensemble d’entrainement de données peut être défini par l’expression (03) suivante : (03) Le bloc d’initialisation 142 est en outre configuré pour générer un ensemble de données de voisinage issu de l’ensemble de données initial . En particulier, l’ensemble de données de voisinage comprend une pluralité d’individus notés et appelés ‘individu voisins’. Chaque individu voisin est alors associé à un ensemble de caractéristiques de voisinage et un vecteur de comportement de voisinage (encore appelé ‘distribution comportementale de voisinage’). L’ensemble de données de voisinage peut être défini par l’expression (04) suivante : (04) Chaque individu voisin est choisi parmi l’ensemble des individus initiaux . En particulier, le choix d’un individu initial donné est effectué à partir d’une fonction de voisinage appliquée entre cet individu initial donné et les différents individus d’entrainement échantillonné. Dans des modes de réalisation, l’application de la fonction de voisinage peut comprendre une détermination de mesures de distance entre individus d’entrainement et individus initiaux . Une mesure de distance, notée ou , s’effectue entre au moins une partie des données comprises dans l’ensemble de caractéristiques d’entrainement et au moins une partie une partie des données comprises dans l’ensemble initial de caractéristiques . Par exemple et sans limitation, la mesure de distance peut être effectuée par exemple en utilisant une méthode de calcul d’une distance euclidienne, entre les deux l’ensemble de caractéristiques d’entrainement et initial . L’application de la fonction de voisinage peut en outre comprendre une comparaison de chacune des mesures de distance déterminées avec une valeur de seuil de distance prédéterminée. La valeur de seuil de distance peut notamment être prédéfinie en fonction de la méthode de la mesure de distance utilisée. Avantageusement, le dispositif d’apprentissage de données peut être configuré pour générer sous-ensembles de données de voisinage, notés , à partir de la comparaison des mesures de distance avec la valeur de seuil de distance . En particulier, un individu initial peut être compris dans un sous-ensemble de données de voisinage associé à un individu d’entrainement , si la mesure de distance entre l’individu initial et l’individu d’entrainement est supérieure à la valeur de seuil de distance . Le sous-ensemble de données de voisinage exclu ainsi l’individu d’entrainement . Dans ce cas, chaque sous-ensemble de données de voisinage peut être représenté par l’expression (05) suivante : (05) Selon des modes de réalisation, la génération de l’ensemble de données de voisinage associé à un ensemble d’entrainement de données peut alors être effectuée à partir d’une intersection entre une partie ou la totalité des sous-ensembles de données de voisinage . L’ensemble de données de voisinage peut être également défini par l’expression (06) suivante : (06) L’utilisation d’un ensemble de données de voisinage et la valeur de seuil de distance permet au modèle d’apprentissage de ne pas utiliser d’individus trop similaires pour prédire un individu d’entrainement donné, et par conséquent d’obtenir de bonnes capacités de généralisation. En d’autres termes, l’utilisation de et permet au modèle d’apprentissage d’être capable d’interpoler convenablement les ensembles de caractéristiques entre différents individus d’une base de données, même en des zones où il y a peu ou pas d’individus similaires « à proximité ». Par ailleurs, la mise en œuvre de l’intersection entre sous-ensembles de données de voisinage permet d’exclure, de l’ensemble de données de voisinage , tout individu d’entrainement . L’algorithme d’apprentissage comprend également un bloc d’inférence 144 configuré pour appliquer une phase d’inférence aux ensembles de caractéristiques d’entrainement et de voisinage . La phase d’inférence met en œuvre la fonction de mapping à l’ensemble de caractéristiques d’entrainement de manière à déterminer un espace latent dit espace latent d’entrainement noté . Le bloc d’inférence 144 est également configuré pour appliquer cette fonction de mapping à l’ensemble de caractéristiques de voisinage de manière à déterminer un autre espace latent dit espace latent de voisinage noté . Les espaces latents d’entrainement et de voisinage sont les données de résultat des calculs obtenus à la couche de sortie d’un réseau de neurones par exemple. Les espaces latents d’entrainement et de voisinage sont en particulier des tenseurs comprenant des éléments latents d’entrainement et de voisinage, notés respectivement et . Le bloc d’inférence 144 est également configuré pour déterminer vecteurs de prédiction de comportement notés (encore appelés ‘distributions comportementales prédites’). Chaque vecteur de prédiction de comportement est associé à un individu d’entrainement , et est déterminé à partir des vecteurs de comportement de voisinage et de mesures de similarité définies entre l’individu d’entrainement et chacun des individus voisins . Un vecteur de prédiction de comportement peut être ainsi défini par l’expression (07) suivante : (07) En particulier, un vecteur de prédiction de comportement associé à un individu correspond à une distribution discrète définie telle que . En particulier, chaque terme du vecteur de prédiction de comportement peut correspondre à une probabilité qu’à un individu d’entrainement d’acheter le produit , tel que défini par l’expression (08) suivante : et (08) Dans des modes de réalisation, chaque mesure de similarité peut être calculée à partir d’une fonction de similarité dérivable prenant en compte un élément latent d’entrainement et un élément latent de voisinage . Dans ce cas, le bloc d’inférence 144 peut avantageusement être configuré pour déterminer un tenseur de voisinage noté et correspondant à la différence entre chacun les éléments latents d’entrainement et de voisinage , tel que défini par la formule (09) suivante : (09) Chaque mesure de similarité est en outre déterminée en fonction d’un paramètre de similarité noté . Le résultat d’une mesure de similarité peut par exemple être une valeur réelle comprise entre 0 et 1. Dans un mode de réalisation, la fonction de similarité dérivable peut être de type « noyau gaussien » (ou ‘ Gaussian kernel ’ selon l’expression anglo-saxonne correspondante). Dans ce cas, la mesure de similarité peut être définie par l’expression (10) suivante : (10) Alternativement, la fonction de similarité dérivable peut être de type Student -t kernel , et la mesure de similarité peut être définie par l’expression (11) suivante : (11) Selon certains modes de réalisation, le bloc d’inférence 144 peut également être configuré pour échantillonner (ou choisir ou déterminer), pour chaque individu d’entrainement , une pluralité d’éléments parmi l’ensemble des termes du vecteur de prédiction de comportement associé, étant un entier compris entre 1 et . Il est à noter que par construction, une distribution comportementale est une distribution de probabilité sur les produits (tel que ). Ainsi, un tel échantillonnage peut être effectué par ‘tirages indépendants’ de produits suivant la loi multimodale du vecteur de prédiction de comportement défini par l’expression (07) précédente et en utilisant, par exemple et sans limitations, un principe d’échantillonnage de type « méthode de la transformée inverse ». Un tel échantillonnage correspond au tirage d’un produit avec une probabilité . Un échantillonnage suivant la loi multimodale peut correspondre à la mise en œuvre d’un classement (ou ‘ ranking ’ selon l’expression anglo-saxonne correspondante) d’une partie ou de l’ensemble des produits , correspondant par exemple aux produits qu’un individu d’entrainement est susceptible d’acheter. En particulier, lorsqu’un produit donné est acheté plusieurs fois par un individu d’entrainement (ou client), ce produit donné est classé comme produit pertinent ou important, et est alors susceptible d’être répété plusieurs fois (c’est-à-dire selon plusieurs échantillons) dans l’échantillonnage . Dans des modes de réalisation, l’algorithme d’apprentissage peut comprendre un bloc de comparaison 146 configuré pour comparer chaque distribution comportementale prédite à la distribution comportementale d’entraînement correspondant. Pour cela, le bloc de comparaison 146 peut être configuré pour déterminer critères d’évaluation notés , à partir d’une fonction d’erreur ou fonction de coût. Chaque critère d’évaluation est associé à un individu d’entrainement et est déterminée à partir de la différence entre le vecteur de prédiction de comportement et le vecteur de comportement d’entrainement . Dans une variante de réalisation, la fonction de coût peut être une fonction de coût dérivable. En particulier, la fonction de coût peut être une fonction de type ‘entropie croisée’. Dans ce cas, le critère d’évaluation peut être défini par l’expression (12) suivante : (12) Alternativement, dans les modes de réalisation où un échantillonnage est déterminé à partir du vecteur de prédiction de comportement , la fonction de coût peut être une fonction de type « moyenne de ‘précision moyenne’ », encore appelée MAP (ou mean average precision selon l’expression anglo-saxonne correspondante) et désignée ci-après par la notation . Dans ce cas, le critère d’évaluation peut être défini selon l’équation (13) suivante : (13) Il est à noter qu’une fonction de coût de type MAP n’est pas dérivable. Le critère d’évaluation défini par l’équation (13) correspond à la moyenne des ‘précisions moyennes’ (AP) de chaque élément de l’échantillonnage . La précision moyenne d’ordre , ou , peut être définie comme la moyenne des précisions de chacun des ordres de l’échantillonnage . En outre, la précision à l’ordre , ou , peut être définie comme le nombre d’éléments ‘pertinents’ parmi -premiers éléments (c’est-à-dire les premiers produits recommandés). Avantageusement, la combinaison de l’utilisation d’une fonction de coût non-dérivable à l’application de l’algorithme du type « Algorithme de descente de gradient stochastique » peut être effectués à partir d’un procédé d’apprentissage par renforcement, et en particulier selon la méthode de « policy-gradient ». La méthode de « policy-gradient » (appliquée à d’autres problématiques) est notamment décrite dans l’article “Simple statistical gradient-following algorithms for connectionist reinforcement learning” de R. J. Williams et al. 1992, Machine learning, 8(3):229–256, ou dans l’article “Policy gradient methods for reinforcement learning with function approximation” de R. S. Sutton et al. 1999, Advances in neural information processing systems, page 12. Dans les modes de réalisation où la fonction de coût est dérivable, lors d’une itération donnée, notée par exemple , de l’algorithme d’apprentissage, le bloc de comparaison 146 peut être configuré pour déterminer un coefficient de perte à partir des valeurs d’erreur associées à chaque individu d’entrainement . En particulier, le coefficient de perte peut être défini selon l’équation (14) suivante : (14) Le coefficient de perte est à minimiser à chaque itération. Ainsi, le bloc de comparaison 146 peut également être configuré pour évaluer la valeur du coefficient de perte par rapport à un critère d’évaluation minimal prédéterminé. Le bloc de comparaison 146 peut être en outre configuré pour générer un point arrêt du modèle d’apprentissage si la valeur du coefficient de perte est inférieure ou égale au critère d’évaluation minimal . Dans les modes de réalisation où la fonction de coût est de type MAP, lors d’une itération donnée, notée par exemple , de l’algorithme d’apprentissage, le bloc de comparaison 146 peut être configuré pour déterminer un objectif (ou coefficient de gain) à partir des critères d’évaluation associées à chaque individu d’entrainement . En particulier, le coefficient de gain peut être défini comme l’espérance mathématique du critère d’évaluation . Dans des modes de réalisation, le coefficient de gain peut être défini selon l’équation (15) suivante : (15) Le coefficient de gain est à maximiser à chaque itération. Ainsi, le bloc de comparaison 146 peut également être configuré pour évaluer la valeur du coefficient de gain par rapport à un critère d’évaluation maximal prédéterminé. Le bloc de comparaison 146 peut être en outre configuré pour générer un point arrêt du modèle d’apprentissage si la valeur du coefficient de gain est supérieure ou égale au critère d’évaluation maximal . Dans certains modes de réalisation, lors d’une itération , le dispositif d’apprentissage de données 14 peut être configuré pour arrêter l’application du modèle d’apprentissage à la fin de l’itération , en réponse à la détection d’un point arrêt. Dans ce cas, la valeur du nombre d’itérations de l’algorithme d’apprentissage peut alors être fixée égale à , par exemple. L’algorithme d’apprentissage comprend également un bloc de rétropropagation 148 configuré pour appliquer une phase de rétropropagation par gradients calculés à partir de la fonction de mapping . Le bloc de rétropropagation 148 est alors configuré pour mettre en œuvre la phase de rétropropagation par gradients pour chaque individu d’entrainement à partir d’un « message retour » noté . Dans les modes de réalisation où la fonction de coût est dérivable, le message retour peut correspondre au gradient de la fonction de coût par rapport au paramètre d’apprentissage . Ce message retour peut être déterminé selon le théorème de dérivation des fonctions composées (ou ‘règle de la chaîne’ pour chain rule selon l'appellation anglaise) à partir des gradients suivants : - le gradient de la fonction d’erreur par rapport au vecteur de prédiction de comportement ; - le gradient du vecteur de prédiction de comportement par rapport aux mesures de similarité ; - le gradient des mesures de similarité par rapport aux éléments de l’espace latent d’entrainement ; et - le gradient des éléments de l’espace latent d’entrainement par rapport aux paramètres d’apprentissage . En particulier, le gradient du vecteur de prédiction de comportement par rapport à une mesure de similarité peut être dérivé à partir de l’équation (07), et défini selon l’expression (16) suivante : (16) En particulier, si la fonction de coût est de type ‘entropie croisée’, le gradient de la fonction de coût par rapport au vecteur de prédiction de comportement peut être défini selon l’expression (17) suivante : (17) Alternativement, dans les modes de réalisation où la fonction de coût est de type MAP, et donc non dérivable, le message retour peut correspondre au gradient de l’espérance mathématique du critère d’évaluation par rapport au paramètre d’apprentissage . Ce message retour peut être déterminé selon la formule (18) suivante : (18) Dans l’expression (18) précédente, le terme correspond au gradient de l’élément de l’échantillonnage par rapport au paramètre d’apprentissage . En particulier, le terme peut être déterminé selon le théorème de dérivation des fonctions composées à partir des gradients suivants : - le gradient de l’élément de l’échantillonnage par rapport aux mesures de similarité ; - le gradient des mesures de similarité par rapport aux éléments de l’espace latent d’entrainement ; et - le gradient des éléments de l’espace latent d’entrainement par rapport au paramètre d’apprentissage . Dans ce cas, le gradient de l’élément de l’échantillonnage par rapport à une mesure de similarité peut être dérivé à partir de l’équation (07), et défini selon l’expression (19) suivante : (19) Dans le mode de réalisation où la fonction de similarité dérivable est de type Gauss ian kernel , le gradient d’une mesure de similarité par rapport à un élément latent d’entrainement peut être dérivé à partir de l’équation (10), et défini l’expression (20) suivante : (20) Alternativement, dans le mode de réalisation où la fonction de similarité dérivable est de type Student-t kernel, le gradient d’une mesure de similarité par rapport à un élément latent d’entrainement peut être dérivé à partir de l’équation (11), et défini l’expression (21) suivante : (21) Le bloc de rétropropagation 148 est par conséquent configuré pour déterminer messages retours associés à chaque individu d’entrainement , en fonction de chacun des vecteurs de comportement de voisinage et des mesures de similarité . Le bloc de rétropropagation 148 est également configuré pour mettre à jour à chaque itération les paramètres d’apprentissage en fonction de la rétropropagation des gradients. En particulier, lors d’une itération , la mise à jour des paramètres d’apprentissage, alors noté pour cette itération et pour l’itération suivante, peut être mise en œuvre en prenant en compte une valeur de paramètre d’apprentissage donnée (ou learning rate selon l’expression anglo-saxonne correspondante), et l’écart d’apprentissage déterminé en fonction de la rétropropagation des gradients. Ainsi, la mise à jour des paramètres d’apprentissage peut être définie selon l’équation (22) suivante : (22) En particulier, l’écart d’apprentissage peut être déterminé à partir des messages retour , selon l’équation (23) suivante : (23) Avantageusement, le bloc de rétropropagation 148 peut également être configuré pour mettre à jour à chaque itération d’un paramètre de similarité en fonction de la rétropropagation des gradients. Dans des modes de réalisation, la mise à jour du paramètre de similarité est effectuée à partir du gradient de la fonction d’erreur par rapport au paramètre de similarité . Par exemple et sans limitation, ce gradient peut être déterminé à partir des différences entre les vecteurs de prédiction de comportement et les vecteurs de comportement de voisinage , des différences entre les vecteurs de prédiction de comportement et les vecteurs de comportement d’entrainement , et les mesures de similarité . Le module d’application de l’apprentissage 16 du système de détermination de recommandations 10 est utilisé pour la prédiction d’information. Le module d’application 16, également appelé module de généralisation, est configuré pour appliquer un algorithme de prédiction par filtrage collaboratif à un ensemble de caractéristiques d’entrée noté , associé à un individu d’entrée (ou ‘individu cible’, ‘utilisateur cible’ ou ‘client ciblé’) et issu de la source de données 12. Le module d’application 16 est en outre être configuré pour estimer, en utilisant le paramètre d’apprentissage mis à jour par la pluralité d’itérations du modèle d’apprentissage, un vecteur de comportement estimé , associé à un individu d’entrée , à partir de l’application de l’algorithme de prédiction. En d’autres termes, le module d’application 16 est configuré pour recommander un ou plusieurs produits à un individu ciblé , à partir des probabilités qu’a l’individu ciblé d’acheter les produits . La représente schématiquement des blocs fonctionnels associés à l’algorithme de prédiction appliqué, selon certains modes de réalisation de l’invention. L’algorithme de prédiction peut comprendre un bloc d’initialisation applicatif 162 configuré pour générer un sous-ensemble de données de voisinage, dit alors applicatif et noté . En particulier, l’ensemble données de voisinage applicatif et issu de l’ensemble de données initial et comprend une pluralité d’individus voisins appliqués . Chaque individu voisin appliqué est alors associé à un ensemble de caractéristiques de voisinage applicatif et un vecteur de comportement de voisinage applicatif . La génération du sous-ensemble de données de voisinage applicatif peut être mise en œuvre via l’application de la fonction de voisinage appliquée à l’ensemble de caractéristiques d’entrée par rapport à l’ensemble de données initial . Le sous-ensemble de données de voisinage applicatif peut alors être défini par l’expression (24) suivante : (24) Avantageusement, une fois le modèle appris, la notion de valeur de seuil de distance peut être écartée et tous les individus initiaux de l’ensemble de donnée peuvent initial être utilisés pour prédire l’individu d’entrée , tel que . L’algorithme de prédiction peut également comprendre un bloc d’inférence applicatif 164 configuré pour appliquer la fonction de mapping à l’ensemble de caractéristiques d’entrée de manière à déterminer un élément latent dit élément latent estimé . Le bloc d’inférence applicatif 164 est également configuré pour appliquer la fonction de mapping aux ensembles de caractéristiques de voisinage de manière à déterminer un espace latent dit espace latent de voisinage applicatif alors noté . L’espace latent de voisinage applicatif est un tenseur comprenant des éléments notés . Le bloc d’inférence applicatif 164 peut être ainsi également configuré pour déterminer le vecteur de comportement estimé , à partir des vecteurs de comportement de voisinage applicatif et de mesures de similarité notée alors définies entre l’individu d’entrée et chacun des individus voisins appliqués et décrits en équation (10) ou (11). Le vecteur de comportement estimé peut être ainsi défini par l’expression (25) suivante : (25) Le vecteur de comportement estimé comprend les éléments . Chaque correspond à une probabilité qu’a l’individu ciblé d’acheter les produits . Le système 10 peut ainsi être configuré pour trier et/ou sélectionner et/ou déterminer un ou plusieurs éléments de manière à déterminer un ou plusieurs produits à recommander à l’individu ciblé . Par exemple et sans limitations, le système 10 peut être configuré pour sélectionner l’élément le plus proche de 1 et pour déterminer le produit associé pour le recommander à l’individu ciblé . En particulier, le système 10 peut être implémenté sous la forme d’un ou plusieurs dispositifs ou systèmes informatiques (appelé ci-après ordinateur). Comme représenté sur la , l’ordinateur (ou système) 10 peut comporter également un module 10-i interface d'entrée/sortie (I/O) (également appelé IHM ou Interface Homme-Machine). Le module 10-i peut comprendre un dispositif d’affichage comprenant un telle interface homme-machine et des moyens de saisie de données pour permettre une entrée de données dans l’interface graphique (par exemple une dispositif de pointage, des microphones de commande vocale, clavier alphanumérique, écran vidéo, écran tactile, des pavés numériques, des boutons poussoirs, des boutons de commande, etc.). L'ordinateur 10 peut également être couplé de manière fonctionnelle à une ou plusieurs ressources externes 20 via un réseau 30. Des ressources externes 20 peuvent inclure, mais sans y être limitées, des serveurs, des bases de données, des dispositifs de stockage de masse, des dispositifs périphériques, des services de réseau à base de nuage, ou toute autre ressource informatique appropriée qui peut être utilisée par l'ordinateur 10. Comme représenté sur la , le système de détermination de recommandations par filtrage collaboratif 10 peut comprendre un module 18 d’exploitation des résultats des algorithmes de l’apprentissage et des prédictions. Dans des modes de réalisation, le module d’exploitation 18 peut être configuré pour générer une représentation d’un espace latent déterminé, par exemple l’espace latent d’entrainement , en fonction d’une valeur de dimensionnalité donnée, notée K et correspondant à la dimensionnalité de l’espace latent. Par exemple et sans limitation, la valeur de dimensionnalité peut être une valeur de dimensionnalité d’affichage définie pour générer un rendu (ou un affichage) de la représentation sur une interface graphique. La valeur de dimensionnalité d’affichage peut être par exemple fixée à 2, par un utilisateur du système 10. La figure 4 illustre une représentation (projection ou carte de projection) d’un espace latent d’entrainement dans un plan (pour K=2). Dans l’exemple représenté sur la figure 4, l’espace latent d’entrainement est issu de la fonction de mapping appliqué au cours d’une des itérations de l’algorithme d’apprentissage de données issues d’historiques d’achats de produits (par exemple des produits bancaires) par des individus. La génération de la représentation sur l’interface graphique peut comprendre la détermination de 2 hyper-paramètres, représentant les deux axes sur la . Selon des modes de réalisation, la mise en œuvre de la représentation visuelle peut également comprendre l’application de différentes couleurs aux points d’affichages en fonction de différentes données des ensembles de caractéristiques associés aux individus. Par exemple et sans limitation, une représentation visuelle peut être mise en œuvre de manière à observer le regroupement graphique de certaines données pour des applications dites de « clustering ». C’est le cas de l’exemple représenté sur la où la coloration des points d’affichage est mise en œuvre en fonction des profils de consommation de produits des individus, c’est-à-dire des combinaisons de produits que les individus ont achetées dans le passé (i.e. en gris les individus ayant acheté : un produit P1 sur la (a), des produits P3 et P22 sur la (b), des produits P1, P3 et P22 sur la (c)). Une représentation peut également être générée de manière à fournir un rendu d’un ou plusieurs groupements de données sur l’interface graphique, ce qui permet de détecter des profils de consommation comparables. Dans ce cas, les colorations peuvent permettant ainsi d’effectuer du profilage d’individus, par exemple en observant la distribution des caractéristiques socio-économique à l’intérieur d’un groupement, de manière à déterminer une loi de distribution des différentes combinaisons de produits d’achat en fonction de certaines caractéristiques multivariées. La coloration des points d’affichage peut également être mise en œuvre en fonction d’une caractéristique associée aux individus, tel que par exemple en rouge les ‘nouveaux clients’ sur la (d). L’association des représentations visuelles (i.e. (c) et (d) quasiment identique), permet dans ce cas de détecter commodément que les ‘nouveaux clients’ achètent exclusivement les produits P1, P3 et P22. L’observation de la distribution des caractéristiques socio-économique à l’intérieur des deux groupements ‘nouveaux clients’ et ‘produits P1, P3 et P22’, permet alors de déterminer une loi de distribution de caractéristiques multivariées communes entre individus en fonction de combinaisons de produits d’achat. Selon des modes de réalisation, la mise en œuvre de la représentation visuelle peut également comprendre l’utilisation d’un algorithme de partitionnement de données de type DBSCAN (pour Density-Based Spatial Clustering of Applications with Noise selon l'appellation anglaise) ou de type HDBSCAN (pour Hierarchical Density-Based Spatial Clustering of Applications with Noise selon l'appellation anglaise). Un tel type d’algorithme peut être exploité pour des applications de « clustering ». Dans certains modes de réalisation, le module d’exploitation 18 peut être configuré pour évaluer la performance de l’apprentissage des données, et en particulier pour calculer la performance en termes de nombre d’itérations, vitesse d’application de l’algorithme d’apprentissage, ou encore de conformité des résultats par rapport à un ensemble de données de tests (c’est-à-dire application de l’algorithme de prédiction et vérification d’obtention de valeurs de coefficient de perte minimale ou de gain maximal). La est un organigramme décrivant un procédé d’apprentissage de données 500, mis en œuvre par un dispositif d’apprentissage de données 14 par filtrage collaboratif, selon des modes de réalisation de l’invention. A l’étape 510, l’ensemble de données initial comprenant des individus initiaux est reçu. A l’étape 520, les différents paramètres de mis en œuvre des itérations d’un algorithme d’apprentissage (ou fonction d’apprentissage) sont reçus. Ces paramètres peuvent comprendre par exemple un nombre d’itérations , les différents paramètres et éléments de la fonction de mapping , la valeur de seuil de distance , ou encore le taux d’apprentissage . A l’étape 532, les individus d’entrainement sont échantillonnés de l’ensemble de données initial pour générer l’ensemble d’entrainement de données . A l’étape 534, les individus voisins sont issus de l’ensemble de données initial à partir de mesures de distance entre individus d’entrainement et individus initiaux , pour générer l’ensemble de données de voisinage . A l’étape 550, la fonction de mapping est appliquée en parallèle aux ensembles caractéristiques des individus d’entrainement et des individus voisins pour générer respectivement l’espace latent d’entrainement et l’espace latent de voisinage . A l’étape 570, les vecteurs de prédiction de comportement associés aux individus d’entrainement sont déterminés, en particulier à partir des vecteurs de comportement de voisinage et de mesures de similarité définies entre un individu d’entrainement et chacun des individus voisins . Chaque mesure de similarité est déterminée au préalable à l’étape 560 en fonction d’un paramètre de similarité et des espaces latents d’entrainement et de voisinage . A l’étape 580, un « message retour » de la phase de rétropropagation par gradients est défini pour chaque individu d’entrainement . En particulier, ce message dépend du gradient des mesures de similarité par rapport aux éléments de l’espace latent d’entrainement . A l’étape 590, la phase de rétropropagation par gradients est appliquée et le paramètre d’apprentissage est mis à jour. La est un organigramme décrivant un procédé de détermination de recommandations de données 600 par filtrage collaboratif, selon des modes de réalisation de l’invention. Le procédé peut être mis en œuvre par le système 10. A l’étape 500, une pluralité de fonctions d’apprentissage est appliquée à l’ensemble de données initial (étape de mise en œuvre de la fonction d’apprentissage de données). A l’étape 610, l’ensemble des caractéristiques d’un individu cible est reçu. A l’étape 630, les individus voisins appliqués sont échantillonnés à partir de l’ensemble de données initial à partir de mesures de distance entre l’individu cible et les individus initiaux , pour générer l’ensemble de données de voisinage applicatif . A l’étape 650, la fonction de mapping est appliquée en parallèle aux ensembles caractéristiques de l’individu cible et des individus voisins appliqués pour générer respectivement l’élément latent estimé et l’espace latent de voisinage applicatif . A l’étape 670, le vecteur de comportement estimé associés à l’individu cible est déterminé, en particulier à partir des vecteurs de comportement de voisinage applicatif et de mesures de similarité définies entre l’individu d’entrée et chacun des individus voisins appliqués . Chaque mesure de similarité est déterminée au préalable à l’étape 660 en fonction d’un paramètre de similarité et de l’élément latent estimé et de l’espace latent de voisinage applicatif . A l’étape 680, un ou plusieurs éléments du vecteur de comportement estimé sont triés et/ou sélectionnés et/ou déterminés, ce qui fournit à l’étape 690, un ou plusieurs produits à recommander à l’individu ciblé . L'homme du métier comprendra aisément que certaines étapes peuvent être réalisées de manière simultanée et/ou selon un ordre différent, par exemple selon un ordre défini par le système de détermination de recommandations 10 et/ou le dispositif d’apprentissage de données 14. L’invention peut être mise en œuvre dans de nombreuses applications et dans des domaines techniques variés. Le système de détermination de recommandations 10 et/ou le dispositif d’apprentissage de données 14 et les procédés selon les modes de réalisation de l’invention peuvent être utilisés par exemple dans des systèmes industriels (systèmes de cybersécurité, processus de fabrication par exemple) ou militaire, dans le domaine de la publicité, de l’audio-visuel, dans le domaine bancaire ou fiscal, dans des dispositifs d’imagerie, de diagnostic médical ou d'aide au diagnostic médical. L’invention s’applique plus généralement à tout domaine pour lequel il existe un besoin de recommandation, de prédiction et/ou d’apprentissage de données. L’homme du métier comprendra que l’invention peut être mise en œuvre en tant que programme d’ordinateur comportant des instructions pour son exécution. Le programme d’ordinateur peut être enregistré sur un support d’enregistrement lisible par un processeur. La référence à un programme d'ordinateur qui, lorsqu'il est exécuté, effectue l'une quelconque des fonctions décrites précédemment, ne se limite pas à un programme d'application s'exécutant sur un ordinateur hôte unique. Au contraire, les termes programme d'ordinateur et logiciel sont utilisés ici dans un sens général pour faire référence à tout type de code informatique (par exemple, un logiciel d'application, un micro logiciel, un microcode, ou toute autre forme d'instruction d'ordinateur) qui peut être utilisé pour programmer un ou plusieurs processeurs pour mettre en œuvre des aspects des techniques décrites ici. Les moyens ou ressources informatiques peuvent notamment être distribués ("Cloud computing"), éventuellement selon des technologies de pair-à-pair. Le code logiciel peut être exécuté sur n'importe quel processeur approprié (par exemple, un microprocesseur) ou cœur de processeur ou un ensemble de processeurs, qu'ils soient prévus dans un dispositif de calcul unique ou répartis entre plusieurs dispositifs de calcul (par exemple tels qu’éventuellement accessibles dans l’environnement du dispositif). Le code exécutable de chaque programme permettant au dispositif programmable de mettre en œuvre les processus selon l'invention, peut être stocké, par exemple, dans le disque dur ou en mémoire morte. De manière générale, le ou les programmes pourront être chargés dans un des moyens de stockage du dispositif avant d'être exécutés. L'unité centrale peut commander et diriger l'exécution des instructions ou portions de code logiciel du ou des programmes selon l'invention, instructions qui sont stockées dans le disque dur ou dans la mémoire morte ou bien dans les autres éléments de stockage précités. Le système de détermination de recommandations 10 et/ou le dispositif d’apprentissage de données 14 peuvent être implémentés sur une ou plusieurs unités de calcul distribuées comprenant une pluralité de cœurs physiques (par exemple 16 cœurs). Les modes de réalisation de l’invention sont particulièrement adaptés à une telle implémentation distribuée ainsi qu’à un portage sur des technologies hardware multi-cœur, ce qui permet d’obtenir une réponse rapide à une requête utilisateur quelle que soit la taille du modèle d’apprentissage ou de prédiction considéré. Le système de détermination de recommandations 10 et/ou le dispositif d’apprentissage de données 14 peuvent être est implémentés dans différents langages, tels que le langage C++. L'invention n'est pas limitée aux modes de réalisation décrits ci-avant à titre d’exemple non limitatif. Elle englobe toutes les variantes de réalisation qui pourront être envisagées par l'homme du métier. En particulier, l’homme du métier comprendra que l’invention n’est pas limitée aux différents blocs fonctionnels, décrits à titre d’exemples non limitatifs. Système de détermination de recommandations de produits par filtrage collaboratif (10) comprenant un dispositif d’apprentissage de données (14) apte à recevoir un ensemble de données initial comprenant un pluralité d’individus initiaux issue d’une source de données (12), le dispositif d’apprentissage (14) étant configuré pour mettre en œuvre une pluralité d’itérations d’une fonction d’apprentissage, ladite fonction d’apprentissage comprenant : un bloc d’initialisation (142) configuré pour échantillonner une pluralité d’individus d’entrainement issus dudit ensemble de données initial , chaque individu d’entrainement étant associé à un ensemble de caractéristiques multivariées et à un vecteur de comportement associé à une pluralité de produits , le bloc d’initialisation (142) étant en outre configuré pour déterminer une pluralité d’individus voisins issus dudit ensemble de données initial , en appliquant une fonction de voisinage à chacun des ensembles de caractéristiques multivariées desdits individus d’entrainement ; un bloc d’inférence (144) configuré pour déterminer, pour chaque individu d’entrainement , une pluralité de probabilités associées auxdits produits et à une pluralité de mesures de similarité , lesdites mesures de similarité étant déterminées en appliquant une fonction de mapping auxdits individus d’entrainement et auxdits individus voisins , ladite fonction de mapping étant associée à des paramètres d’apprentissage ; un bloc de rétropropagation (148) configuré pour mettre à jour lesdits paramètres d’apprentissage , en appliquant une phase de rétropropagation pour chaque individu d’entrainement , ladite mise à jour étant effectuée à partir d’au moins une comparaison desdits probabilités avec ledit vecteur de comportement associé ; le système (10) comprenant en outre un module d’application (16) configuré pour déterminer un ou plusieurs desdits produits à recommander à un individu ciblé issu de ladite source de données (12), à partir d’une détermination de probabilités associées audit individu ciblé en utilisant les paramètres d’apprentissage mis à jour par la pluralité d’itérations de ladite fonction d’apprentissage. Système (10) selon la revendication 1, dans lequel ladite fonction de mapping est appliquée de manière à déterminer respectivement un espace latent d’entrainement et un espace latent de voisinage , lesdites mesures de similarité étant en outre déterminées en fonction de différences entre l’espace latent d’entrainement et l’espace latent de voisinage , dans lequel ladite phase de rétropropagation est appliquée en outre à partir du calcul du gradient des mesures de similarité par rapport à l’espace latent d’entrainement , et dans lequel ledit module d’application (16) configuré pour appliquer : ladite fonction de voisinage, audit individu ciblé , pour générer une pluralité d’individus voisins appliqués issus dudit ensemble de données initial ; ladite fonction de mapping , audit individu ciblé et auxdits individus voisins appliqués , pour déterminer respectivement un élément latent estimé et un espace latent de voisinage applicatif ; lesdites probabilités étant estimées à partir de mesures de similarité déterminées en fonction de différences entre l’élément latent estimé et l’espace latent de voisinage applicatif . Système (10) selon l’une des revendications précédentes, dans lequel la fonction de voisinage comprend, pour chaque individu d’entrainement : une détermination de mesures de distance entre ledit individu d’entrainement et chacun desdits individus initiaux ; une comparaison de chaque mesure de distance avec une valeur de seuil de distance prédéterminée ; le dispositif d’apprentissage (14) étant configuré pour générer sous-ensembles de données de voisinage à partir de ladite comparaison tel que ; ladite détermination de ladite pluralité d’individus voisins étant effectuée à partir d’une intersection entre les sous-ensembles de données de voisinage . Système (10) selon l’une des revendications précédentes, dans lequel lesdites mesures de similarité sont déterminées à partir d’une fonction dérivable de type Gaussian kernel, ou d’une fonction dérivable de type Student-t kernel. Système (10) selon l’une des revendications précédentes, dans lequel ladite fonction d’apprentissage comprend en outre un bloc de comparaison (146) configuré pour déterminer et évaluer critères d’évaluation à partir desdits probabilités et desdits vecteurs de comportement d’entrainement , et dans lequel ladite phase de rétropropagation est appliquée en outre à partir du calcul du gradient desdits probabilités par rapport auxdites mesures de similarité . Système (10) selon la revendication 5, dans lequel lesdites critères d’évaluation sont déterminés à partir d’une fonction de coût de type entropie croisée, ledit dispositif d’apprentissage de données (14) étant configuré pour déterminer un coefficient de perte à partir desdites critères d’évaluation , pour évaluer la valeur du coefficient de perte par rapport à un critère d’évaluation minimal prédéterminé, et pour générer un point arrêt de ladite fonction d’apprentissage si la valeur du coefficient de perte est inférieure ou égale au critère d’évaluation minimal , ledit dispositif d’apprentissage de données (14) étant alors configuré pour arrêter les itérations de ladite fonction d’apprentissage en réponse de la détection du point arrêt. Système (10) selon l’une des revendications 1 à 4, dans lequel le bloc d’inférence (144) est en outre configuré pour échantillonner, pour chaque individu d’entrainement , une pluralité d’éléments parmi lesdites probabilités , dans lequel ladite phase de rétropropagation est appliquée en outre à partir du calcul du gradient desdits éléments échantillonnés par rapport auxdites mesures de similarité , et dans lequel lesdites critères d’évaluation sont déterminés à partir d’une fonction d’erreur de type MAP, ledit dispositif d’apprentissage de données (14) étant configuré pour déterminer un coefficient de gain à partir desdites critères d’évaluation , pour évaluer la valeur du coefficient de gain par rapport à un critère d’évaluation maximal prédéterminé, et pour générer un point d’arrêt de ladite fonction d’apprentissage si la valeur du coefficient de gain est supérieure ou égale au critère d’évaluation maximal , ledit dispositif d’apprentissage de données (14) étant alors configuré arrêter les itérations de ladite fonction d’apprentissage en réponse de la détection du point arrêt. Système (10) selon la revendication 6, dans lequel lesdites mesures de similarité sont en outre déterminées en fonction d’un paramètre de similarité , et dans lequel le dispositif d’apprentissage de données (14) est configuré pour mettre à jour à chaque itération ledit paramètre de similarité à partir d’un gradient de la fonction d’erreur en fonction dudit paramètre de similarité . Système (10) selon l’une des revendications précédentes, dans lequel la fonction de mapping comprend une implémentation et une utilisation d’un réseau de neurones convolutif construit à partir de blocs de type convolution à une dimension. Procédé de détermination de recommandations de produits par filtrage collaboratif (10) mis en œuvre par un système de détermination de recommandations (10), ledit système (10) étant apte à traiter un ensemble de données initial comprenant un pluralité d’individus initiaux issu d’une source de données (12), caractérisé en ce que le procédé comprend une pluralité d’itérations d’étapes d’apprentissage supervisé de données consistant à : échantillonner une pluralité d’individus d’entrainement issus d’un ensemble de données initial , chaque individu d’entrainement étant associé à un ensemble de caractéristiques multivariées et à un vecteur de comportement associé à une pluralité de produits , déterminer une pluralité d’individus voisins issus dudit ensemble de données initial , à partir d’une fonction de voisinage appliquée à chacun des ensembles de caractéristiques multivariées desdits individus d’entrainement ; déterminer, pour chaque individu d’entrainement , une pluralité de probabilités associées auxdits produits et de mesures de similarité , lesdites mesures de similarité étant générées en appliquant une fonction de mapping auxdits individus d’entrainement et auxdits individus voisins , ladite fonction de mapping étant associée à des paramètres d’apprentissage ; mettre à jour lesdits paramètres d’apprentissage en appliquant une phase de rétropropagation, pour chaque individu d’entrainement , à partir d’au moins une comparaison desdits probabilités avec ledit vecteur de comportement associé ; le procédé comprenant en outre une étape consistant à déterminer un ou plusieurs desdits produits à recommander à un individu ciblé issu de ladite source de données (12), à partir d’une détermination de probabilités associées audit individu ciblé en utilisant les paramètres d’apprentissage mis à jour par la pluralité d’itérations d’étapes d’apprentissage.