Existem problemas científicos com o uso do ML para ajudar na anotação humana?
Eu tenho um conjunto de dados sem rótulo de 3 classes em que apenas 1 em 500 elementos pertencem às 2 classes de interesse.
Os rótulos não são trivialmente discerníveis para todos os elementos dos dados não rotulados, no entanto, como a maioria dos elementos da classe majoritária é facilmente detectável por um NN simples, ele poderia ser usado para filtrar a maioria dos elementos da classe majoritária, reduzindo o número a cerca de 1 em 100 e aumentando a eficácia do tempo dos anotadores humanos em 50x. O conjunto de dados rotulado será usado para treinar, testar e validar um classificador.
No entanto, posso prever razões pelas quais isso poderia causar um problema especificamente do ponto de vista acadêmico:
- Se os dados anotados não forem representativos devido ao viés no ML usado antes da anotação humana, o classificador poderá ter dificuldade para generalizar
- O uso de um limpador de dados ML, que não se baseia em regras justificáveis fornecidas pelo homem, coloca uma caixa preta no início do processo de análise de dados
- Apenas a anotação de uma pequena proporção da classe altamente prevalente torna o conjunto de dados muito seletivo. Isso convidaria críticas ao uso indevido desse viés (isto é, manipulação para uma hipótese desejada)
Todos os pensamentos apreciados
fonte
Se existe um modelo que pode rotular seus dados para você, por que treinar um?
Eu diria que usar outro modelo para rotular dados para um modelo é ruim. Primeiro, se existe um modelo melhor que pode rotular um conjunto de dados, por que não usar esse bom modelo? Segundo, se as classes são altamente desequilibradas, esse é muito mais o motivo pelo qual você deseja rótulos precisos para que seu modelo possa fazer o melhor. Caso contrário, você está apenas confundindo, por que você faria isso?
A rotulagem de dados é árdua para os seres humanos, mas é por isso que estamos tentando tornar as máquinas boas o suficiente para que, em algum momento, paremos de fazer isso.
Se você deseja uma maneira mais fácil, comece rotulando apenas a classe minoritária e depois rotule um número igual das outras classes e treine usando isso, para que seu conjunto de dados não fique mais desequilibrado. Por exemplo, digamos que você tenha 100 amostras 10, 40, 50 são o número de amostras em cada classe. Então você começará rotulando o 10, a amostra 10 do 40 e depois o 50 e rotulá-los também; em seguida, treine um modelo em um conjunto de dados de suas 30 amostras imparciais. Este método tem seus prós e contras, mas vou parar por aqui, pois essa não era sua pergunta original.
fonte
É verdade que geralmente mais dados levam a melhores decisões. No seu caso, o que você está tentando fazer é acelerar o processo de rotulagem e a maneira como você propõe fazê-lo é válida. Como a pergunta é quais exemplos se deve rotular manualmente e é verdade que usar um sistema para descartar exemplos "desinteressantes" com alta confiança faz sentido. Não se trata de ignorar exemplos, mas de dar prioridade a alguns deles que não são triviais.
Ter um classificador que generalize bem a verdadeira distribuição dos dados de treinamento é outro tópico. Você pode garantir isso avaliando o classificador em um conjunto de holdouts dividido de forma estratificada. Como é mais barato obter amostras de uma das classes, você pode equilibrar o treinamento definido em uma etapa posterior (por amostragem acima / abaixo), depois de rotular os dados.
fonte