Partage
  • Partager sur Facebook
  • Partager sur Twitter

Standardisation de données

    6 septembre 2017 à 2:12:29

    Bonsoir,

    Je suis confronté à un petit soucis pour entrainer correctement un réseau neuronal.

    Mes valeurs allant de 0 à 2^32 (tout le champ des entiers sur 4 octets donc), avec une moyenne de 4266870883.51741 et une déviation standard trop élevée (en gros la moyenne avec encore 3-4 zéros derrière), en bref si j'essaie de normaliser mes valeurs j'obtiens des valeurs presque toutes égales (au 0.0001 près) donc le réseau neuronal n'est pas efficace.

    J'ai bidouillé un peu à la main (le coup de (x - (xMax - xMin) / 2) / (xMax - xMin)) malheureusement les valeurs obtenues sont toujours inutilisables.

    Voici un échantillon des données que j'ai (une ligne input une ligne output) :

    4281414705,4281019691,4280690214,4280360993,4281414705,4281019691,4280690214,4280360993,4281019691,4281019691,4280690214,4280690214,4281019691,4281019691,4281019691,4280690214,
    4281414705,4280360993,
    4279966235,4279966235,4279571733,4279571733,4279966235,4279966235,4279571733,4279571733,4280360993,4280360993,4279966235,4279966235,4280360993,4280360993,4279966235,4279966235,
    4280360993,4279242768,
    4280098077,4280098077,4280887337,4280887337,4279769112,4280098077,4280492579,4280887337,4279769112,4279769112,4280492579,4280492579,4279769112,4279769112,4280098077,4280492579,
    4280887337,4279769112,
    4281018923,4281018923,4281018923,4280689958,4281018923,4281018923,4280689958,4280689958,4280689958,4280689958,4281018923,4281018923,4280689958,4280689958,4281018923,4281413681,
    4281413681,4280360993,
    4289572541,4289313481,0,0,4289313481,0,0,0,0,0,0,0,0,0,0,0,
    4289054678,4289572541,
    0,0,0,4287932093,0,0,0,0,0,0,0,0,0,0,0,0,
    4278190080,4287932093,

    En ce qui concerne les 4 dernières lignes ce sont des données relativement plus rares (environ 0.5% de la masse totale des données que j'ai) mais qui ne peuvent-être ignorées.

    Auriez-vous une petite idée de comment je pourrais standardiser au mieux ces données (entre -1 et 1 ou 0 et 1) ?

    Merci.

    • Partager sur Facebook
    • Partager sur Twitter
    MysteryDash / 100 MPM / Développeur Freelance C#.NET / osu! / PS4 Offline Remote Play
      6 septembre 2017 à 10:57:32

      Je me suis arrêté à la première phrase, parce que je pense qu'il y a une erreur.  Tu dis une déviation standard égale à environ 1000 fois la moyenne.

      Dans mon jargon, la déviation standard, c'est ce qu'on appelle aussi l'écart-type. Et il y a un autre indicateur classique, la variance, qui vaut V = ECT².

      Je pense que tu as utilisé la variance, et non l'écart-type.

      • Partager sur Facebook
      • Partager sur Twitter
        6 septembre 2017 à 16:01:20

        Hmm la formule que j'ai utilisé pour calculer la déviation est sqrt( (x1-X̅)² + (x2-X̅)² + ... ). A moins qu'il ne faille multiplier tout l'intérieur de la parenthèse par 1/N (ce qui en fait me paraît avoir plus de sens, compte tenu de la quantité de valeurs que j'ai...) ?

        -
        Edité par MysteryDash 6 septembre 2017 à 16:03:43

        • Partager sur Facebook
        • Partager sur Twitter
        MysteryDash / 100 MPM / Développeur Freelance C#.NET / osu! / PS4 Offline Remote Play
          6 septembre 2017 à 17:15:24

          Il faut effectivement diviser par N.

          Déviation = racine de la moyenne(et non somme) des carrés des écarts à la moyenne.

          • Partager sur Facebook
          • Partager sur Twitter

          Standardisation de données

          × 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