Machine Learning

    Le Machine Learning est-il nécessaire pour le Deep Learning?

    Les réseaux de neuronaux, appelés aussi des réseaux de neurones artificiels sont des imitations simples des fonctions d’un neurone dans le cerveau humain pour résoudre des problématiques de la Machine Learning.

    Pour comprendre les réseaux neuronaux Feedforward, vous devez avoir une bonne compréhension du Kernel Trick.

    Kernel Trick apparaît dans ce qu’on appelle Support Vector Machines. Afin de comprendre les SVM, vous devez connaître l’estimation de la vraisemblance maximale.

    L’estimation de la vraisemblance maximale est un type d’estimation ponctuelle qui est équivalent à l’erreur quadratique moyenne minimisée.

    Il y a donc plusieurs éléments que vous devez savoir avant de passer au vif du sujet. Récapitulons rapidement.

    Les bases

    La machine Learning peut être définie comme un programme informatique qui est capable de savoir si la mesure de performance P de la tâche T s’améliore avec l’expérience E.

    Cette illustration définit l’apprentissage supervisé:

    apprentissage supervisé ML

     

    Ici, l’expérience serait les données nécessaires pour améliorer l’algorithme. En pratique, nous mettons ces données dans la matrice de conception.

    Définition de Matrice de conception:

    En statistique, une matrice de conception, est appelée aussi matrice de modèle ou matrice de régression et souvent désignée par X. C’est une matrice de valeurs de variables explicatives d’un ensemble d’objets.

    Pour plus de détails sur la matrice de conception, cliquez ici.

    si une seule entrée de données peut être représentée comme un vecteur, en mettant tous les exemples de formations(pour former notre programme: c’est comme si nous lui apprenons que 1+1 renvoi un résultat 2), c’est-à-dire, dans une matrice qui définit l’ensemble des aspects d’entrée des données de formation. Nous notons cela avec :

    X

    Ce n’est pas toute l’expérience. Nous avons encore besoin d’étiquettes, si les exemples sont les saisies. Les étiquettes sont les sorties générées par la fonction de génération de données réelle. Nous les dénotons avec :

    y

    Maintenant, tant X que Y comprennent l’expérience, les termes « improve with experience E»,  est la capacité de s’améliorer. L’Optimiseur est la fonction qui nous permet d’améliorer l’expérience, pour l’instant nous le laissons comme une fonction Blackbox. Mais, l’Optimiseur change un tas de paramètres à chaque itération avec de nouvelles données, et il les change pour que notre machine devient le plus proche possible de la fonction réelle de génération de données.

    Nous conceptualisons le processus réel auquel nous appliquons notre algorithme, comme fonction de génération de probabilités :

    Maintenant, a chaque fois que vous voyez cette fonction,  considerez la comme la fonction réelle que nous essayons d’approcher. En général, nous ne savons pas à quoi cela ressemble ni comment cela fonctionne.

    Intégrons les termes que nous avons déjà appris. Notre matrice de conception comprend les vecteurs x et les étiquettes correspondantes y.

    Les valeurs l’étiquettes sont générées à partir de la fonction réelle. Puisque nous ne savons pas quelle est la fonction réelle, nous essayons de l’approcher avec notre algorithme en  symbolisant notre algorithme avec :

    Peu importe que ce soit un vecteur ou non(pour le moment). Le plus important est que la fonction réelle a une ’étoile et la fonction approximative n’a pas d’étoile. Il a plutôt 2 types d’entrées, l’entrée x et le paramètre theta.

     

    En général, nous pouvons estimer le comportement de la fonction avec des paramètres au lieu des fonctions mathématiques. Pour les fonctions compliquées, il suffit d’avoir de nombreux paramètres ou une structure compliquée.

    D’après le schéma précédent de l’apprentissage supervisé, ’il y a une boîte de poids. Les poids sont à peu près ce que sont ces paramètres, thêtas.

    Et l’Optimiseur ajuste les valeurs des poids à chaque itération de sorte que les paramètres soient définis pour produire les meilleurs résultats dans notre algorithme. Par conséquent, nous appelons nos paramètres la variable apprise ou les entrante.

    L’Optimiseur peut parfois prendre d’autres paramètres qui peuvent changer son comportement, ces derniers sont des variables qui ne sont pas acquises et qui ne se changent pas à chaque itération. Nous les appelons des hyperparamètres.

    Introduction à la généralisation

    Le but du programme d’apprentissage automatique ML est que, une fois qu’il est formé, il devrait être capable d’intégrer des données inédites et des résultats significatifs et corrects(Espérons-le).

    Nous appelons ceci, la Généralisation, la capacité de l’algorithme à fonctionner correctement sur des valeurs non observées auparavant. Cela fonctionne de différentes manières:  très bonne, pas utile, trop spécifique.

    Un programme généralise bien lorsque : la nouvelle entrée est insérée, une sortie utile est générée.

    Quand un programme ne généralise pas bien, la nouvelle entrée est insérée et une sortie inutile est générée. Cela peut se produire lorsque l’algorithme déborde ou sous-adapte.

    Lorsqu’un programme déborde, pendant la formation, les poids et les paramètres sont ajustés pour qu’il  fonctionne correctement sur les données de formation, mais pas sur les nouvelles données. Cela se produit d’une certaine façon parce que les poids sont trop spécifiques aux données de la formation.

    Introduction officielle à la généralisation

    Décomposons l’algorithme en plusieurs phases temporels:

    • Formation
    • Test
    • Utilité

    À la formation, nous produisons continuellement des erreurs que nous utiliserons par la suite pour améliorer les paramètres ou les poids dans l’Optimiseur. La fonction de perte  mesure l’erreur de formation et aussi toutes les autres erreurs.

    En bref, la fonction de perte donne la distance entre la sortie réelle y* et l’algorithme généré y. Pendant la phase  de la formation ou d’entraînement, cette erreur devient de plus en plus faible, comme ceci :

    formation

    Ensuite, l’étape suivante est celle du test, où nous voulons simplement nous assurer que notre algorithme fonctionne vraiment. Compte tenu de la taille  des données gigantesques, de milliers d’exemples de formations sont possibles. Le travail peut être réparti théoriquement en 80 % de formation et 20 % de tests, ou même entre 50 % de formation et 50 % de tests. Ceci rappelle nous fassions toujours des tests pour  obtenir une erreur de généralisation ou une erreur de test.

    Cette erreur de généralisation est un indicateur de la manière avec laquelle cet algorithme formé est susceptible de se comporter réellement.

    Que peut on conclure sur les types d’erreurs? Nous savons qu’au cours de la formation, notre erreur atteint un niveau acceptable. Ensuite, nous faisons un test avec les données séparées pour obtenir l’erreur de généralisation. Souvent, l’erreur de test est plus importante que l’erreur de formation.

    Bien que nous utilisions l’erreur de formation pour optimiser le poids et les paramètres, la valeur qui nous intéresse le plus est l’erreur de généralisation. Comment se fait-il qu’on essaie d’affecter une valeur en changeant indirectement des éléments à une autre étape?

    Vous avez peut-être déjà compris qu’en divisant nos données de formation originales en deux parties, nous pouvons supposer que les améliorations apportées d’un côté vont soudainement apparaître de l’autre côté.

    Le domaine théorique de l’apprentissage statistique fournit quelques réponses et nous aide à formaliser cette compréhension.

    Nous supposons essentiellement que le processus de génération de données, ou ce que nous appelons la fonction de génération de données réelle, produit une sorte de distribution, comme celle-ci :

    fonction de génération de données réelle

    Au lieu de diviser les données parfaitement comme ceci :

    fonction de génération de données réelle

     

    Nous échantillonnons aléatoirement afin de mieux répartir la distribution.

    fonction de génération de données réelle

     

    Bien que les deux ensembles de données proviennent de la même source de données, ici nous faisons l’hypothèse IID sur les 2 ensembles de données : formation et test. IID (independent and identically distributed) signifie indépendant et distribué d’une manière identique. Si cette hypothèse est toujours vraie, ne vous attendez pas à voir des erreurs de généralisation et de formation.Parfois, au milieu du programme et des milliers d’inconnues, vous pouvez oublier de dissiper ces hypothèses fondamentales.

    Avec cette hypothèse, vous créez un processus de génération de données et l’utilisez pour les deux.

    Alors, comment pouvons-nous enfin nous assurer de ne pas déborder? Comment les erreurs de formation et les erreurs de test mènent-elles à la compréhension formelle de la généralisation?

    Nous avons:

    • L’étape de formation donne l’erreur de formation
    • L’étape de test donne l’erreur de test

    Les problèmes liés à la généralisation:

    • Le sous-ajustement se produit lorsque l’erreur de formation est trop importante
    • La différence entre les erreurs de formation et de test est trop grande :

    l'expérience E

    Vous pouvez probablement conclure qu’il est primordiale de s’assurer que l’erreur de formation est petite. Une fois que c’est fait, vous gardez l’erreur de formation petite et corrigée, au moins pour la prochaine étape:test.

    Ces estimations d’erreur sont principalement la « Le rendement P ».

    Jusqu’à présent, nous avons abordé l’expérience E, comme étant des points de données ou des exemples, dans la matrice de conception et les étiquettes.  Nous avons abordé le fait que l’Optimiseur change un tas de paramètres appris en utilisant le score de perte de la fonction de perte. Cela influence la performance de P. il est important à savoir, que nous nous devons pas croire que la Machine learning résout tous les problème magiquement, elle est certainement utile pour quelques catégories de tâches mais pas tout.

    Avant d’introduire et d’analyser les tâches de chaque catégorie, il est nécessaire de comprendre comment fonctionne l’optimiseur.

    Estimateurs ponctuels

    L’estimation ponctuelle est la tentative de fournir la meilleure prévision d’une certaine quantité d’intérêt.

    Cet objet de quantité peut être un seul paramètre, un vecteur de paramètres ou une fonction entière.

    Comme pour tout dans l’apprentissage machine, il y a la vraie valeur du paramètre et l’estimation du paramètre, qui sont notés :

    theta

    Que X soit un ensemble m indépendants et distribués identiquement, i.i.d, en points de données :

    un estimateur ponctuel ou une étude statistique d’une fonction des données, telle que :

    Ce qui est étrange sur la définition, c’est qu’elle n’exige pas que g retourne une valeur proche du paramètre réel. Ceci a une raison, cette définition fournit à l’utilisateur beaucoup de flexibilité.

    L’estimation ponctuelle peut être un scalaire, un vecteur ou même une fonction. Dans le cas d’une fonction, considérez-la comme appartenant à un espace, et donc l’estimation ponctuelle est un point dans cet espace.

    Avec notre algorithme, nous voulons avoir un très bon estimateur de point de fonction. C’est le but de l’apprentissage machine.

    Mais, qu’est ce qu’est un bon estimateur de fonction?

    L’estimation du maximum de vraisemblance

    L’estimation du maximum de vraisemblance est très importante, il nous fournit un indice ou deux.

    Considérez le même ensemble d’exemples indépendants m, distribués de façon identique :

    extrait de la véritable fonction ou processus de génération de données :

    Maintenant, considérez la fonction que nous essayons de faire qui imite ces éléments:

    considérez cette fonction comme une famille paramétres de distributions de probabilités sur le même espace, indexé par :

    L’estimateur de vraisemblance maximale pour theta est alors défini par :

    Si nous l’écrivons décomposé à partir de la notation définie, nous obtenons :

    argmax est une notation mathématique courte des arguments du maximals ,il donne souvent une réponse dans les ensembles, où les valeurs d’entrée donnent la sortie max.

    Pour revenir à l’estimation maximale de thêta, si vous avez déjà travaillé sur cette probabilité, vous pourriez voir un problème.

    Le produit de tas de probabilités indépendantes est problématique parce que, si l’une des probabilités est nulle(égale à 0),  elle influence tout le monde. Formellement, elle supprime un tas de points qui auraient pu être les points maximal s possibles. C’est d’ailleurs ce que nous appelons le problème de sous-flux numérique, lorsque zéro ou des nombres proches de zéro sont approchés de zéro et donnent lieu à zéro.

    Donc, pour contourner le sous-flux numérique, nous enregistrons les probabilités, et nous obtenons ceci :

    Pour comprendre pourquoi cela nous aide, il faut se rappeler quel est le comportement logarithmique, surtout entre 0 et 1, puisqu’il s’agit de probabilités.

     

    donc les probabilités de journalisation nous donnent toujours des valeurs négatives, et la meilleure partie, elle maintient les valeurs arg max les mêmes, puisque même si nous changeons la sortie, arg max se soucie des entrées.

    il faut faire attention est lorsque nous enregistrons l’expression, nous additionnons également les parties journalisées au lieu de multiplier, comme dans la première partie. Encore une fois, c’est pratique, parce que nous pouvons exprimer tout cela comme une estimation :

    Rappelez-vous que l’estimation ressemble à ceci :

    Cette estimation du maximum de vraisemblance apparaît maintenant dans un concept connexe et de concept important de mesure de la dissimilarité.

     

    La Divergence de Kullback Leibler

    Cette divergence mesure à quel point une distribution est différente d’une autre distribution, c’est-à-dire la mesure de la dissimilarité. Elle est définit par :

    Lorsque nous formons l’algorithme, nous ne pouvons pas changer le processus réel de génération de données, donc il est constant. Par conséquent, pour rendre ces distributions de plus en plus semblables les unes aux autres, nous minimisons la divergence KL. La valeur attendue de la première partie est constante, la seule partie qui compte est la deuxième , et on obtient :

    Nous n’avons donc qu’à minimiser la seconde partie de la divergence KL.

    Il s’agit donc de minimiser l’erreur quadratique moyenne et l’estimation de la vraisemblance maximale de la divergence de Kullback Leibler pour arriver au même objectif de faire de notre distribution de modèle plus comme la distribution empirique.

     

    A lire aussi:

    >