Tudo o que você precisa saber sobre Classificação Multirrótulo – Parte 2
Oi pessoal!!! Estou aqui de volta com mais um artigo da área de Inteligência Artificial. Hoje vamos continuar de onde paramos no artigo anterior. Caso você ainda não tenha lido, segue aqui o link.
Nesse primeiro artigo eu expliquei o que é um Problema de Classificação de Dados, o que é Classificação Multirrótulo, o que é um Classificador e o que são Conjuntos de Dados Multirrótulo. Todos estes são conceitos básicos fundamentais desta área e usarei estes termos com bastante frequência por aqui.
Agora vou dar continuidade ao assunto falando um pouco sobre como resolvemos os Problemas de Classificação Multirrótulo e quais desafios estão envolvidos nisto.
Reforçando: se você não é da área de computação, não se preocupe, este artigo é pra você também! Afinal, um dos meus objetivos aqui na Prensa é tornar o conhecimento científico e tecnológico acessível a todos os públicos! Claro, se você ficar com alguma dúvida, ficarei feliz em responder. Não tenha medo de me contatar no linkedin. Bora lá!!
Resolvendo Problemas de Classificação Multirrótulo
Problemas de Classificação Multirrótulo podem ser tratados de duas principais formas: Transformação de Problemas, também chamado de Abordagem Independente de Algoritmo ou Abordagem Local; e Adaptação de Algoritmo, também chamado de Abordagem Dependente de Algoritmo ou Abordagem Global.
Abordagem Local transforma o problema multirrótulo em um conjunto de subproblemas onde qualquer algoritmo de classificação convencional pode ser usado. Existem várias formas de transformação e elas são ilustradas na Figura 1. Entretanto, não há espaço aqui neste artigo para mostrar todas elas, então vou apresentar apenas a mais tradicional.
Nos próximos artigos, pretendo aprofundar os assuntos tratados aqui, portanto, fique atentos ao site da Prensa para novidades!
Binary Relevance (BR), ou Relevância Binária, é a transformação multirrótulo mais tradicional e conhecida. Ela consiste em basicamente criar um novo dataset para cada um dos rótulos presentes no espaço de rótulos. Considere o conjunto de dados multirrótulo (D) ilustrativo apresentado na Figura 2.
Figura 2: Conjunto de dados (dataset) ilustrativo. Chamaremos de D.
Este dataset tem 5 instâncias, 4 atributos de entrada, 5 atributos de saída e 9 atributos no total. Além disso, podemos ver também a frequência dos rótulos e a presença de conjuntos de rótulos, isto é, rótulos que ocorrem juntos no datasets. A Figura 3 mostra essas informações.
Figura 3: Frequência e conjuntos de rótulos
O que vamos fazer é separar cada um dos 5 rótulos em novos conjuntos de dados e então usar esses novos conjuntos no classificador. Portanto, se o espaço de rótulos é formado por 5 rótulos, precisaremos de 5 classificadores binários, um para cada rótulo.
Cada um desses classificadores vai aprender exclusivamente um rótulo específico, e então vai tentar predizer esse rótulo para novos dados. O que fazemos na prática é separar o dataset conforme as colunas dos rótulos em um novo conjunto. Reforçando que instância positiva para um rótulo indica que ela pertence ao rótulo e tem valor 1, enquanto que instância negativa é o inverso e vale 0.
Figura 1: tipos de transformação de problema multirrótulo
A Figura 4 apresenta o resultado da transformação de D usando BR. Instâncias negativas são representadas pelo símbolo − e as positivas por + antes de cada rótulo. xi indica instância e Y rótulo. Cada um dos conjuntos transformados correspondem a um subconjunto de rótulos do conjunto original. Para ficar ainda mais claro, a Figura 5 apresenta os novos conjuntos de dados completos após aplicar o BR.
Figura 4: Binary Relevance para D.
Figura 5: Novos conjuntos de dados após aplicar Binary Relevance.
Agora cada um desses novos datasets pode ser usado como entrada para um classificador, como ilustra a Figura 6. Na Abordagem Global novos algoritmos são desenvolvidos, ou algoritmos existentes são adaptados para o problema de classificação multirrótulo original, lidando com todas os rótulos do problema ao mesmo tempo.
Algoritmos convencionais podem ser utilizados e a Figura 6 ilustra alguns deles. Neste tipo de abordagem o conjunto de dados de treinamento inteiro é “inputado” para o algoritmo de classificação e esse algoritmo aprende todos os rótulos de uma única vez. Enquanto na Abordagem Local os dados se ajustam ao algoritmo, na Abordagem Global o algoritmo se ajusta aos dados.
Figura 6: Treino do Classificador e Classificação de Novos Dados para a transformação BR.
Figura 7: Tipos de Algoritmos da Abordagem Global
Na Figura 7 a gente observa que tem uns nomes bem diferentões. Não se preocupem!! Pretendo escrever artigos falando sobre esses termos ai. Mas pra gente entender um pouco, os algoritmos de classificação podem ser construídos a partir de um conceito básico e evoluir dai para algo mais complexo. Probabilístico significa que o algoritmo é construído com base em conceitos de probabilística, e Evolucionário vem de algoritmos genéticos.
Você já deve ter ouvido falar muito sobre os poderosos algoritmos de I.A. baseados em Redes Neurais Artificiais (RNA). Estes estão em alta e são construídos com base na estrutura do funcionamento do neurônio humano. Apesar dessa fama toda, algoritmos baseados em RNA são complexos e seus resultados são difíceis de explicar.
Figura 8: Adaptação de Algoritmo.
DESAFIOS
Como vocês estão notando, tem muita coisa envolvendo Classificação Multirrótulo. Bem, tem ainda muito mais coisas. Por exemplo, o conjunto de dados multirrótulo Wiki10-31K tem 132.876 atributos sendo 101.938 atributos de entrada, 30.938 rótulos e 20.762 instâncias. Então, vamos precisar de uma estrutura de cluster computacional para dar conta, precisamos de muita memória RAM e muito poder de processamento mesmo.
Aqui temos então dois desafios: 1) Dimensionalidade, que é relativo à dimensão do espaço de atributos; e 2) Escalabilidade, que é relativo à dimensão do espaço de rótulos;
Esses conjuntos de dados enormes podem ter um espaço de rótulos muito grande. Nesses casos, é possível que o número de instâncias positivas para determinados rótulos seja bem pequeno, e o número de instâncias negativas alto, assim como alguns rótulos podem ser mais frequentes que outros. Isto é o que chamamos de desbalanceamento de classes e é referente à distribuição dos rótulos.
Como senão bastasse, pode ocorrer nesses datasets de haver um número alto de instâncias associadas a conjuntos de rótulos frequentes, e também um alto número de instâncias associadas a conjuntos de rótulos menos frequentes. Isso é o que chamamos de Label Skew. Tudo isso são desafios que precisamos considerar na hora de resolver o problema multirrótulo, seja usando a abordagem local, seja a global.
Portanto, esses desafios impactam negativamente o processamento; o modelo se torna complexo demais e menos interpretável; o tempo de aprendizado do modelo aumenta e a capacidade de generalização do modelo diminui, levando ao que chamamos de superaprendizado. Neste último caso, o modelo aprende mas ele não conseguirá acertar as previsões para novos dados.
Dentro deste contexto, existe uma sub-área específica dentro da Classificação Multirrótulo chamada Extreme Multilabel Classification - Classificação Multirrótulo Extrema - que trabalha com as particularidades desses conjuntos de dados enormes! Este é um outro universo!!!!
Existe ainda um último desafio que é denominado Aprendizado de Correlações entre Rótulos. Aqui tentamos explorar relacionamentos que existem entre os rótulos do conjunto de forma a melhorar o nível de predição dos classificadores, isto é, tornar rótulos difíceis de serem aprendidos, mais fáceis de aprendidos e consequentemente preditos.
Contextualizando, um classificador binário aprende um único rótulo, enquanto que um classificador multirrótulo aprende todos os rótulos de uma única vez. Em ambos os casos temos deficiências.
No primeiro a gente separa todos os rótulos e não tem como avaliar a relação dele com todos os outros, portanto, não explora informações globais. No segundo, o algoritmo está olhando todos os rótulos, mas pode ser que tenha alguma informação mais específica que pode colaborar para o aprendizado, e essa informação é ignorada, portanto, não explora informações locais.
Dessa forma fica mesmo difícil descobrir essas relações que muitas vezes existem naturalmente no conjunto e podem ajudar a construir um modelo de aprendizado melhor. Esta é uma sub-área que está bem em alta no momento.
FINALIZANDO
Pessoal, mais uma vez, o artigo acabou ficando grande e precisarei escrever uma parte 3. Não entendeu alguma coisa? Entra em contato comigo! Agradeço muito por você ter lido até aqui. Espero que você tenha conseguido entender e que eu tenha conseguido escrever de um jeito que você consiga entender.
Pode me mandar sugestões caso você tenha interesse tá bom! Então, fico por aqui e te espero no próximo artigo. Até.
REFERÊNCIAS
GATTO, Elaine Cecília. EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEMAS DE CLASSIFICAÇÃO MULTIRRÓTULO. Texto de Qualificação de Doutorado. Programa de Pós Graduação em Ciência da Computação, UFSCar, São Carlos/SP. 04/02/2021. Disponível aqui.
Este artigo foi escrito por Elaine Cecília Gatto - Cissa e publicado originalmente em Prensa.li.