Keras - class_weight vs sample_weights dans le fit_generator

Dans Keras (à l'aide de TensorFlow comme un back-end) je suis la construction d'un modèle qui travaille avec un vaste ensemble de données qui est d'avoir très instable classes (étiquettes). Pour être en mesure d'exécuter le processus de formation, j'ai créé un générateur qui alimente des blocs de données à la fit_generator.

Selon la documentation de la fit_generator, la sortie de la génératrice peut être soit le tuple (inputs, targets) ou le n-uplet (inputs, targets, sample_weights). Ayant cela à l'esprit, voici quelques questions:

  1. Ma compréhension est que
    le class_weight ce qui concerne le poids de toutes les classes pour l'ensemble du jeu de données alors que
    le sample_weights ce qui concerne le poids de toutes les classes pour chaque morceau
    créé par le générateur. Est-ce exact? Si non, quelqu'un peut-il élaborer sur la question?
  2. Est-il nécessaire de donner à la fois le class_weight à la fit_generator et puis le sample_weights de sortie pour chaque morceau? Si oui, alors pourquoi? Si non, alors qui est le meilleur à donner?
  3. Si je dois donner le sample_weights pour chaque partie, comment puis-je carte le poids, si certaines classes sont manquants à partir d'un morceau? Permettez-moi de donner un exemple. Dans l'ensemble de mon jeu de données, j'ai 7 classes possibles (étiquettes). Parce que ces classes sont très déséquilibrés, quand je crée des petits morceaux de données de sortie à partir de la fit_generator, certaines classes sont absents de la partie. Comment dois-je créer le sample_weights pour ces morceaux?
InformationsquelleAutor RaduS | 2017-04-17