Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Cours] ML supervisé non linéaire

    Staff 25 octobre 2017 à 9:26:01

    Bonjour ! Voilà le fil de discussion dédié au cours "Utilisez des modèles supervisés non linéaires" du parcours Data Scientist.
    Dans ce cours, vous apprenez à entraîner des modèles supervisés non-linéaires sur vos données.
    N'hésitez pas à poser vos questions ici et à échanger les uns avec les autres ! Je ferai de mon mieux pour transmettre vos questions aux auteurs du parcours.
    Si vous avez une question concernant le fonctionnement du cours (accès aux exercices, envoi des exercices, inscription au cours…), contactez directement OpenClassrooms à hello@openclassrooms.com
    Bon courage et à bientôt !

    -
    Edité par LucBertrand 25 octobre 2017 à 9:26:33

    • Partager sur Facebook
    • Partager sur Twitter
      29 mai 2019 à 16:16:09

      Bonjour,
      Dans le quiz 1, je ne comprends pas pourquoi la figure 2 représente un modèle linéaire.
      Que signifie : "La linéarité est entre les paramètres à estimer, pas entre les variables indépendantes observées." ?
      Merci d'avance.

      -
      Edité par Christophe Lebrun du Puytison 29 mai 2019 à 16:30:51

      • Partager sur Facebook
      • Partager sur Twitter
        3 août 2019 à 14:14:24

        Idem ici... Je ne comprends pas la correction.

        Des explications de la part des créateurs du cours seraient les bienvenues.

        • Partager sur Facebook
        • Partager sur Twitter
          31 août 2019 à 0:56:39

          Bonjour

          -
          Edité par moustaphadieng 31 août 2019 à 1:25:57

          • Partager sur Facebook
          • Partager sur Twitter
            27 octobre 2019 à 15:41:49

            Bonjour 

            J'ai un soucis au niveau du TP de la partie "Classifiez vos données avec une SVM à noyau". En effet quand j’exécute le code permettant de visualiser la matrice de Gram avec "plt.pcolor" j'obtiens un graphique vide (voir Capture d'écran). Une idée ?!

            • Partager sur Facebook
            • Partager sur Twitter
              29 octobre 2019 à 15:47:26

              Donne le code de création de kmatrix100.
              • Partager sur Facebook
              • Partager sur Twitter
                29 octobre 2019 à 20:24:02

                Zachee54 a écrit:

                Donne le code de création de kmatrix100.

                Le code de création de kmatrix100 est le même que celui utilisé dans le cours:

                from sklearn import metrics

                kmatrix = metrics.pairwise.rbf_kernel(X_train_std, gamma=0.01)

                kmatrix100 = kmatrix[:100, :100]



                -
                Edité par FreeSisyphe 29 octobre 2019 à 20:25:02

                • Partager sur Facebook
                • Partager sur Twitter
                  30 octobre 2019 à 16:40:15

                  Oui, d'accord, mais on ne sait pas comment tu as défini X_train_std.

                  Le fond de ma question est de savoir si tu es sûr qu'il y a un contenu dans ta matrice, et lequel.

                  • Partager sur Facebook
                  • Partager sur Twitter
                    30 octobre 2019 à 16:54:35

                    Zachee54 a écrit:

                    Oui, d'accord, mais on ne sait pas comment tu as défini X_train_std.

                    Le fond de ma question est de savoir si tu es sûr qu'il y a un contenu dans ta matrice, et lequel.


                    Oui sur d'avoir un contenu dans ma matrice, je n'ai fait qu'appliquer exactement à la lettre le code du cours et voici le contenu de ma matrice:

                    • Partager sur Facebook
                    • Partager sur Twitter
                      30 octobre 2019 à 18:53:15

                      Trouvé : l'échelle du graphique est définie à partir des dimensions de X, alors que kmatrix100 est beaucoup plus petite. Du coup on ne voit rien.

                      Ecris les deux lignes suivantes à la place de celles du cours :

                      plt.xlim([0, kmatrix100.shape[0]])
                      plt.ylim([0, kmatrix100.shape[0]])
                      • Partager sur Facebook
                      • Partager sur Twitter
                        31 octobre 2019 à 1:01:49

                        Zachee54 a écrit:

                        Trouvé : l'échelle du graphique est définie à partir des dimensions de X, alors que kmatrix100 est beaucoup plus petite. Du coup on ne voit rien.

                        Ecris les deux lignes suivantes à la place de celles du cours :

                        plt.xlim([0, kmatrix100.shape[0]])
                        plt.ylim([0, kmatrix100.shape[0]])

                        Bien vu ! Ca marche à merveille... je vous remercie infiniment !
                        • Partager sur Facebook
                        • Partager sur Twitter
                          1 novembre 2019 à 12:44:08

                          Christophe Lebrun du Puytison a écrit:

                          Bonjour,
                          Dans le quiz 1, je ne comprends pas pourquoi la figure 2 représente un modèle linéaire.
                          Que signifie : "La linéarité est entre les paramètres à estimer, pas entre les variables indépendantes observées." ?
                          Merci d'avance.

                          -
                          Edité par Christophe Lebrun du Puytison 29 mai 2019 à 16:30:51

                          Pour moi dans un modèle linéaire, on a les données (x) et les paramètres à estimer (w) qui interviennent uniquement au travers d'une combinaison linéaire (somme w_i * x_i ...). Apres, dans un pb de classification, tu peux avoir a décider de la classification via  f(cette combinaison linéaire) où f n'est pas linéaire (par exemple dans la régression logisitique ca se passe comme ca). Je ne comprends pas trop le terme de 'variables indépendantes observées', surtout le 'indépendantes', mais ca fait référence à la sortie du modèle (aux observations/prédictions donc). Ceci dit je ne suis pas sûr de bien voir quand même pourquoi le deuxième graphe correspond à  un pb non linéaire ... hehe

                          Sinon aussi pour la derniere question du quizz 2. On a ca : 

                          Les réseaux de neurones sont populaires car ils ont la particularité de 

                          • étant donné les bons hyperparamètres, pouvoir approximer n'importe quelle fonction continue (approximateur universel)
                          • avec n'importe quels hyperparamètres et assez de temps et puissance de calcul, pouvoir approximer n'importe quelle fonction continue (approximateur universel)
                          • avec la bonne fonction d'erreur et algorithme de descente de gradient, pouvoir approximer n'importe quelle fonction continue (approximateur universel)

                          C'est un approximateur universel théorique, mais il faut effectivement les bons hyperparamètres (couches, nombre de neurones par couche, etc). 

                          La bonne réponse était la deuxième, mais j'ai bien l'impression que dans le commentaire on dit que la bonne solution est plutôt la première, non ? 

                          -
                          Edité par charox 1 novembre 2019 à 12:45:54

                          • Partager sur Facebook
                          • Partager sur Twitter
                            1 novembre 2019 à 17:55:18

                            L'explication donnée à cette question "La linéarité est entre les paramètres à estimer, pas entre les variables indépendantes observées."est encore plus ambigu que la réponse !

                            J'ai du mal à comprendre la logique derrière cette réponse et encore moins l'explication fourni !!!

                            -
                            Edité par FreeSisyphe 1 novembre 2019 à 17:58:24

                            • Partager sur Facebook
                            • Partager sur Twitter
                              6 novembre 2019 à 11:53:48

                              Comme déjà signalé par certains, il semble bien y avoir une erreur dans la correction de la question 7 du premier Quiz.

                              En effet, comme signalé dans le premier chapitre de la partie 1, dans un espace à 2 dimensions la fonction de décision d'un modèle linéaire est nécessairement une droite. En fait, la spécificité d'un modèle linéaire est d'être incapable de modéliser des objets courbes, on a donc du mal à voir comment un modèle linéaire pourrait modéliser la courbe rouge dans le graphique du milieu.

                              C'est d'autant plus étrange que la correction nous dit que le graphique de droite, comporte lui un modèle non linéaire. Or, d'un point de vu mathématique, les modèle du milieu et de droite sont fortement similaires. Pour celui du milieu c'est une parabole, et pour celui de droite une ellipse (bon c'est plus un patatoïde, mais une ellipse fonctionnerait tout aussi bien et serait plus facile à modéliser), ie. des coniques. Les coniques sont définies par des équations de degré 2 (fonction quadratique) et ne sont donc pas linéaires.

                              • Partager sur Facebook
                              • Partager sur Twitter

                              [Cours] ML supervisé non linéaire

                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                              • Editeur
                              • Markdown