Logo do repositório
 
A carregar...
Miniatura
Publicação

Automatic label correction while learning classification models with genetic programming

Utilize este identificador para referenciar este registo.
Nome:Descrição:Tamanho:Formato: 
TM_Tomás_Ferreira.pdf1.44 MBAdobe PDF Ver/Abrir

Resumo(s)

Um dos principais tipos de aprendizagem automática é a aprendizagem super- visionada, em que se faz uso de conjuntos de dados etiquetados por especialistas da área à qual o conjunto de dados pertence. Estes conjuntos de dados são usados para treinar modelos de previsão que, quando recebem novos inputs pertencentes ao mesmo domínio do problema que aprenderam, conseguem fazer uma previsão fidedigna do seu valor. No entanto, devido a vários fatores como o volume de da- dos nestes conjuntos, a facilidade de ocorrerem erros humanos e a complexidade do problema a complicar a classificação (entre outros), a presença de erros nos conjuntos de dados é quase inevitável. Estes erros levam regularmente a problemas com os modelos que foram evoluídos usando dados mal etiquetados e, dependendo dos parâmetros do algoritmo usado, mesmo uma baixíssima percentagem de erros pode ter consequências claramente negativas para as classificações feitas por estes modelos. Tendo em conta que procurar estes erros manualmente é impraticável para conjuntos de dados destas dimensões, diversos métodos foram criados para evitar as consequências deste ruído nas etiquetas, que pertencem ou à categoria de algoritmos robustos (resistentes à existência de ruído) ou então à dos métodos de tratamento de dados (encontrar e tratar dos erros no conjunto de dados antes de correr o algoritmo em si). Neste documento apresentamos um novo método que não pertencem a nenhuma das categorias e que tenta permitir ao algoritmo detetar os erros durante a aprendizagem e os corrigir. A abordagem faz uso de Programação Genética, o algoritmo de computação evolucionária que evolui programas começando a partir de uma população gerada aleatoriamente e baseando-se no conceito de evolução Darwiniana(usando operações genéticas e reproduzindo novos programas usando como pais os melhores indivíduos da geração anterior). Para se guiar durante a evolução de novos indivíduos, a Programação Genética usa uma medida chamada fitness que determina quão bem os programas evoluídos resolveram o problema que lhes foi apresentado. Este método baseou-se na ideia de confiar nos modelos evoluídos mais do que nas etiquetas dos dados, tendo como ideia principal a redução do peso destas etiquetas originais na determinação final de se uma amostra estava corretamente etiquetada ou não. Antes de o método permitir a alteração de uma etiqueta original é necessário que as previsões dos modelos passem certos testes. Estas previsões são ajustadas para etiquetas previstas (aplicando-lhes um valor limite de transformação) que são depois usadas em uma ou mais verificações e, se estas forem satisfeitas, então a etiqueta é considerada certa e comparada com a etiqueta original do conjunto de dados. Caso as duas etiquetas forem diferentes então a etiqueta original é marcada para ser corrigida pelo método, o que resulta em um conjunto de dados novo com as correções realizadas ao longo das gerações, no fim da evolução. O método apresentado foi baseado em outra implementação que faz uso de aprendizagem semi-supervisionada, um outro tipo de aprendizagem mais recente que as duas principais (supervisionada e não supervisionada) que aplica conceitos de ambas as abordagens originais, sendo o mais relevante neste caso o seu conjunto de dados etiquetados que é estendido com uma componente sem etiquetas. Esta implementação é adaptada com um método especial de calcular a fitness dos modelos evoluídos fazendo uso da componente estendida do conjunto de dados. Esta função de fitness faz os cálculos necessários da mesma maneira que uma função normal, usando as etiquetas originais, até lhe ser apresentada uma amostra do conjunto extendido, sem etiqueta. Neste caso a previsão do modelo é ajustada para uma etiqueta prevista(como foi mencionado em cima) e é usada para o cálculo, o que permite que os modelos evoluídos consigam aprender tendo em conta não só as etiquetas do conjunto de dados original como também as etiquetas previstas pelos modelos. De modo a que ambos os métodos pudessem ser comparados, esta abordagem também foi implementada. Cada implementação teve a sua metodologia, sendo que para realizar o método de correção de etiquetas foi necessário começar por uma análise exploratória, visto que nenhuma documentação foi encontrada relativa ao tema de correção de etiquetas em classificação supervisionada. Esta análise envolveu criar diversas versões do método corretivo, testando-as em conjuntos de dados sintéticos criados pela sua simplicidade de manipulação e baixa complexidade. Eventualmente determinou-se a melhor abordagem a seguir, baseada numa combinação de diversos critérios que todos devem ser cumpridos antes que a correção de uma etiqueta seja realizada. Durante esta análise também foi detetado algum favorecimento em relação às previsões feitas pelos modelos, sendo que as amostras de uma classe eram mais facilmente corrigidas que as da outra. Vários testes foram realizados de modo a verificar se este comportamento era consistente, o que se verificou, levando a que as implementações e testes finais de ambos os métodos fosse feita usando codificação bipolar em vez de binária. Devido a isto, foram feitos ajustes de escala para que os valores dos atributos e etiqueta dos conjuntos de dados usados ficassem colocados entre os valores [-1, 1]. A segunda etapa desta metodologia envolveu a implementação de diversos critérios que a abordagem pudesse usar para determinar se uma etiqueta está correta ou não, tendo sidos criados 3 critérios (dois dos quais se basearam em ideias anteriores para critérios de correção nas primeiras versões da análise exploratória)que usam as previsões feitas pelos modelos em comparações com certos aspetos do processo evolutivo relevantes para a determinação do valor certo da etiqueta. A terceira etapa correspondeu aos testes para determinar a melhor combinação destes critérios, que demonstrou ser uma mistura de todos os três. Para a abordagem semi-supervisionada a metodologia consistiu em replicar os passos seguidos pelos autores do artigo em que foi apresentada a implementação. O primeiro destes passos foi implementar a extensão do conjunto de treino dos dados(usando as mesmas amostras, mas sem etiqueta) em código para cada conjunto de dados que fosse fornecido; isto foi necessário para evitar fornecer informação a mais ao conjunto de treino que pudesse afetar os resultados dos testes que se seguiriam. O segundo passo foi implementar uma nova versão da função responsável por calcular a ser calculado. No nosso caso este cálculo foi ajustado da maneira mencionada acima, fazendo uso também das etiquetas previstas quando necessário. Para ambas as abordagens, foi necessário implementar scripts de recolha de da- dos. No caso do método corretivo este era responsável por obter os conjuntos de dados alterados pelo método (um por cada run do teste) e verificar que etiquetas foram alteradas e quantas vezes, determinando as etiquetas mais consideradas erradas pela abordagem. No caso do método semi-supervisionado o script era responsável por obter os modelos evoluídos e os usar para prever os valores das etiquetas do conjunto de dados usado inicialmente. O mesmo script corre a análise dos dados recolhidos, comparando as previsões feitas com as etiquetas originais e verificando quantas e quais das amostras tiveram a maior percentagem de mudanças feitas à sua etiqueta. Os resultados obtidos por ambas as abordagens foram comparados entre si e com os resultados de modelos evoluídos normalmente, sem aplicar nenhuma das abordagens, o que nos permitiu realizar duas observações: primeiro, os modelos normais têm alguma capacidade de deteção das etiquetas erradas e de evitação da aprendizagem destes erros; segundo, ambas as abordagens resultam numa maior percentagem de mudanças às etiquetas do conjunto de dados, sendo que a parte do conjunto mais afetada por estes aumento é a mesma para ambas as abordagens. Verificou-se que esta seção do conjunto de dados é precisamente aquela em que os erros estão localizados e que, embora ambos os métodos implementados levem a um aumento de mudanças presumivelmente incorretas à volta das amostras que se sabe estarem erradas, também aumentam a percentagem de mudança dessas para 100%, algo que os modelos normais não atingiram. Apesar disto é claro que o método corretivo tem falhas devido a permitir a alteração de demasiadas etiquetas corretas quando comparado com as outras abordagens, pelo que é necessário melhorar a abordagem de modo a que detete e corrija os erros antes de os aprender para que se evite alterações incorretas.
One of the major issues present in supervised learning is the existence of noise in labeled datasets, which often has negative consequences for the learning algorithms and the induced models in the form of overfitting. In this report, a new approach to handle label noise is implemented and tested for binary classification problems, using both synthetic and real-world datasets that contain mislabeled samples. The approach is focused on the correction of labels, with this correction depending on the model predictions for a sample and a set of criteria that need to be verified before a change to the original label is allowed. The idea behind this method was based on another that focused on semi-supervised learning, using an extended dataset with unlabeled samples and a modified fitness function that took into account these unlabeled samples when guiding the evolution of the machine learning models. Both approaches make use of an adapted version of the standard Genetic Programming evolutionary algorithm that has been changed to be able to handle the specific requirements of each of the methods presented, and both were based on the idea of trusting the models over the data. After testing the abilities and limits of both approaches in binary classification, they are then compared against each other and against regular models evolved from a normal test using unaltered GP. While both of the approaches each have their disadvantages, neither failed in improving the detection of mislabeled samples.

Descrição

Tese de Mestrado, Engenharia Informática, 2022, Universidade de Lisboa, Faculdade de Ciências

Palavras-chave

Programação Genética Classificação Erros de Etiquetas Aprendizagem Semi-supervisionada Correção de Etiquetas Teses de mestrado - 2023

Contexto Educativo

Citação

Projetos de investigação

Projeto de investigaçãoVer mais

Unidades organizacionais

Fascículo

Editora

Licença CC