122
Rotulação Automática (Automatic Tagging) 26 Abril 2016 Felipe Almeida Orientador: Prof. Geraldo Xexéo PESC / COPPE / UFRJ 1

Aula rotulação automática - Automatic tagging

Embed Size (px)

Citation preview

Page 1: Aula rotulação automática - Automatic tagging

Rotulação Automática(Automatic Tagging)

26 Abril 2016

Felipe AlmeidaOrientador: Prof. Geraldo Xexéo

PESC / COPPE / UFRJ1

Page 2: Aula rotulação automática - Automatic tagging

Estrutura

● O problema● Aprendizado de Máquina

● Introdução● Exemplo 1 (Regressão linear)● Exemplo 2 (Árvore de Decisão)● Exemplo 3 (Naïve Bayes)

● Aprendizado de Máquina Multi-rótulo● Introdução● Método 1 (Binary Relevance)● Método 2 (Label Powerset)● Método 3 (ML-DT)

● Tópicos

2

Page 3: Aula rotulação automática - Automatic tagging

O Problema

● Dado um documento, me diga quais seriam as tags que um humano associaria a ele.

3

Page 4: Aula rotulação automática - Automatic tagging

O Problema: exemplo

● Sugestão de tags em um post no StackOverflow

4Fonte: Stackoverflow.com, Abril de 2016

Page 5: Aula rotulação automática - Automatic tagging

O Problema: exemplo

5

O texto é sobre uma dúvida em como fazer

certa ação em uma plataforma de blogs

As tags sugeridas pelo website foram bastante

equivocadas

Page 6: Aula rotulação automática - Automatic tagging

● Ou seja, não parece haver muita inteligência nessa solução

O Problema: exemplo

6

tags sugeridas pois são tags muito usadas no site

tags sugeridas pois ocorrem no texto

Page 7: Aula rotulação automática - Automatic tagging

O Problema: exemplo

7

● O que poderíamos melhorar nessa solução?● Sugestões?

Page 8: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina1

● Objetivo principal: prever como uma certa fonte de dados irá se comportar no futuro, com base em informações passadas

● Em outras palavras, aprender (treinar) um modelo aproximado que consiga explicar tanto os dados passados (vistos) como os dados futuros (não vistos)

[1] Supervisionado

8

Page 9: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina

● Em geral temos um conjunto de dados chamado de conjunto de treinamento, que usamos para treinar nosso modelo.

9

x1 Y

1.0 1.0

2.0 2.0

3.0 1.3

4.0 3.75

5.0 2.25

● Os valores de x1 são chamados de features● Os valores de Y são o objetivo● Todos os métodos de aprendizado de

máquina são, em última instância, uma função que recebe um conjunto de features e retorna um valor (estimado) para o objetivo.

Page 10: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina

● Neste outro exemplo, cada linha tem três (em vez de apenas uma) feature

10

x1 x2 x3 Y

2.0 1.0 1.0 1.0

2.0 1.0 2.0 2.0

3.0 2.0 3.0 1.3

Page 11: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina

● Neste outro exemplo, cada linha tem três (em vez de apenas uma) feature

● O conjunto de features é chamado de vetor de features e é representado por X

11

x1 x2 x3 Y

2.0 1.0 1.0 1.0

2.0 1.0 2.0 2.0

3.0 2.0 3.0 1.3

Page 12: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina

● A seguir vamos ver três diferentes métodos para fazer aprendizado de máquina:● Regressão Linear● Árvore de decisão● Naïve Bayes

12

Page 13: Aula rotulação automática - Automatic tagging

Ex. 1: Regressão Linear

● Consiste em aprender uma reta ou polinômio que aproxime bem os dados

● Um algoritmo bastante comum usa a soma dos quadrados dos erros como medida

Aprendizado de Máquina - Ex. 1

13

Page 14: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina - Ex. 1

14Fonte: Fisher and Belle [1993]: Biostatistics. A Methodology for the Health Sciences

● Dados de exemplo: câncer de pele

Page 15: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina - Ex. 1

15

● Agora queremos saber a taxa de mortalidade para um ponto que não está no nosso conjunto:

50

?

Page 16: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina - Ex. 1

16

● O algoritmo de regressão linear gera uma reta que minimiza a soma dos quadrados dos erros:

[Fonte: http://onlinestatbook.com/2/regression/intro.html]

Reta gerada para este conjunto de dados de 5 pontos

As linhas verticais indicam o erro entre os pontos e a reta

Page 17: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina - Ex. 1

17

● Para os nossos dados, a seguinte reta é gerada:

50

Page 18: Aula rotulação automática - Automatic tagging

● Para os nossos dados, a seguinte reta é gerada:

Aprendizado de Máquina - Ex. 1

18

50

Esta reta tem a equação: ŷ(x) = 389.2 - 5.98x

Page 19: Aula rotulação automática - Automatic tagging

50

Aprendizado de Máquina - Ex. 1

19

● Para os nossos dados, a seguinte reta é gerada:

Esta reta tem a equação: ŷ(x) = 389.2 - 5.98x

Podemos usá-la para fazer uma estimativa do valor que o nosso novo ponto teria:ŷ(50) = 389.2 - 5.98 ( 50)ŷ(50) = 90.2

Page 20: Aula rotulação automática - Automatic tagging

50

Aprendizado de Máquina - Ex. 1

20

● Para os nossos dados, a seguinte reta é gerada:

Esta reta tem a equação: ŷ(x) = 389.2 - 5.98x

Podemos usá-la para fazer uma estimativa do valor que o nosso novo ponto teria:ŷ(50) = 389.2 - 5.98 ( 50)ŷ(50) = 90.2

Portanto, nosso modelo prevê que uma localidade com latitude 50 graus terá uma taxa de mortalidade de câncer de pele de 90.2 mortes por 10 milhões de habitante

Page 21: Aula rotulação automática - Automatic tagging

Concluindo:

● Vantagens● Simples● Intuitivo

Aprendizado de Máquina - Ex. 1

21

Page 22: Aula rotulação automática - Automatic tagging

Concluindo:

● Vantagens● Simples● Intuitivo

● Desvantagens● Sujeito a overfitting● Não funciona para casos em que os dados não apresentam

relacionamento linear● Isso não é tão limitante quanto parece

Aprendizado de Máquina - Ex. 1

22

Significa que o modelo funciona bem no conjunto de dados de treinamento mas não em dados novos

Page 23: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina - Ex. 2

Ex. 2: Árvore de decisão

● Consiste em aprender uma série de IFs/ELSEs que servirão para categorizar um exemplo

● Graficamente, é uma árvore onde cada nó representa uma fronteira para o valor de uma feature

23

Page 24: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina - Ex. 2

Dados de exemplo: casas em SF vs NY[Fonte: github/jadeyee]

● Consiste em 490 linhas com informações sobre residências localizadas em São Francisco ou Nova York.

● Cada linha tem 7 features

24

Page 25: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina - Ex. 2

● Exemplo de 3 linhas do dataset:

25

Nº de quartos

Nº de banheiros

Preço Ano de construção

Área Preço por unidade de área

Elevação Cidade

2 1 999,000 1960 1000 999 10 0

1 1,5 775,000 2009 835 928 14 1

3 3 9,990,000 2015 2950 3356 4 0

Page 26: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina - Ex. 2

● Exemplo de 3 linhas do dataset:

26

0 significa Nova York, 1 significa São Francisco

Objetivo

Features

Nº de quartos

Nº de banheiros

Preço Ano de construção

Área Preço por unidade de área

Elevação Cidade

2 1 999,000 1960 1000 999 10 0

1 1,5 775,000 2009 835 928 14 1

3 3 9,990,000 2015 2950 3356 4 0

Page 27: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina - Ex. 2

● Um teste, ou split, de uma árvore de decisão é um valor de corte de uma feature

27

● Por exemplo, se escolhermos (elevação <= 30.5) como nosso primeiro teste, temos:

Page 28: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina - Ex. 2

● Um teste, ou split, de uma árvore de decisão é um valor de corte de uma feature

28

● Por exemplo, se escolhermos (elevação <= 30.5) como nosso primeiro teste, temos:

224 268

215 85 9 183

elevação <= 30.5 ?

NY

SF

Não Sim

NY

SFSF NY

[Dataset original]

Page 29: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina - Ex. 2

● O algoritmo continua de forma recursiva, os nós vão se repartindo sucessivamente até que todas as folhas do grafo sejam “puras”● Ou seja quando, em todas as folhas só haja elementos de uma

das classes

29

Page 30: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina - Ex. 2

● O algoritmo continua de forma recursiva, os nós vão se repartindo sucessivamente até que todas as folhas do grafo sejam “puras”● Ou seja quando, em todas as folhas só haja elementos de uma

das classes

● Ao fim do algoritmo, teremos uma série de testes ou splits que podem ser usados para classificar uma instância nova

30

Page 31: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina - Ex. 2

31

● Detalhe da raiz da árvore gerada (diagrama feito pela biblioteca scikit-learn)

Page 32: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina - Ex. 2

32

Arquivo: http://imgur.com/1lSkxGJ● Árvore inteira:

Page 33: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina - Ex. 2

33

● Testando nosso modelo (com um exemplo novo, criado por mim):

Nº de quartos

Nº de banheiros

Preço Ano de construção

Área Preço por unidade de área

Elevação Cidade

4 3 1,500,000 1930 1200 1250 300 ?

Este atributo é o que desejamos descobrir

Page 34: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina - Ex. 2

34

● Este exemplo representa uma casa mais ou menos assim:

Casa espaçosa, antiga, no topo de uma colina. Fonte: https://flic.kr/p/cFRb1u

Page 35: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina - Ex. 2

35

Testes:● Elevação <= 30.5? Não● Preço <= 579,450 ? Não● Elevação <= 37.0? Não● Cidade == São Francisco ✓

O modelo decidiu que a nossa casa tem mais probabilidade de se localizar em São Francisco do que em Nova York.

Nº de quartos

Nº de banheiros

Preço Ano de construção

Área Preço por unidade de área

Elevação Cidade

4 3 1,500,000 1930 1200 1250 300 ?

Page 36: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina - Ex. 2

36

Concluindo:

● Vantagens● Simples● Escalável● Muito facilmente Interpretável; permite comparação do resultado

do algoritmo com o conhecimento de domínio existente

Page 37: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina - Ex. 2

37

Concluindo:

● Vantagens● Simples● Escalável● Muito facilmente Interpretável; permite comparação do resultado

do algoritmo com o conhecimento de domínio existente● Desvantagens

● Vulnerável a overfitting● Não conseguem aprender algumas funções (e.g. XOR)

Page 38: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina - Ex. 3

Ex. 3: Naïve Bayes

● Classificador baseado na regra de Bayes

● Lembrando:

38

Page 39: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina - Ex. 3

● A forma de usar a regra para aprendizado de máquina é imaginar que o objetivo é a variável A e as features do exemplo são a variável B

● Ou seja:

39

Page 40: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina - Ex. 3

● A forma de usar a regra para aprendizado de máquina é imaginar que o objetivo é a variável A e as features do exemplo são a variável B

● Ou seja:

40

● Ou, de forma mais sucinta:

Page 41: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina - Ex. 3

● O algoritmo é chamado de naïve (ou ingênuo) pois ele faz uma suposição simplificadora de que as features são independentes entre si

● Isso facilita muito os cálculos e não piora muito os resultados

41

Page 42: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina - Ex. 3

● Então em vez de ter que calcular as dependências entre as features podemos calcular o numerador (do lado direito da equação) de forma bem simples:● Lembrando que X é o conjunto de features x1 até xn

42

Page 43: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina - Ex. 3

● Então em vez de ter que calcular as dependências entre as features podemos calcular o numerador (do lado direito da equação) de forma bem simples:● Lembrando que X é o conjunto de features x1 até xn

43

ObjetivoProduto da probabilidade de cada feature, dado o objetivo

Page 44: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina - Ex. 3

● E o denominador do lado direito da equação?

44

Page 45: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina - Ex. 3

● E o denominador do lado direito da equação?● Não precisamos calculá-lo (mais explicações no exemplo)

45

Page 46: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina - Ex. 3

● A partir daí é só a gente ver quanto vale este valor para cada um dos objetivos que podem existir e pegar o maior.

● Qualquer coisa que não tenha ficado clara vai ser vista no exemplo

46

Page 47: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina - Ex. 3

Dados de exemplo: Roubo de carros

47

COR TIPO ORIGEM FOI ROUBADO ?

VERMELHO ESPORTIVO NACIONAL SIM

VERMELHO ESPORTIVO NACIONAL NÃO

VERMELHO ESPORTIVO NACIONAL SIM

AMARELO ESPORTIVO NACIONAL NÃO

AMARELO ESPORTIVO IMPORTADO SIM

AMARELO UTILITÁRIO IMPORTADO NÃO

AMARELO UTILITÁRIO IMPORTADO SIM

AMARELO UTILITÁRIO NACIONAL NÃO

VERMELHO UTILITÁRIO IMPORTADO NÃO

VERMELHO ESPORTIVO IMPORTADO SIM

[Adaptado do trabalho de Eric Meisner @ JHU]

Page 48: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina - Ex. 3

Dados de exemplo: Roubo de carros

48

COR TIPO ORIGEM FOI ROUBADO ?

VERMELHO ESPORTIVO NACIONAL SIM

VERMELHO ESPORTIVO NACIONAL NÃO

VERMELHO ESPORTIVO NACIONAL SIM

AMARELO ESPORTIVO NACIONAL NÃO

AMARELO ESPORTIVO IMPORTADO SIM

AMARELO UTILITÁRIO IMPORTADO NÃO

AMARELO UTILITÁRIO IMPORTADO SIM

AMARELO UTILITÁRIO NACIONAL NÃO

VERMELHO UTILITÁRIO IMPORTADO NÃO

VERMELHO ESPORTIVO IMPORTADO SIM

[Adaptado do trabalho de Eric Meisner @ JHU]

featuresobjetivo

Page 49: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina - Ex. 3

● Vamos usar o algoritmo para prever se um carro Utilitário, Nacional e Vermelho será roubado

● Como nos outros exemplos, este é um dado que não faz parte do nosso conjunto de treinamento

49

Page 50: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina - Ex. 3

● Vamos usar o algoritmo para prever se um carro Utilitário, Nacional e Vermelho será roubado

● Como nos outros exemplos, este é um dado que não faz parte do nosso conjunto de treinamento

50

Este é o atributo que desejamos descobrir

COR TIPO ORIGEM FOI ROUBADO ?

VERMELHO UTILITÁRIO NACIONAL

Page 51: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina - Ex. 3

Pelo algoritmo, devemos calcular:

Ou seja, a probabilidade de um objetivo dadas as features (este é o lado esquerdo da equação que vimos)

Os dois objetivos possíveis são:● FOI ROUBADO = SIM ● FOI ROUBADO = NÃO

51

COR TIPO ORIGEM FOI ROUBADO ?

VERMELHO ESPORTIVO NACIONAL SIM

VERMELHO ESPORTIVO NACIONAL NÃO

VERMELHO ESPORTIVO NACIONAL SIM

AMARELO ESPORTIVO NACIONAL NÃO

AMARELO ESPORTIVO IMPORTADO SIM

AMARELO UTILITÁRIO IMPORTADO NÃO

AMARELO UTILITÁRIO IMPORTADO SIM

AMARELO UTILITÁRIO NACIONAL NÃO

VERMELHO UTILITÁRIO IMPORTADO NÃO

VERMELHO ESPORTIVO IMPORTADO SIM

Page 52: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina - Ex. 3

Isto equivale a dizer que precisamos calcular estas duas probabilidades:

● ●

Um destes valores será maior; será possível ver se é mais provável que o nosso carro de exemplo seja roubado ou não.

52

COR TIPO ORIGEM FOI ROUBADO ?

VERMELHO ESPORTIVO NACIONAL SIM

VERMELHO ESPORTIVO NACIONAL NÃO

VERMELHO ESPORTIVO NACIONAL SIM

AMARELO ESPORTIVO NACIONAL NÃO

AMARELO ESPORTIVO IMPORTADO SIM

AMARELO UTILITÁRIO IMPORTADO NÃO

AMARELO UTILITÁRIO IMPORTADO SIM

AMARELO UTILITÁRIO NACIONAL NÃO

VERMELHO UTILITÁRIO IMPORTADO NÃO

VERMELHO ESPORTIVO IMPORTADO SIM

Page 53: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina - Ex. 3

Então vamos calcular:

53

Page 54: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina - Ex. 3

Então vamos calcular:

54

● Note que o denominador é o mesmo nos dois casos! ● Como só queremos saber qual das duas probabilidades é

maior, não precisamos calculá-lo

Page 55: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina - Ex. 3

Continuando (note que o símbolo de igualdade não é mais usado)

55

Page 56: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina - Ex. 3

● O valor 0.072 é maior do que o valor 0.024, portanto o mais provável é que o carro NÃO seja roubado afinal de contas!

● Note que esses valores não são probabilidades, senão eles somariam 1

56

Page 57: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina - Ex. 3

Concluindo:

● Vantagens:● Simples● Rápido (baixa complexidade de tempo)● Apesar da hipótese forte de independência, boa performance em

muitos casos

57

Page 58: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina - Ex. 3

Concluindo:

● Vantagens:● Simples● Rápido (baixa complexidade de tempo)● Apesar da hipótese forte de independência, boa performance em

muitos casos● Desvantagens:

● Não consegue aprender interações entre features, por causa da hiótese de independência

58

Page 59: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina

● Vamos usar aprendizado de máquina para nos ajudar a sugerir rótulos (tags) para nossos documentos (esse é nosso objetivo inicial)● Ideias?

59

Page 60: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina

60

Sugestão de pausa

Page 61: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo

Continuando do último slide

● Vamos usar aprendizado de máquina para nos ajudar a sugerir rótulos (tags) para nossos documentos (esse é nosso objetivo inicial)

61

Page 62: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo

Continuando do último slide

● Vamos usar aprendizado de máquina para nos ajudar a sugerir rótulos (tags) para nossos documentos (esse é nosso objetivo inicial)● Com aprendizado de máquina multi-rótulo

62

Page 63: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo

● Um conjunto de dados normal (como os vistos até agora) é assim

63

x1 x2 x3 ... xn Y

n features1 objetivo

Page 64: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo

● Um conjunto de dados normal (como os vistos até agora) é assim

● Já um conjunto de dados multi-rótulo é assim:

64

n features1 objetivo

x1 x2 ... xn y1 y2 ... ym

n features m objetivos

x1 x2 x3 ... xn Y

Page 65: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo

● Dados que contêm mais de um objetivo são ditos multi-rótulo

● O aprendizado de máquina usando conjuntos de dados multi-rótulo é chamado de aprendizado multi-rótulo

● Neste contexto, conjuntos de dados normais são chamados de conjuntos de dados de rótulo único

65

Page 66: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo

Alguns exemplos de domínios em que dados costumam ter mais de um objetivo:

● Categorização de textos em assuntos● Diagnósticos médicos● Categorização de imagens● Classificação de função de proteínas● Classificação de função de genes● Categorização de músicas em emoções

66

Page 67: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo

Alguns exemplos de domínios em que dados costumam ter mais de um objetivo:

● Categorização de textos em assuntos● Diagnósticos médicos● Categorização de imagens● Classificação de função de proteínas● Classificação de função de genes● Categorização de músicas em emoções

67

Tags podem ser usadas

para classificar qualquer coisa (não só texto)

Page 68: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo

Alguns exemplos de domínios em que dados costumam ter mais de um objetivo:

● Categorização de textos em assuntos● Diagnósticos médicos● Categorização de imagens● Classificação de função de proteínas● Classificação de função de genes● Categorização de músicas em emoções

68

Os termos tag, rótulo e objetivo são usados como sinônimos no contexto de aprendizado multi-rótulo!

Tags podem ser usadas

para classificar qualquer coisa (não só texto)

Page 69: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo

Um exemplo de um conjunto de dados multi-rótulo: Livros e assuntos abordados [Adaptado de: Tsoumakas et al 2010]

69

Título do livro Esportes Religião Ciência Política

1 Game Over: How Politics Has Turned the Sports World Upside Down

S N N S

2 Emotional Intelligence: Why It Can Matter More Than IQ

N N S S

3 Scholastic Year in Sports 2016 S N N N

4 The Great Partnership: Science, Religion and Search for Meaning

N S S N

S significa que o livro aborda este assunto, N significa que não

Page 70: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo

● Então uma forma de aprender quais são as tags corretas para um documento é usando aprendizado multi-rótulo.

70

Page 71: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo

Há dois tipos básicos de métodos para fazer aprendizado multi-rótulo:

● Transformação do problema● Transformamos o conjunto de dados multi-rótulo em um conjunto

de dados normal (de rótulo único), de forma que possamos usar os métodos tradicionais de aprendizado de máquina

71

Page 72: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo

Há dois tipos básicos de métodos para fazer aprendizado multi-rótulo:

● Transformação do problema● Transformamos o conjunto de dados multi-rótulo em um conjunto

de dados normal (de rótulo único), de forma que possamos usar os métodos tradicionais de aprendizado de máquina

● Adaptação do algoritmo● Transformamos um algoritmo tradicional para que ele consiga

lidar com dados multi-rótulo

72

Page 73: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo

73

Label Powersets

Figura adaptada de Zhang and Zhou [2014]

* Adição minha

Page 74: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo - Ex. 1

74

Ex. 1: Binary relevance (também chamado de One-vs-Rest)

● Este é um método de transformação do problema

Page 75: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo - Ex. 1

75

Ex. 1: Binary relevance● Este é um método de transformação do problema

● O conjunto de dados multi-rótulo é transformado em vários conjuntos de dados com um único rótulo e um modelo é aprendido para cada rótulo

● Ou seja, você resolve um número de problemas igual ao número de tags diferentes que você pode ter

Page 76: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo - Ex. 1

76

● É chamado de Binary Relevance (relevância binária) pois, para cada rótulo, será criado um classificador binário (só responde True/false)

Page 77: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo - Ex. 1

77

● É chamado de Binary Relevance (relevância binária) pois, para cada rótulo, será criado um classificador binário (só responde True/false)

● Este classificador binário pode ser qualquer método de aprendizado de máquina, inclusive os já vistos aqui

Page 78: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo - Ex. 1

78

Dados de exemplo: Filmes e assuntos

ID Livro Esportes Religião Ciência Política

1 S N N S

2 N N S S

3 S N N N

4 N S S N

Page 79: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo - Ex. 1

79

Dados de exemplo: Filmes e assuntos

ID Livro Esportes Religião Ciência Política

1 S N N S

2 N N S S

3 S N N N

4 N S S N

É o mesmo conjunto utilizado há pouco; tiramos os títulos pois não serão utilizados neste exemplo

Page 80: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo - Ex. 1

80

Pelo algoritmo, devemos transformar o conjunto de dados multi-rótulo em vários conjuntos de rótulo único

Page 81: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo - Ex. 1

ID Esportes Religião Ciência Política

1 S N N S

2 N N S S

3 S N N N

4 N S S N

1 conjunto de dados multi-rótulo: 4 rótulos por exemplo

Page 82: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo - Ex. 1

1 conjunto de dados multi-rótulo: 4 rótulos por exemplo 82

ID Y

1 S

2 N

3 S

4 N

ID Y

1 N

2 N

3 N

4 S

ID Y

1 S

2 S

3 N

4 N

ID Y

1 N

2 S

3 N

4 S

Esportes Religião Ciência Política

4 conjuntos de dados com 1 único rótulo por exemplo

ID Esportes Religião Ciência Política

1 S N N S

2 N N S S

3 S N N N

4 N S S N

Page 83: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo - Ex. 1

1 conjunto de dados multi-rótulo: 4 rótulos por exemplo 83

ID Y

1 S

2 N

3 S

4 N

ID Y

1 N

2 N

3 N

4 S

ID Y

1 S

2 S

3 N

4 N

ID Y

1 N

2 S

3 N

4 S

Esportes Religião Ciência Política

4 conjuntos de dados com 1 único rótulo por exemplo

ID Esportes Religião Ciência Política

1 S N N S

2 N N S S

3 S N N N

4 N S S N

Aqui ocorre a transformação do problema

Page 84: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo - Ex. 1

● A partir daí treinamos um classificador para cada um dos rótulos.

84

Page 85: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo - Ex. 1

● A partir daí treinamos um classificador para cada um dos rótulos.

● Usando o Algoritmo Naïve Bayes, nós treinaríamos:● Um modelo para o rótulo “Esportes”● Um modelo para o rótulo “Religião”● Um modelo para o rótulo “Ciência”● Um modelo para o rótulo “Política”

85

Page 86: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo - Ex. 1

● A partir daí treinamos um classificador para cada um dos rótulos.

● Usando o Algoritmo Naïve Bayes, nós treinaríamos:● Um modelo para o rótulo “Esportes”● Um modelo para o rótulo “Religião”● Um modelo para o rótulo “Ciência”● Um modelo para o rótulo “Política”

86

“Classificador” é, no nosso caso, um sinônimo para “modelo” de aprendizado de máquina

Page 87: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo - Ex. 1

● Então, se quiséssemos classificar um novo livro, nós usaríamos cada um dos 4 modelos para testar se:● O livro terá o rótulo “Esportes”? (S ou N)● O livro terá o rótulo “Religião”? (S ou N)● O livro terá o rótulo “Ciência”? (S ou N)● O livro terá o rótulo “Política”? (S ou N)

87

Page 88: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo - Ex. 1

● Então, se quiséssemos classificar um novo livro, nós usaríamos cada um dos 4 modelos para testar se:● O livro terá o rótulo “Esportes”? (S ou N)● O livro terá o rótulo “Religião”? (S ou N)● O livro terá o rótulo “Ciência”? (S ou N)● O livro terá o rótulo “Política”? (S ou N)

88

Lembrando que cada classificador é binário (retorna apenas um valor de um bit, ou seja, S ou N)

Page 89: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo - Ex. 1

● A resposta final (ou seja, o conjunto de assuntos que um dado livro deve ter) será o conjunto das previsões de cada classificador:

89

Page 90: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo - Ex. 1

● A resposta final (ou seja, o conjunto de assuntos que um dado livro deve ter) será o conjunto das previsões de cada classificador:

90

ID Esportes Religião Ciência Política

Resultado do classificador para o rótulo “Esportes” (S/N)

Resultado do classificador para o rótulo “Política” (S/N)

Resultado do classificador para o rótulo “CIência” (S/N)

Resultado do classificador para o rótulo “Religião” (S/N)

Page 91: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo - Ex. 1

Concluindo:

● Vantagens:● Simples● Intuitivo

91

Page 92: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo - Ex. 1

Concluindo:

● Vantagens:● Simples● Intuitivo

● Desvantagens● Não leva em conta dependências entre rótulos

92

Page 93: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo - Ex. 2

Ex. 2: Label powerset● Este é um método de transformação do problema

93

Page 94: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo - Ex. 2

Ex. 2: Label powerset● Este é um método de transformação do problema

● Consiste em transformar o conjunto de dados multi-rótulo em um único conjunto de dados com um único rótulo.

94

Page 95: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo - Ex. 2

Ex. 2: Label powerset● Este é um método de transformação do problema

● Consiste em transformar o conjunto de dados multi-rótulo em um único conjunto de dados com um único rótulo.

95

Em contraste, o método anterior (Binary Relevance) transforma o conjunto de dados multi-rótulo original em L novos conjuntos de dados - onde L é o número de rótulos distintos no conjunto

Page 96: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo - Ex. 2

Usando o nosso conjunto de dados anterior como exemplo (livros e assuntos):

96

ID Livro Esportes Religião Ciência Política

1 S N N S

2 N N S S

3 S N N N

4 N S S N

Page 97: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo - Ex. 2

1 conjunto de dados multi-rótulo: 4 rótulos por exemplo 97

1 conjunto de dados com 1 único rótulo por exemplo

ID Esportes Religião Ciência Política

1 S N N S

2 N N S S

3 S N N N

4 N S S N

ID Y

1 (S,N,N,S)

2 (N,N,S,S)

3 (S,N,N,N)

4 (N,S,S,N)

Page 98: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo - Ex. 2

1 conjunto de dados multi-rótulo: 4 rótulos por exemplo 98

1 conjunto de dados com 1 único rótulo por exemplo

ID Esportes Religião Ciência Política

1 S N N S

2 N N S S

3 S N N N

4 N S S N

ID Y

1 (S,N,N,S)

2 (N,N,S,S)

3 (S,N,N,N)

4 (N,S,S,N)

Aqui ocorre a transformação do problema; os múltiplos rótulos de cada exemplo foram fundidos em um só

Page 99: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo - Ex. 2

99

Outras formas de interpretar esta transformação:

● Concatenar os rótulos (como se fossem strings)

ID Esportes Religião Ciência Política

1 S N N S

2 N N S S

ID Y

1 “SNNS”

2 “NNSS”

Page 100: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo - Ex. 2

100

Outras formas de interpretar esta transformação:

● Concatenar os rótulos (como se fossem strings)

● Substituir os rótulos por um símbolo qualquer, único (e.g. uma função hash)

ID Esportes Religião Ciência Política

1 S N N S

2 N N S S

ID Esportes Religião Ciência Política

1 S N N S

2 N N S S

ID Y

1 “SNNS”

2 “NNSS”

ID Y

1 md5(“SNNS”)

2 md5(“NNSS”)

Page 101: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo - Ex. 2

101

● O novo conjunto de dados resultante desta transformação tem um único rótulo, então podemos usar qualquer método tradicional de aprendizado de máquina

Page 102: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo - Ex. 2

102

Concluindo

● Vantagens● Simples● Leva em consideração dependências entre rótulos

Page 103: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo - Ex. 2

103

Concluindo

● Vantagens● Simples● Leva em consideração dependências entre rótulos

● Desvantagens● O número de labelsets (conjuntos distinto de rótulos) pode variar

exponencialment com o número de rótulos distintos, tornando o número de classificadores criados muito grande

● Só pode prever labelsets que ocorreram no conjunto de treinamento

Page 104: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo - Ex. 3

104

Ex. 3: Multi-label Decision Tree (ML-DT) (Fonte: Clare and King [2001])

● Este é um método de adaptação do algoritmo● O algoritmo adaptado para aprendizado multi-rótulo é a Árvore

de Decisão

Page 105: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo - Ex. 3

105

Relembrando:● Árvores de decisão são algoritmos para gerar

um conjunto de regras da forma:

que vão sendo aplicadas em sucessão em um novo exemplo até que ele seja classificado em apenas um dos rótulos

Ou também

Page 106: Aula rotulação automática - Automatic tagging

● No algoritmo normal de árvore de decisão, o critério de decisão sobre qual teste (ou split) faremos é a entropia:

Aprendizado de Máquina Multi-Rótulo - Ex. 3

106

Page 107: Aula rotulação automática - Automatic tagging

● No algoritmo normal de árvore de decisão, o critério de decisão sobre qual teste (ou split) faremos é a entropia:

Aprendizado de Máquina Multi-Rótulo - Ex. 3

107

A entropia é uma medida do grau de dúvida ou incerteza sobre uma instância.

Page 108: Aula rotulação automática - Automatic tagging

● No algoritmo normal de árvore de decisão, o critério de decisão sobre qual teste (ou split) faremos é a entropia:

Aprendizado de Máquina Multi-Rótulo - Ex. 3

108

A entropia é máxima quando há o mesmo número de elementos com cada rótulo em um conjunto de dados

A entropia é mínima quando todos os elementos têm o mesmo rótulo.

A entropia é uma medida do grau de dúvida ou incerteza sobre uma instância.

Page 109: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo - Ex. 3

109

224 268

215 85 183

[Dataset original]

9

elevação <= 30.5 ?

SimNão

No exemplo usado anteriormente, o split foi feito em elevação == 30.5 porque este é o valor que separa o conjunto de dados de modo a haver maior redução na entropia

Page 110: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo - Ex. 3

110

224 268

215 85 183

[Dataset original]

9

elevação <= 30.5 ?

SimNão

No exemplo usado anteriormente, o split foi feito em elevação == 30.5 porque este é o valor que separa o conjunto de dados de modo a haver maior redução na entropia

Houve diminuição na entropia de uma etapa para outra porque antes do split havia quase a mesma chance de uma casa pertencer a uma cidade ou outra (ou seja, a entropia era grande e diminuiu)

Page 111: Aula rotulação automática - Automatic tagging

● A forma de adaptar o algoritmo para aprendizado multi-rótulo é, precisamente, alterar a forma de calcular a entropia.

Aprendizado de Máquina Multi-Rótulo - Ex. 3

111

Page 112: Aula rotulação automática - Automatic tagging

● Fórmula tradicional da entropia:

● Ou seja, a entropia de um conjunto de dados é a soma, para cada rótulo, da fração de exemplos com este rótulo vezes o log desta quantidade

Aprendizado de Máquina Multi-Rótulo - Ex. 3

112

Page 113: Aula rotulação automática - Automatic tagging

● Fórmula modificada, para dados multi-rótulo:

Onde

● Esta fórmula é semelhante à anterior, com uma pequena diferença.

Aprendizado de Máquina Multi-Rótulo - Ex. 3

113

Page 114: Aula rotulação automática - Automatic tagging

● Como nesse contexto um exemplo pode ter mais de um rótulo, não é a proporção de exemplos cujo rótulo é igual a , mas os exemplos cujo conjunto de rótulos contém .

Aprendizado de Máquina Multi-Rótulo - Ex. 3

114

Page 115: Aula rotulação automática - Automatic tagging

● Como nesse contexto um exemplo pode ter mais de um rótulo, não é a proporção de exemplos cujo rótulo é igual a , mas os exemplos cujo conjunto de rótulos contém .

● Uma outra mudança com relação ao algoritmo original é que as folhas da árvore (ou seja, o split final) dá como resultado um conjunto de rótulos (ou seja, um labelset) em vez de um único rótulo.

Aprendizado de Máquina Multi-Rótulo - Ex. 3

115

Page 116: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo

116

Sugestão de pausa

Page 117: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo - Tópicos

Modelar a dependência entre os rótulos

● Melhora o resultado● Tem alto custo (número total de dependências é 2L)● Pode ser possível modelar algumas dependências,

só as importantes.

Lembrando que L é o número de rótulos distintos no conjunto de dados

117

Page 118: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo - Tópicos

Aprendizado Online (stream de dados)

● Aprendizado incremental VS batch● Concept drift (de labelsets, de dependências)

118

Page 119: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo - Tópicos

Hierarquia de rótulos

● Muito relevante se os rótulos são tags informadas em uma comunidade online, por exemplo.

119

Page 120: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo - Tópicos

Métodos de rankeamento de rótulos

● Retornar um ranking de todas os rótulos possíveis, ordenados pela relevância

● Pode-se selecionar quantos rótulos quiser para cada exemplo

120

Page 121: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo - Tópicos

Ensembles

● Também é um tema de pesquisa em aprendizado de máquina tradicional● Bagging (amostragens do conjunto de dados)

● Boosting (transformar vários classificadores fracos em um único que seja forte)

● Stacking (treinar um algoritmo para combinar resultados de outros algoritmos de forma a melhorar os resultados gerais)

121

Page 122: Aula rotulação automática - Automatic tagging

Aprendizado de Máquina Multi-Rótulo - Tópicos

Seleção de Features

● Também chamado de Engenharia de Features● Também é um assunto quente em aprendizado de

máquina tradicional

122