O documento discute a técnica de aprendizado de máquina chamada rotulação automática para prever tags em documentos. Ele apresenta três exemplos de algoritmos de aprendizado de máquina que podem ser usados: regressão linear, árvore de decisão e Naive Bayes. O documento também discute como lidar com problemas de aprendizado de máquina multi-rótulo.
3. O Problema
● Dado um documento, me diga quais seriam as tags
que um humano associaria a ele.
3
4. O Problema: exemplo
● Sugestão de tags em um post no StackOverflow
4Fonte: Stackoverflow.com, Abril de 2016
5. 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
6. ● 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
8. 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
9. 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.
10. 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
11. 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
12. 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
13. 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
14. 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
15. 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
?
16. 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
18. ● 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
19. 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
20. 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
22. 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
23. 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
24. 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
25. 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
26. 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
27. 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:
28. 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]
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
29
30. 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
31. Aprendizado de Máquina - Ex. 2
31
● Detalhe da raiz da árvore gerada (diagrama feito
pela biblioteca scikit-learn)
33. 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
34. 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
35. 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 ?
36. 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
37. 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)
38. Aprendizado de Máquina - Ex. 3
Ex. 3: Naïve Bayes
● Classificador baseado na regra de Bayes
● Lembrando:
38
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:
39
40. 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:
41. 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
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
42
43. 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
45. 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
46. 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
47. 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]
48. 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]
features
objetivo
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
49
50. 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
51. 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
52. 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
54. 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
55. Aprendizado de Máquina - Ex. 3
Continuando (note que o símbolo de igualdade não é mais usado)
●
●
55
56. 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
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
57
58. 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
59. 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
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)
61
62. 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
63. 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 features
1 objetivo
64. 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 features
1 objetivo
x1
x2
... xn
y1
y2
... ym
n features m objetivos
x1
x2
x3
... xn
Y
65. 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
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
66
67. 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)
68. 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)
69. 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
70. 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
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
71
72. 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
73. Aprendizado de Máquina Multi-Rótulo
73
Label Powersets
Figura adaptada de Zhang and Zhou [2014]
* Adição minha
74. 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
75. 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
76. 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)
77. 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
78. 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
79. 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
80. 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
81. 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
82. 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
83. 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
84. Aprendizado de Máquina Multi-Rótulo - Ex. 1
● A partir daí treinamos um classificador para cada
um dos rótulos.
84
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”
85
86. 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
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)
87
88. 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)
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:
89
90. 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)
92. 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
93. Aprendizado de Máquina Multi-Rótulo - Ex. 2
Ex. 2: Label powerset
● Este é um método de transformação do problema
93
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.
94
95. 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
96. 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
97. 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)
98. 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ó
99. 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”
100. 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”)
101. 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
102. Aprendizado de Máquina Multi-Rótulo - Ex. 2
102
Concluindo
● Vantagens
● Simples
● Leva em consideração dependências entre rótulos
103. 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
104. 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
105. 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
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
106
107. ● 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.
108. ● 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.
109. 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
110. 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)
111. ● 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
112. ● 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
113. ● 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
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 .
Aprendizado de Máquina Multi-Rótulo - Ex. 3
114
115. ● 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
117. 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
118. 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
119. 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
120. 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
121. 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
122. 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