Je dois faire face à un problème de classification de texte. Un robot d'indexation analyse des pages Web d'un certain domaine et pour chaque page Web, je veux savoir si elle appartient à une seule classe spécifique ou non. Autrement dit, si j'appelle cette classe positive , chaque page Web analysée appartient à la classe positive ou à la classe non positive .
J'ai déjà un grand ensemble de pages Web de formation pour la classe Positive . Mais comment créer un ensemble de formation pour la classe Non Positive qui soit le plus représentatif possible? Je veux dire, je pourrais essentiellement utiliser chacun et tout pour cette classe. Puis-je simplement collecter des pages arbitraires qui n'appartiennent certainement pas à la classe Positive ? Je suis sûr que les performances d'un algorithme de classification de texte (je préfère utiliser un algorithme Naive Bayes) dépendent fortement des pages Web que je choisis pour la classe Non positif .
Alors, que dois-je faire? Quelqu'un peut-il me donner un conseil? Merci beaucoup!
la source
Réponses:
L' algorithme Spy EM résout exactement ce problème.
L'idée de base est de combiner votre ensemble positif avec tout un tas de documents analysés de manière aléatoire. Vous traitez initialement tous les documents analysés comme la classe négative et apprenez un classificateur bayésien naïf sur cet ensemble. Maintenant, certains de ces documents analysés seront en fait positifs, et vous pouvez ré-étiqueter de manière conservatrice tous les documents dont le score est plus élevé que le vrai document positif. Ensuite, vous répétez ce processus jusqu'à ce qu'il se stabilise.
la source
Voici une bonne thèse sur la classification d'une classe:
Cette thèse présente la méthode de prise en charge de la description des données vectorielles (SVDD), une machine à vecteur de support à classe unique qui trouve une hypersphère minimale autour des données plutôt qu'un hyperplan qui sépare les données.
La thèse passe également en revue d'autres classificateurs d'une classe.
la source
Une bonne formation nécessite des données qui fournissent de bonnes estimations des probabilités de classe individuelle. Chaque problème de classification implique au moins deux classes. Dans votre cas, la deuxième classe est toute personne qui n'est pas dans la classe positive. Pour former une bonne limite de décision en utilisant Bayes ou toute autre bonne méthode, il est préférable de faire autant de données d'entraînement sélectionnées au hasard dans la classe. Si vous effectuez une sélection non aléatoire, vous pourriez obtenir un échantillon qui ne représente pas vraiment la forme des densités / distributions conditionnelles de classe et pourrait conduire à un mauvais choix de la frontière de décision.
la source
Je suis d'accord avec Michael.
Concernant votre question sur la sélection aléatoire; oui: vous devez sélectionner au hasard dans l'ensemble complémentaire de vos «positifs». S'il y a une confusion selon laquelle il est possible que vos `` positifs '' ne soient pas entièrement définis comme `` purement positifs '', si je peux utiliser cette expression, vous pouvez également essayer au moins une sorte de définition appariée pour les positifs afin que vous puissiez contrôle sur les variables qui génèrent potentiellement une certaine contamination sur la définition de «positif». Dans ce cas, vous devez également faire correspondre les mêmes variables du côté «non positif».
la source
Un article qui peut être intéressant est:
Ce qui prend une méthode pour attribuer un texte à un ensemble d'auteurs et l'étend pour utiliser la possibilité que le véritable auteur ne soit pas dans l'ensemble candidat. Même si vous n'utilisez pas la méthode NSC, les idées contenues dans le document peuvent être utiles pour réfléchir à la façon de procéder.
la source