Eu tenho que lidar com um problema de classificação de texto. Um rastreador da Web rastreia páginas de um determinado domínio e, para cada página da Web, quero descobrir se ele pertence a apenas uma classe específica ou não. Ou seja, se eu chamar essa classe de Positivo , cada página da Web rastreada pertence à classe Positiva ou à Não Positiva .
Eu já tenho um grande conjunto de páginas da web para a classe Positive . Mas como criar um conjunto de treinamento para a classe Não Positiva, o mais representativo possível? Quero dizer, eu poderia usar basicamente tudo e todos nessa aula. Posso apenas coletar algumas páginas arbitrárias que definitivamente não pertencem à classe Positive ? Tenho certeza de que o desempenho de um algoritmo de classificação de texto (eu prefiro usar o algoritmo Naive Bayes) depende muito de quais páginas da Web eu escolho para a classe Não Positiva .
Então o que devo fazer? Alguém pode me dar um conselho? Muito obrigado!
fonte
Respostas:
O algoritmo Spy EM resolve exatamente esse problema.
A idéia básica é combinar seu conjunto positivo com um monte de documentos rastreados aleatoriamente. Inicialmente, você trata todos os documentos rastreados como classe negativa e aprende um classificador ingênuo de bayes nesse conjunto. Agora, alguns desses documentos rastreados serão realmente positivos e você poderá re-etiquetar de maneira conservadora todos os documentos com pontuação mais alta que o documento positivo verdadeiro com pontuação mais baixa. Em seguida, você itera esse processo até que seja estabilizado.
fonte
Aqui está uma boa tese sobre a classificação de uma classe:
Esta tese apresenta o método de SVDD (Support Vector Data Description), uma máquina de vetores de suporte de classe única que encontra uma hiperesfera mínima ao redor dos dados, em vez de um hiperplano que os separa.
A tese também analisa outros classificadores de uma classe.
fonte
Um bom treinamento requer dados que forneçam boas estimativas das probabilidades de cada classe. Todo problema de classificação envolve pelo menos duas classes. No seu caso, a segunda classe é qualquer pessoa que não esteja na classe positiva. Para formar um bom limite de decisão usando Bayes ou qualquer outro método bom, é melhor fazê-lo com o máximo de dados de treinamento selecionados aleatoriamente na classe. Se você fizer uma seleção não aleatória, poderá obter uma amostra que não represente verdadeiramente a forma das densidades / distribuições condicionais da classe e possa levar a uma má escolha do limite de decisão.
fonte
Eu concordo com o Michael.
Em relação à sua pergunta sobre seleção aleatória; sim: você deve selecionar aleatoriamente o conjunto complementar de seus 'positivos'. Se houver alguma confusão de que é possível que seus 'positivos' não estejam totalmente definidos como 'puramente positivos', se é que posso usar essa frase, você também pode tentar pelo menos algum tipo de definição correspondente para positivos, para que você possa controle sobre as variáveis que estão gerando potencialmente alguma contaminação na definição de 'positivo'. Nesse caso, você também deve corresponder às mesmas variáveis no lado 'não positivo'.
fonte
Um artigo que pode ser interessante é:
Que utiliza um método para atribuir um texto a um conjunto de autores e o estende para usar a possibilidade de que o verdadeiro autor não esteja no conjunto candidato. Mesmo que você não use o método NSC, as idéias no artigo podem ser úteis para pensar em como proceder.
fonte