Aula rotulação automática

170 visualizações

Publicada em

Aula sobre Aprendizado de Máquina multi-rótulo e Rotulação AUtomática (automatic tagging)

Publicada em: Ciências
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
170
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
1
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Aula rotulação automática

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

×