aula rotulação automática - automatic tagging
TRANSCRIPT
Rotulação Automática(Automatic Tagging)
26 Abril 2016
Felipe AlmeidaOrientador: Prof. Geraldo Xexéo
PESC / COPPE / UFRJ1
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
O Problema
● Dado um documento, me diga quais seriam as tags que um humano associaria a ele.
3
O Problema: exemplo
● Sugestão de tags em um post no StackOverflow
4Fonte: Stackoverflow.com, Abril de 2016
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
● 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
O Problema: exemplo
7
● O que poderíamos melhorar nessa solução?● Sugestões?
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
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.
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
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
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
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
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
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
?
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
Aprendizado de Máquina - Ex. 1
17
● Para os nossos dados, a seguinte reta é gerada:
50
● 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
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
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
Concluindo:
● Vantagens● Simples● Intuitivo
Aprendizado de Máquina - Ex. 1
21
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
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
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
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
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
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:
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]
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
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
Aprendizado de Máquina - Ex. 2
31
● Detalhe da raiz da árvore gerada (diagrama feito pela biblioteca scikit-learn)
Aprendizado de Máquina - Ex. 2
32
Arquivo: http://imgur.com/1lSkxGJ● Árvore inteira:
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
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
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 ?
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
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)
Aprendizado de Máquina - Ex. 3
Ex. 3: Naïve Bayes
● Classificador baseado na regra de Bayes
● Lembrando:
38
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
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:
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
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
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
Aprendizado de Máquina - Ex. 3
● E o denominador do lado direito da equação?
44
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
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
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]
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
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
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
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
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
Aprendizado de Máquina - Ex. 3
Então vamos calcular:
●
●
53
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
Aprendizado de Máquina - Ex. 3
Continuando (note que o símbolo de igualdade não é mais usado)
●
●
55
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
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
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
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
Aprendizado de Máquina
60
Sugestão de pausa
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
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
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
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
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
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
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)
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)
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
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
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
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
Aprendizado de Máquina Multi-Rótulo
73
Label Powersets
Figura adaptada de Zhang and Zhou [2014]
* Adição minha
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
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
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)
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
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
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
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
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
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
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
Aprendizado de Máquina Multi-Rótulo - Ex. 1
● A partir daí treinamos um classificador para cada um dos rótulos.
84
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
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
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
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)
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
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)
Aprendizado de Máquina Multi-Rótulo - Ex. 1
Concluindo:
● Vantagens:● Simples● Intuitivo
91
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
Aprendizado de Máquina Multi-Rótulo - Ex. 2
Ex. 2: Label powerset● Este é um método de transformação do problema
93
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
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
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
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)
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ó
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”
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”)
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
Aprendizado de Máquina Multi-Rótulo - Ex. 2
102
Concluindo
● Vantagens● Simples● Leva em consideração dependências entre rótulos
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
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
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
● 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
● 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.
● 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.
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
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)
● 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
● 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
● 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
● 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
● 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
Aprendizado de Máquina Multi-Rótulo
116
Sugestão de pausa
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
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
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
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
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
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