_____________________________________________________________________________________ CLUB ALGO RAPPORT D’ETUDES 2016 1 _____________________________________________________________________________________ Membres du Club ü Alexandre Keiflin (DataSquare) ü Anaïs Martinez (Axa) ü Anne-Claire Martial (Actuaris) ü Aurélien Pichard (Actuaris) ü Christophe Geissler (Advestis) ü Eléonore Haguet-Trouplin (Actuaris) ü Florence Picard (IA) ü Florian Pons (Groupama) ü Gaël Virot (Pacifica) ü Imen Said (Mazars) ü Kehzan Shi (Aviva) ü Laurent Jaffres ü Lucile Beaune (Actuaris) ü Marine Niedzwiedz (Actuaris) ü Maryse Dama (Groupama) ü Matthieu Cutivet (Axa) ü Nathalie Ramos (Banque de France) Table des matières Préambule ........................................................................................................................................... 3 Introduction générale ........................................................................................................................ 4 Première partie – Machine learning ....................................................................................... 6 Deuxième partie : Les algorithmes utilisés en machine learning ....................................... 15 Troisième partie : Introduction à la fouille textuelle ........................................................... 24 Quatrième partie : Études menées en 2016 par le Club Algo ............................................. 29 4.1 Prévention routière ............................................................................................... 30 4.2 Challenge Maif : .................................................................................................... 34 4.3 Pricing Game 2016 ................................................................................................ 39 4.4 Assurance Prairie ................................................................................................. 45 4.5 Text Mining : Detecting Insults in Social Community ...................................... 52 Cinquième partie : Calculs parallèles ................................................................................... 58 Synthèse et projets 2017 ......................................................................................................... 62 Bibliographie ........................................................................................................................... 64 Liens d’intérêts ........................................................................................................................ 64 Forums ..................................................................................................................................... 64 2 _____________________________________________________________________________________ Préambule Le Club Algo a été lancé le 13 juin 2016. Il constitue un sous-groupe du groupe de travail « Big Data » de l’Institut des actuaires, créé par Florence Picard en décembre 2013. Son objectif est double : • Échanger librement sur l’utilisation des algorithmes et les bonnes pratiques. • Rédiger un rapport des travaux menés sur les algorithmes, à destination d’un public d’actuaire et à disposition de l’Institut des Actuaires. Le Club s’est réuni trois fois en 2016 : le 13 juin (date de lancement du Club), le 3 octobre et le 12 décembre. Cinq études ont été menées : 1. Prévention routière : Études des accidents corporels 2. Challenge Maif : Décodage d’une formule de pricing 3. Pricing Game 2016 : Proposer un tarif auto 4. Assurance Prairie : La France découpée grâce à la télédétection 5. Text Mining : Detecting Insults in Social Community Le matériel informatique est devenu incontournable pour le métier de Data Scientist ; aussi il est proposé une introduction aux calculs parallèles à la fin de ce rapport. Notre rapport d'activité 2016 introduit en premier lieu les notions générales de machine learning, expose les algorithmes usuels et présente les études abordées en 2016 (énumérées ci-dessus). Ce rapport n’a pas vocation à établir des démonstrations mathématiques ou statistiques. Il s’attache uniquement à la pratique et à la mise en œuvre sur des cas concrets d’application au domaine de l’assurance d’algorithmes usuels de machine learning. Remerciements à : Xavier Conort et Michel Crucianu pour nous avoir autorisé à utiliser leurs travaux sur la fouille de données. 3 _____________________________________________________________________________________ Introduction générale L’apprentissage statistique ou automatique (machine learning en anglais) se situe à l'intersection de nombreux domaines (liste non-exhaustive) : l'intelligence artificielle, les sciences cognitives, la théorie des probabilités, des statistiques, l'optimisation, la théorie des graphes, la sémantique linguistique... Il est difficile de donner une classification des différentes techniques d'apprentissage. Ces méthodes s'appliquent à diverses sources de données : • aux données structurées (numériques) • aux données non-structurées (images, son, vidéos) Aussi, nous ne pouvons continuer ce rapport sans aborder, en quelques mots, la fouille de données (data mining en anglais) : Les définitions du data mining sont nombreuses et parfois encore assez floues. Mais beaucoup de scientifiques de la donnée s’accordent à dire que le data mining est l’ensemble des méthodes scientifiques issues de la statistique, du big data et de l’intelligence artificielle, destinées à l’exploration et l’analyse de grandes quantités de données en vue de détecter des profils-type, des règles, des liens, restituant l’essentiel de l’information pour l’aide à la décision. En résumé, l'objectif est d'extraire d'une masse de données des « informations utiles » (ou la métaphore du « data mining » qui signifie qu'il y a des trésors ou des pépites cachés sous des montagnes de données). Le machine learning consiste à exécuter des algorithmes afin d'extraire, d’interpréter, d'identifier, de généraliser « ces informations utiles ». À partir de la connaissance des données d'apprentissage, l'algorithme va déterminer, pour de nouvelles données leurs caractéristiques. En d'autres termes, l'algorithme apprend des règles, des caractéristiques (des features) qu'il a appris sur les données d'apprentissage et qu'il va appliquer aux nouvelles données qu'on lui donne. Les utilisations du machine learning et de la data science sont nombreuses en assurance avec le développement de nouveaux usages : voitures, maisons et objets connectés. Analyses prédictives du comportement des clients, recommandations, analyses des réseaux sociaux, ouvertures des données (loi numérique)… Aussi nous souhaitons proposer dans ce rapport quelques use cases appliqués à l’assurance. Les objectifs de ce rapport d'activité sont d’exposer : - en première partie, les notions essentielles d’apprentissage supervisé et nous donnerons quelques définitions succinctes des mécanismes et des étapes à mener lors d’une étude, - en deuxième partie, les algorithmes usuels en machine learning seront parcourus, - dans une troisième partie, nous aborderons la fouille de texte et les grands principes de techniques utilisées. 4 _____________________________________________________________________________________ - En quatrième partie, seront présentées les différentes études et challenges que nous avons menés tout au long de l’année 2016 au Club Algo. - Puis, la cinquième partie nous proposera une introduction au calcul parallèle. Enfin, nous donnerons en conclusion la synthèse de ces études et nous proposerons de nouveaux projets pour 2017. 5 _____________________________________________________________________________________ Première partie – Machine learning 1 Introduction à la première partie L’objectif général de l’apprentissage statistique est d’élaborer des procédures automatiques qui permettent de dégager des règles générales à partir d’exemples. On distingue en général deux types d'apprentissage : l'apprentissage « par cœur » qui consiste à mémoriser telles quelles des informations, et l'apprentissage par généralisation où l'on apprend à partir d'exemples un modèle qui nous permettra de reconnaître de nouveaux exemples. Pour les systèmes informatiques, il est facile de mémoriser un grand nombre de données (textes, images, vidéos...), mais difficile de généraliser. Par exemple, il leur est difficile de construire un bon modèle d'un objet et d'être ensuite capable de reconnaître efficacement cet objet dans de nouvelles images. L'apprentissage automatique est une tentative de comprendre et de reproduire cette faculté d'apprentissage dans des systèmes artificiels. Au sein de l’apprentissage statistique, il existe plusieurs branches en fonction de la nature de l’échantillon et de l’objectif poursuivi : l’apprentissage supervisé, l’apprentissage non-supervisé, l’apprentissage semi- supervisé et l’apprentissage en ligne. Notre rapport se consacre uniquement aux méthodes d’apprentissage supervisé. 6 _____________________________________________________________________________________ Les parties concernant les notions du compromis entre « biais et variance », le sur-apprentissage ainsi que les métriques de comparaison d’algos sont présentées par Lucile. Par Lucile BEAUNE, diplômée de l’ENSAE et d’un master d’Ingénierie Mathématique, Informatique et Statistique de l’UPEM, a réalisé son mémoire d’Actuaire Institut des Actuaire (promo 2016) au sein du cabinet de conseil ACTUARIS à la suite duquel elle a intégré, en novembre 2015, le pôle IARD – Modélisation en tant que consultante. Configuration : Windows 7, Intel Core I7, 16Go de RAM et 4 cœurs Outil : R et Python 1.1 Méthodes d’apprentissage supervisé et non supervisé1 1.1.1 Supervisé : Régression et classification Le terme "apprentissage supervisé" fait généralement référence aux situations où l’on connaît déjà une classification donnée que l’on a enregistrée dans un échantillon d'apprentissage ; on cherche alors à construire un modèle pour prévoir ces classifications (dans un nouvel échantillon de test). Ces méthodes sont regroupées sous la dénomination d'algorithmes d'apprentissage "supervisé", dans la mesure où l'apprentissage (ajustement de modèles) est "guidé" ou "supervisé" par les classifications observées que nous avons enregistrées dans le fichier de données. 1.1.2 Non supervisé : Clustering La situation est différente avec l'apprentissage non-supervisé. Ici, la variable qui nous intéresse n'est pas (ou ne peut pas être) observée. On souhaite mettre en évidence une certaine "typologie" dans les données que nous n'avons pas pu observer de façon évidente. Ce type de tâche fait appel à un algorithme d'apprentissage non-supervisé, dans la mesure où l'apprentissage (ajustement de modèles) ne peut pas être dicté par une classification connue a priori. Parmi les autres méthodes d'apprentissage non-supervisé (en dehors de la classification généralisée k-Moyennes ou EM), citons notamment l'Analyse Factorielle, l'ACP, l'Analyse de Proximité, l'Analyse des Correspondances, les Cartes Auto-Organisatrices de Kohonen (SOM pour Self Organizing Maps) qui sont une forme de réseau de neurones. Dans ce type de réseau, les neurones sont connectés entre eux selon une notion de voisinage et non selon une notion de couche. L'algorithme EM, quant à lui, est une méthode généraliste permettant de trouver l'estimation du maximum de vraisemblance des paramètres des distributions sous-jacentes à partir d'un jeu de données particulier. Toutes les variables sont supposées indépendantes entre elles et toutes les données sont issues de k distributions jointes. L'algorithme réalise ses itérations en deux temps. 1 http://www.math.univ-toulouse.fr/~besse/pub/Appren_stat.pdf 7 _____________________________________________________________________________________ 1. L'algorithme M (la phase Maximization) 2. L'algorithme E (la phase Expectation) où ui représente la moyenne de la distribution i. représente la variance de la distribution i. représente le poids (probabilité) estimé de l'observation j appartenant à la classe i. ci représente la classe i. p(xj) représente la probabilité. Si l'augmentation de la valeur de la vraisemblance est inférieure à la valeur que vous avez spécifiée, le processus itératif s'arrête et vous obtenez la classification finale. De même, si le nombre d'itérations est égal au nombre maximum d'itérations, le processus itératif prend fin et vous pouvez accéder à la classification finale. 1.2 Équilibre « biais/variance » Dans la pratique des algorithmes, il est important de construire des modèles parcimonieux (optimaux) quelle que soit la méthode utilisée. Toutes les méthodes algorithmiques sont concernées : que ce soit le nombre de variables explicatives, le nombre de feuilles dans un arbre, ou de neurones dans une couche cachée. Plus un modèle est complexe et donc plus il intègre de paramètres, et plus il est flexible donc capable de s’ajuster aux données engendrant ainsi une erreur faible d’ajustement. En revanche, un tel modèle peut s’avérer défaillant lorsqu’il s’agira de prévoir ou de généraliser, c’est-à-dire de s’appliquer à des données qui n’ont pas pris part à sa construction. L’objectif consiste donc à trouver le meilleur compromis entre les deux situations : le biais et la variance en contrôlant l'ajustement aux données et la complexité du modèle. On acceptera un certain biais afin de diminuer la variance du modèle ou inversement selon le but recherché. L'idée est qu'il n'y a pas de « méthode universelle » pour tous les problèmes, mais chaque méthode est plus ou moins bien adaptée au problème posé, à la nature des données. 8 _____________________________________________________________________________________ Pour illustrer la notion de « biais – variance » nous utiliserons le schéma ci-dessous : La cible en haut à gauche est la situation idéale, mais peu réaliste « faire mouche à chaque coup ». La 3e cible représente quant à elle une faible variance (les points sont regroupés) et d'un fort biais (les points sont loin du centre rouge). Sur la 4e cible, les points sont dispersés et loin du centre de la cible, c'est la pire situation. Finalement, c'est la 2e cible que l'on tente toujours d'approcher. Le choix du meilleur modèle pour un algorithme donné est primordial. 1.3 Sous et sur-apprentissage et validation croisée Un autre grand fléau qui hante le data scientist est de « tomber » dans le piège d'un mauvais apprentissage de ses données. La mise en œuvre du contrôle de l'apprentissage passe par différentes étapes : la base est partitionnée en deux sous-bases : apprentissage (train en anglais) et test. La base d'apprentissage est la base où se construit le modèle, et la base test est celle ou est testée le modèle. Notions de « sous » et sur-apprentissage L’une des principales missions de la statistique et du machine learning est de faire correspondre un modèle à un échantillon de données d’entraînement et d’être capable, à partir de ce modèle créé (base d'apprentissage sur notre schéma ci-dessus), de faire des prédictions fiables sur un nouvel échantillon (base de test sur notre schéma ci-dessus). Le sur-apprentissage ou sur-ajustement (en anglais « overfitting ») se produit lorsque le modèle construit est excessivement complexe, autrement dit qu’il comprend un trop grand nombre de paramètres par rapport au nombre d’observations de l’échantillon de données test. Le sur-apprentissage est en général provoqué par un mauvais dimensionnement de la structure utilisée pour classifier. De par sa trop grande capacité à stocker des informations, une structure 9 _____________________________________________________________________________________ dans une situation de sur-apprentissage aura de la peine à généraliser les caractéristiques des données. On peut vraisemblablement parler de sur-apprentissage si l'erreur de prédiction sur l'ensemble d'apprentissage diminue alors que l'erreur sur la validation augmente de manière significative. Cela signifie que la méthode prédictive continue à améliorer ses performances sur les échantillons d'apprentissage mais perd son pouvoir de prédiction sur ceux provenant de la validation. De manière générale, on arrête l'apprentissage dès que l'on observe cette divergence entre les deux courbes. Sur le graphique ci-dessous, on peut observer l’évolution de l’erreur de prédiction en fonction de la complexité du modèle sur les échantillons d’apprentissage et test. û Lorsque le modèle est très simple (à gauche sur le graphique), l’estimation réalise de mauvaises prédictions sur les deux échantillons (apprentissage et test). Ce premier cas constitue ce que l’on appelle le phénomène de « sous-apprentissage ». û Au contraire lorsque le modèle devient très complexe (sur la droite du graphique), l’erreur d’estimation sur la base d’apprentissage tend vers zéro tandis que l’erreur de prédiction sur la base de test est élevée. Ce second cas constitue la hantise de tout statisticien et s’appelle le « sur- apprentissage » (cf. définition dans la partie suivante). Une autre manière de voir le phénomène d'apprentissage est comme le montre le schéma ci-dessous : 10
Description: