Partage
  • Partager sur Facebook
  • Partager sur Twitter

Création d'un système d'apprentissage

    11 juin 2019 à 16:23:44

    Bonjour à tous;

    Actuellement en stage en entreprise, je fais face à un problème qui m'est posé. Mon but est d'améliorer la sécurité d'un dispositif électromécanique. Pour cela, plusieurs mesures ont été effectuées, des mesures d'amplitude de signal électrique. Ainsi, on détermine que si le signal dépasse une certaine amplitude on stoppe la machine. Problème on veut améliorer ce système. On pense alors à un système de machine learning, où l'on fournirait assez d'exemple à notre ia afin qu'elle sache par la suite reconnaître seule s'il y a danger ou pas. Second problème j'ai un faible niveau de code en python, et aucune base de machine learning. J'ai donc essayé de me documenter mais la mise en place d'un tel système reste assez floue. Je vous demande alors, si vous savez où l'on peut trouver des documents fiables et bons, puis si vous savez comment créer une ia comme telle, si cela est relativement complexe ou si l'on peut s'en sortir. 

    En vous remerciant. 

    PS : je précise que j'ai un niveau de math de prépa scientifique, donc si les maths sont un frein je peux tout de même peut être m'en sortir.

    • Partager sur Facebook
    • Partager sur Twitter
      12 juin 2019 à 0:40:02

      Pour realiser un tel projet, Python est sufisant (reste a voir ce que veux la direction).

      Bibliotheques a apprendre :

      Tenserflow matsplotlib beaucoup d'infos sont disponible sur la toile, mais avant il faut connaitre ce qu'est le machine learning ( les meilleures explications sont en englais , ce qui est logique).

      Les videos por tenserflow: https://www.youtube.com/watch?v=cKxRvEZd3Mw

      Un site de qualite : https://www.tutorialspoint.com/ :

                              https://www.tutorialspoint.com/artificial_intelligence_with_python/artificial_intelligence_with_python_neural_networks.htm

                              https://www.tutorialspoint.com/machine_learning_with_python/index.htm

                               https://www.tutorialspoint.com/machine_learning/index.htm

      Youtube est aussi une source riche en informations:

      https://www.youtube.com/watch?v=aircAruvnKk&list=RDQMwjiIGVB03Eg&start_radio=1

      https://www.youtube.com/watch?v=2FmcHiLCwTU&list=RDQMwjiIGVB03Eg&index=10

      Apres il y a l'option tu cree l'IA de A a Z avec du pur python, ou tu simule ton propre reseau ( en Ruby c'est cool aussi, mais t'a pas le temps)

      Assure toi de maitriser correctement en python3 :

      - Les classes, pas besoin d'allez trop loin : comprendre __init__() ,   self,   super()

      - Comprendre la differance entre yield et return ( tres importtant si tu a cree ton propre raiseau )

      - Comprendre et maitriser les boucles FOR.

      Apres la syntaxe de base et puis voila.

      J'espere avoir correctement repondu. :D

      • Partager sur Facebook
      • Partager sur Twitter
      "Il faut toujours viser la lune, car même en cas d'échec vous atterrirai dans les étoiles." Oscar wilde
        12 juin 2019 à 1:17:02

        Salut

        Un autre lien pour le machine learning ici (le titre de l’article est le lien)

        • Partager sur Facebook
        • Partager sur Twitter
          12 juin 2019 à 9:18:17

          Eh bien je tiens à grandement vous remercier pour cette rapidité, je vais donc essayer de me former.

          Merci à vous !

          • Partager sur Facebook
          • Partager sur Twitter
            12 juin 2019 à 11:49:18

            "puis si vous savez comment créer une ia comme telle, si cela est relativement complexe ou si l'on peut s'en sortir. "

            Si les mesures sont suffisantes (corrélation mesures disponibles / pannes - danger) alors c'est très simple à réaliser.

            Au delà du ML, dans ton cas, je pense que c'est surtout une question d'analyse. Si c'est un seuil de certaines variables, alors de simple if découlant d'une analyse statistique seront plus efficace. 

            Le plus important pour toi c'est de te poser comme question "Quelles données sont disponibles? Quelles données POURRAIENT être recueillies et utiles? Quelles sont les données les plus corrélées aux pannes/danger ?".

            Si t'as réponse à ces trois question et que tu t'es formé un minimum, le reste est simple.

            Si t'as des questions théoriques ou pratiques sur l'analyse ou le ML, n'hésite pas à les poser =).

            PS : Si tu débute en ML, je te recommande Scikit-learn pour le début (et même plus tard), c'est très simple d'utilisation.

            -
            Edité par WorstDevEver 12 juin 2019 à 11:50:15

            • Partager sur Facebook
            • Partager sur Twitter

            Try->Fail->Learn->Converge to success :{\displaystyle Q[s,a]:=(1-\alpha )Q[s,a]+\alpha (r+\gamma ~max_{a'}Q[s',a'])}

              20 juin 2019 à 15:29:03

              Bonjour;

              merci pour ta réponse WorstDevEver je ne l'avais pas vu avant aujourd'hui.

              J'ai une autre interrogation, après avoir effectué l'apprentissage, est il toujours obligatoire d'appliquer la rétro propagation ?

              Ou bien est ce qu'ensuite le simple fait d'entrée un input, va nous donner en sortie le résultat souhaitait.

              Enfin, combien de test pensez vous, sont nécessaires pour un réseau assez petit?? 

              • Partager sur Facebook
              • Partager sur Twitter
                21 juin 2019 à 9:41:29

                Salut Sebmattiuzz,

                "est il toujours obligatoire d'appliquer la rétro propagation ?" tu parles bien ici de rétropropagation de gradient qui concerne les réseaux de neurones ? 

                Si oui (et il semblerait que ce soit le cas), je pense que tu t'es un peu embrouillé dans ta formation sur le machine learning ^^.

                Déjà, les réseaux de neurones c'est pas forcément le mieux. Surtout pour les cas "simples" comme le tien (pas beaucoup de variables en relations), au contraire, les réseaux de neurones seront moins performants que d'autres modèles (SVM / XGBoost / Random Forest / etc...).

                Ensuite, la rétropropagation de gradient c'est pas "après l'apprentissage", c'est justement une partie intégrale de l'apprentissage. C'est comme ça que le réseau de neurone "apprend" de ses erreurs. C'est la mesure d'erreur entre ce qu'il a trouvé et la valeur réelle (d'après tes données d'exemples).

                Aussi, Enfin, combien de test pensez vous, sont nécessaires pour un réseau assez petit??   je n'ai pas compris cette question ^^

                • Partager sur Facebook
                • Partager sur Twitter

                Try->Fail->Learn->Converge to success :{\displaystyle Q[s,a]:=(1-\alpha )Q[s,a]+\alpha (r+\gamma ~max_{a'}Q[s',a'])}

                  3 juillet 2019 à 12:10:02

                  Pour le la question de temps, si tu veux un réseau de neurone , en python ou ruby ou autre : un jours ( si tu fait pas tout d'un coup avec des pauses et tu fait du from scratch ). Apres tu peut galérer avec l'architecture de ton project, si tu n'a pas fait beaucoup de python. Sinon tu fait avec les libs que tu as apris et ça devrait pas être un peut moin long.

                  Attention c'est just la premiere version qui prend pas beaucoup de temps.Apres il y a les test théorique puis pratique.

                  • Partager sur Facebook
                  • Partager sur Twitter
                  "Il faut toujours viser la lune, car même en cas d'échec vous atterrirai dans les étoiles." Oscar wilde

                  Création d'un système d'apprentissage

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown