Classificação Multirrótulo Hierárquica: Introdução

Este post faz parte da série Classificação Multirrótulo Hierárquica. Leia também os outros posts da série:
  • Classificação Multirrótulo Hierárquica: Introdução

Oi pessoal! Em fevereiro deste ano iniciei meu Doutorado em Ciência da Computação na UFSCar. Lá estou trabalhando com Classificação Multirrótulo Hierárquica (HMC - Hierarquical Multi-label Classification) e achei muito pertinente compartilhar com vocês a pesquisa que venho desenvolvendo. Assim, inicio hoje uma pequena série de artigos sobre o assunto. Passarei a parte teórica-científica, e também a parte prática relativa. Usarei linguagens de Programação como R, Python e Java! Se você não conhece essas linguagens, e quer acompanhar estes artigos, sugiro que tente ao menos uma delas, assim poderá testar os exemplos em sua casa. O artigo de hoje iniciará com uma introdução ao assunto. Vamos então conhecer essa área de Aprendizado de Máquina juntos?

 

 

O que é Classificação?

 

No dicionário, a palavra classificação é definida como a ação ou efeito de classificar, ou como a distribuição sistemática de pessoas ou coisas em classes ou categorias, de acordo com critérios estabelecidos, ou ainda como uma distribuição por classes. Se pensarmos em esportes, podemos pensar nas classificações dos times ou equipes no ranking de um campeonato mundial, por exemplo. Porém, não é bem isso que significa Classificação de Dados (C.D.) na área de Aprendizado de Máquina (A.M.)

 

Se pensarmos em carros, podemos separá-los em categorias como SVU, Retil, Sedan e outras sub-categorias. Pensando em músicas, algumas pertencem a mais de um gênero ao mesmo tempo, isto é, pode ser MPB remixado, ou misturar elementos do POP e do ROCK. Pensando em filmes, e se você acessar a sua conta na Netflix (se tiver uma), vai notar que a maioria deles pertence a mais de um gênero cinematográfico. Uma série como Star Trek Discovery pode ser classificada como Ficção Científica, mas também como Aventura e Ação. Se formos mais fundo ainda, poderia ser classificada com outros rótulos (ou etiquetas - tags), por exemplo, Inteligência Artificial, Robôs e Sociedade já que a série trata desses temas.

 

Não é interessante? Estes exemplos se encaixam melhor no que significa C.D. em A.M. Então, poderíamos concluir que classificar dados seria um processo para organizá-los em categorias, para que sejam usados de forma mais eficiente. Na verdade, esta é só uma parte do que faz a C.D. em A.M. Muitos problemas do nosso mundo real são problemas de C.D., alguns deles ainda precisam de solução, particularmente nas áreas de Biologia e Saúde, e é por isto que esta é uma área, dentro do A.M. que nunca para! Assim, nós temos um Problema de Classificação de Dados, o qual consiste em determinar um rótulo, para um objeto, baseado em um conhecimento prévio.

 

Um rótulo nada mais é que um nome dado a determinado objeto. Exemplo: Deferido pode ser um rótulo para indicar que, diante de determinadas características (as quais chamamos de atributos previsores) de uma pessoa,  ela teve deferida a sua solicitação de empréstimo.

 

Suponha um conjunto de dados prévio, já coletado e armazenado, em que constem informações financeiras de milhares de pessoas. Um gerente de banco, para um cliente novo que queira fazer um empréstimo, pode decidir se libera ou não o empréstimo com base nas características de outras pessoas que são como este cliente. Esta é uma maneira braçal e demorada na maioria das vezes, mas um algoritmo poderia fazê-lo de maneira muito mais rápida e precisa.

 

Dessa forma, se passarmos para um algoritmo de A.M., um conjunto de dados com o histórico dos clientes deste banco, com determinadas informações financeiras, as quais constem a informação de que esses clientes conseguiram ou não o empréstimo, então o algoritmo poderá aprender quem pode e quem não pode solicitar um empréstimo no futuro. Aprendido isto, quando um novo cliente solicitar um empréstimo, o algoritmo poderá dizer rapidamente se este novo cliente pode ou não de fato receber o empréstimo.

 

É importante enfatizar que, neste caso, o algoritmo só consegue aprender a partir de exemplos existentes. A informação sobre o empréstimo deve constar nos dados, assim nós temos características básicas sobre os clientes (atributos previsores) e uma característica final (rótulo), que diz que, a partir dessas características básicas, o empréstimo foi ou não deferido.  Antes de continuar, vamos entender um pouco mais sobre todo esse lance de A.M. e C.D. Para o artigo não ficar muito longo, iniciarei aqui a explicação, falando um pouco sobre o A.M. e terminarei nos artigos seguintes a explicação de C.D.

 

Uma rápida introdução ao Aprendizado de Máquina

 

Aprendizado de Máquina pode ser definido como "a capacidade de melhorar o desempenho na realização de alguma tarefa por meio da experiência" (Mitchell, 1997). Esta é apenas uma definição, você poderá encontrar diversas definições por ai, principalmente na Literatura Científica, sobre o assunto. De maneira bem simples, o processo consiste na aproximação, ou otimização, de uma função para uma determinada tarefa que pode ser preditiva ou descritiva. Modelos preditivos utilizam Aprendizado Supervisionado, em que as entradas e saídas são conhecidas previamente e, portanto, um Algoritmo Preditivo é capaz de construir um preditor a partir de um dado conjunto de exemplos rotulados, sendo a Classificação e a Regressão Tarefas deste tipo (Faceli, 2011).

 

Abrindo um pequeno parenteses aqui, você notou que eu destaquei uma série de palavrinhas no parágrafo anterior. Isto porque elas são importantes mesmo. Quando falamos aproximação e otimização de uma função, devemos nos remeter à matemática. De maneira extremamente simplista, a otimização é um processo que consiste em encontrar a melhor solução para um problema. Se você quiser se aprofundar no assunto, sugiro ler este artigo. Uma tarefa é algo que deve ser feito, um problema a ser resolvido. Continue lendo o artigo para entender os outros termos.

 

Modelos Descritivos utilizam Aprendizado Não Supervisionado, em que as entradas são conhecidas, mas as saídas não e, portanto, relações, padrões, regularidades ou categorias nos dados devem ser descobertas e codificadas nas saídas pelo próprio Algoritmo Descritivo, sendo Agrupamento, Sumarização e Associação Tarefas deste tipo. Há ainda o Aprendizado Semi-Supervisionado que é um Aprendizado Híbrido, aplicando ambos os Aprendizados Supervisionado e Não Supervisionado, onde o Algoritmo é capaz de aprender a partir de exemplos rotulados e não rotulados, particularmente quando existem poucos exemplos rotulados no conjunto de dados. A Figura abaixo ilustra os Tipos de Aprendizados em forma de Hierarquia.

 

Existem outros tipos de Aprendizados que não estão listados nessa Figura, isto porque eles podem fazer uso desses Aprendizados. Sim, vira uma verdadeira mistura de Aprendizados, mas funciona, acredite. E quanto à palavra Aprendizado, o que você entende por ela? Na sua visão, o que significa aprender, e como você acha possível um algoritmo aprender? Deixo essas questões para você refletir e tentar encontrar respostas. Gostaria que vocês compartilhassem comigo aqui nos comentários.

 

Terminamos este artigo aqui. No próximo vou aprofundar na questão da Classificação e as suas diversas formas. Espero que tenham gostado deste artigo e que me acompanhem nos próximos.

 

 

Referências

 

Faceli, Katti; Lorena, Ana Carolina; Gama, João; de Carvalho, André C. P. L. F. Inteligência Artificial. Uma Abordagem de Aprendizado de Máquina. Editora LTC, 2011.

 

Tom M. Mitchell. Machine Learning. Editora McGraw-Hill Education, 1997.

Este post faz da série Classificação Multirrótulo Hierárquica. Leia também os outros posts da série:
  • Classificação Multirrótulo Hierárquica: Introdução
NEWSLETTER

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Obrigado! Sua inscrição foi um sucesso.

Ops, algo deu errado. Por favor tente novamente.

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Elaine Cecília Gatto
Bacharel em Engenharia de Computação. Mestre em Ciência da Computação. Doutoranda em Ciência da Computação. Co-fundarora e Líder das #GarotasCPBr. Pesquisadora Convidada no Grupo de Pesquisa: "Artes em Tecnologias Emergentes" do Programa de Pós Graduação em Design na UNESP Campus Bauru. Cantora, Docente no Magistério Superior, Geek, Nerd, Otaku e Gamer. Apaixonada por Michael Jackson, Macross, Rocky Balboa, Séries, Filmes, Cervejas e Vinhos. Mais informações sobre mim você encontra em: http://lattes.cnpq.br/8559022477811603.

Deixe um comentário

avatar
 
  Notificações  
Notificar