Question

Merci à l'avance pour la lecture de ma question!

Je me sers CNNs au texte en utilisant Classifier Keras et TF. Mes données sont des chaînes « Je lis les nouvelles » ou « Je lis la machine nouvelles d'apprentissage » et mes étiquettes sont tags: Data Science, Reporter, Enfant ...

Mes problèmes est que chaque texte peut avoir plusieurs étiquettes attachées. Comment dois-je construire mon objectif tel que je peux saisir chacune de ces sorties multiples?

Description, Tag "I read the news", Child "I read the news", Reporter "I read machine learning news", Data Science "I read machine learning news", Reporter

Était-ce utile?

La solution

Utilisation de CNN (en général) le softmax comme fonction d'activation à la dernière couche, ce qui donne une distribution de probabilité sur toutes les étiquettes possibles. Vous utilisez une sorte de fonction de perte pour optimiser la CNN pour générer l'étiquette « droit » pour un échantillon roman.

fonction de perte utilisée dans ce cas est la perte ou KL-divergence d'entropie croisée qui mesure près de deux distributions sont. Pour le classement multiclassent (différent de votre cas, où chaque exemple d'entrée ne peut avoir qu'une seule étiquette), la distribution est souhaitée (0, 0, ...., 1, ..., 0) où 1 apparaît à la position de l'étiquette réelle . Fonction de perte sanctionne la distribution qui est de cette distribution « loin ».

Pour votre cas, vous pouvez encoder votre sortie (0, 0, 1, 0, ... 1, ..,) ainsi de suite où vous mettez les à des positions des étiquettes qui sont associés à votre entrée et à l'utilisation KL -divergence en fonction de perte et d'optimiser votre CNN pour minimiser la perte.

Licencié sous: CC-BY-SA avec attribution
scroll top