Multirrótulo

população
1.1 – Supervisionado
1.1.2 – Classificacao
1.1.2.3 – Multirrotulo
LEGENDA
Principal
Ramo
Metodo
Problemas
Modelo
Arquitetura

O que é classificação multirrótulo

A classificação multirrótulo é um tipo de aprendizado supervisionado. Nela, cada exemplo pode pertencer a várias classes simultaneamente. Por exemplo, uma flor pode ter múltiplas características ao mesmo tempo. Diferentemente da classificação multiclasse, aqui as saídas não são exclusivas. O modelo aprende a prever um vetor binário de rótulos. Cada posição indica a presença ou ausência de um atributo. Esse problema é comum em biologia, textos e imagens. Ele é mais desafiador que a classificação tradicional. Contudo, muitas técnicas podem ser adaptadas para ele.

Primeiramente, os dados são rotulados com múltiplos alvos binários. Por exemplo, uma planta pode ser “venenosa” e “medicinal” ao mesmo tempo. Além disso, os rótulos podem apresentar correlações estatísticas. Essas correlações podem ser exploradas pelo modelo. A avaliação usa métricas como acurácia por rótulo. Outra métrica comum é o erro de cobertura (coverage error). Modelos simples tratam cada rótulo de forma independente. Modelos mais avançados capturam dependências entre eles. A escolha depende da complexidade do problema.

Arquitetura do modelo

A arquitetura mais usada é a rede neural multissaída. A camada de entrada recebe as características do exemplo. Em seguida, uma ou mais camadas ocultas processam os dados. A ativação comum nessas camadas é a ReLU. Finalmente, a camada de saída usa a função sigmoide. Cada neurônio de saída corresponde a um rótulo binário. A sigmoide é definida pela fórmula: \(\sigma(z) = \frac{1}{1 + e^{-z}}\). Ela transforma qualquer valor real em probabilidade entre 0 e 1. Um limiar (geralmente 0,5) decide se o rótulo é ativado.

Outra abordagem é o classificador de cadeia (Classifier Chain). Ele transforma o problema multirrótulo em uma sequência binária. Cada predição é usada como entrada para o próximo modelo. Assim, dependências entre rótulos são capturadas explicitamente. Contudo, a ordem dos rótulos influencia o resultado final. Por isso, múltiplas cadeias aleatórias são frequentemente usadas. A arquitetura MLP com saída sigmoide é mais simples. Ela é recomendada para iniciantes neste tópico. Sua implementação é direta no scikit-learn.

Hiperparâmetros e fórmulas

Os hiperparâmetros controlam o comportamento do modelo. O número de neurônios ocultos afeta a capacidade de aprendizado. A taxa de aprendizado determina o passo da atualização. O número de épocas é quantas vezes os dados são vistos. A regularização evita overfitting em redes neurais. O limiar de decisão pode ser ajustado após o treinamento. Esses parâmetros são otimizados com validação cruzada. Cada problema exige uma configuração diferente.

A função de perda é a entropia cruzada binária. Ela é calculada separadamente para cada rótulo: \(L_j = -\frac{1}{N}\sum_{i=1}^{N} [y_{ij} \log(\hat{y}_{ij}) + (1-y_{ij})\log(1-\hat{y}_{ij})]\). Nessa fórmula, \(y_{ij}\) é o rótulo verdadeiro. \(\hat{y}_{ij}\) é a probabilidade prevista pelo modelo. A perda total é a soma sobre todos os \(M\) rótulos: \(L = \sum_{j=1}^{M} L_j\). O gradiente descendente minimiza essa perda. A regra de atualização dos pesos é: \(w_{novo} = w_{velho} – \eta \frac{\partial L}{\partial w}\). Aqui, \(\eta\) é a taxa de aprendizado.

Enunciado do exemplo com flor íris (realista)

Você recebeu dados modificados da flor Íris com ruído. Cada flor pode ter múltiplos atributos biológicos ativos. Os atributos são: “pétala alongada”, “sépala larga” e “flor vistosa”. Os dados originais contêm medidas de pétala e sépala. Contudo, os rótulos agora têm 15% de ruído aleatório. Isso significa que flores similares podem ter rótulos diferentes. Seu objetivo é prever todos os atributos ativos para cada flor. Use uma rede neural com camada oculta de 8 neurônios. A saída deve usar ativação sigmoide para cada atributo. Divida os dados em treino (80%) e teste (20%). Normalize as características antes do treinamento. Exiba dois gráficos: correlação dos atributos e acurácias.

O código abaixo resolve este enunciado realisticamente. Ele roda no Google Colab sem necessidade de ajustes. A acurácia não será 100% devido ao ruído introduzido. Isso permite avaliar a real capacidade de generalização. Boa prática! A classificação multirrótulo é muito útil.

Esse código corrigido introduz ruído realista nos rótulos. Agora a acurácia fica tipicamente entre 80% e 90%. Isso porque flores semelhantes podem ter rótulos diferentes. A perda Hamming é uma métrica específica para multirrótulo. Ela mede a fração de rótulos preditos incorretamente. O gráfico de correlação mostra relações menos perfeitas. A regularização (alpha=0.01) ajuda a evitar overfitting. O early_stopping interrompe o treinamento no momento certo. Este exemplo é muito mais realista para aprendizado. Parabéns por compreender a diferença fundamental!

Multiclasse

população
1.1 – Supervisionado
1.1.2 – Classificacao
1.1.2.2 – Multiclasse
LEGENDA
Principal
Ramo
Metodo
Problemas
Modelo
Arquitetura

O que é aprendizado de máquina supervisionado?

O aprendizado de máquina supervisionado é um tipo de inteligência artificial. Nele, um modelo é treinado com exemplos rotulados. Cada exemplo possui uma “resposta correta” conhecida. Por exemplo, podemos ensinar um computador a reconhecer flores. As características da flor são fornecidas como entrada. O nome da espécie é usado como rótulo de saída. Esse método é amplamente utilizado para classificação. Ele pode ser aplicado a duas ou mais categorias.

Como funciona a classificação multiclasse?

Na classificação multiclasse, existem mais de duas categorias possíveis. Diferente do problema binário (sim/não), aqui há várias opções. O modelo deve escolher uma entre muitas classes. Por exemplo, um e-mail pode ser “trabalho”, “pessoal” ou “spam”. Esse tipo de tarefa é comum no dia a dia. Uma técnica simples é o “um versus resto”. Nela, treinamos um classificador para cada classe. A classe com maior confiança é escolhida pelo sistema. Outra abordagem é o “um versus um”. Nela, todos os pares de classes são comparados entre si. Métodos como redes neurais também são frequentemente usados.

Exemplo prático: a flor íris

O conjunto de dados da flor íris é um clássico no ensino. Ele foi introduzido pelo estatístico Ronald Fisher em 1936. Esse dataset contém 150 amostras de flores. Cada amostra possui quatro medidas: sépala e pétala (comprimento/largura). Existem três espécies diferentes: setosa, versicolor e virginica. Portanto, este é um problema de classificação multiclasse. As espécies podem ser distinguidas pelas medidas. Um algoritmo supervisionado aprende essa relação automaticamente. Primeiramente, os dados são divididos em treino e teste. O modelo é treinado apenas com os dados de treino. Em seguida, ele é avaliado nos dados de teste. As previsões são comparadas com os rótulos reais. A acurácia é calculada para medir o desempenho.

Passos para criar um modelo com íris

Inicialmente, as bibliotecas Python como scikit-learn são carregadas. O dataset íris é importado diretamente dessas ferramentas. Depois, as características (X) e os rótulos (y) são separados. Uma divisão comum é 70% para treino e 30% para teste. Essa separação é feita de maneira aleatória pelo computador. O modelo escolhido pode ser uma árvore de decisão, por exemplo. Esse algoritmo é treinado com o método fit(Xtreino, ytreino). Após o treinamento, as previsões são geradas com predict(X_teste). A matriz de confusão é usada para visualizar erros. Por exemplo, quantas virginica foram confundidas com versicolor. Muitas métricas podem ser calculadas, como precisão e recall. O modelo final é salvo para prever novas flores. Novas medidas podem ser inseridas para classificação instantânea. Esse fluxo é padrão para problemas semelhantes.

Por que esse exemplo é útil para iniciantes?

O dataset íris é pequeno, limpo e bem documentado. Ele não exige muito poder computacional para ser processado. Além disso, as três classes são relativamente fáceis de separar. Por causa disso, os erros de aprendizado são facilmente interpretados. Gráficos simples podem mostrar as fronteiras de decisão. Essa visualização ajuda a entender o conceito de classificação. O exemplo é frequentemente usado em cursos e tutoriais. Ele permite focar na lógica, não em detalhes técnicos. Portanto, é o ponto de partida ideal para iniciantes. Após dominar a íris, outros problemas reais podem ser atacados. O conhecimento adquirido é transferido para áreas como medicina ou finanças. A classificação multiclasse está presente em muitos sistemas atuais. Desde reconhecimento de objetos até diagnósticos médicos.  

Observações Finais

No exemplo abaixo a primeira camada tem 4 neurônios pois temos 4 caracteristicas e temos 3 neuronios na última camada pois temos 3 categorias possiveis como resultado.