Machine Learning - Introdução e Aplicações

513 visualizações

Publicada em

Palestra sobre Machine Learning ministrada na semana de informática da Universidade de Sorocaba - UNISO.

Publicada em: Dados e análise
0 comentários
2 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

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

Nenhuma nota no slide

Machine Learning - Introdução e Aplicações

  1. 1. Machine Learning Aplicado Dionisio Chiuratto Agourakis J!Quant dionisio@jquant.com.br @josaum https://br.linkedin.com/in/dionisioca
  2. 2. Short bio SENAI: Torneiro Mecânico + Mecânico Multifuncional FGV/EAESP: Graduação em Administração de Empresas ETEC Rubens de Faria: Técnico em Mecânica ITA : Mestrado em Eng. Da Computação Fundador/CEO da J!Quant APIs de IA/Otimização Soluções – Enterprise SaaS
  3. 3. O que é Machine Learning? 3
  4. 4. O que é Machine Learning? 4 Inteligência Artificial
  5. 5. O que é Machine Learning? 5 Inteligência Artificial Fraca Forte
  6. 6. O que é Machine Learning? 6 Inteligência Artificial Fraca Forte Um algoritmo que tenha comportamentos semelhantes à mente humana. Um algoritmo que constitua, seja uma mente como a humana.
  7. 7. Definição de Machine Learning 7 "A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E" Mitchell, T. (1997). Machine Learning, McGraw Hill. p.2.
  8. 8. Definição de Machine Learning 8 Aprendizado = generalização do conhecimento
  9. 9. Definição de Machine Learning 9 Aprendizado = generalização do conhecimento Dados conhecidos Ex: Vendas dos últimos 3 anos
  10. 10. Definição de Machine Learning 10 Aprendizado = generalização do conhecimento Dados conhecidos Ex: Vendas dos últimos 3 anos Modelo “treinamento”
  11. 11. Definição de Machine Learning 11 Aprendizado = generalização do conhecimento Dados conhecidos Ex: Vendas dos últimos 3 anos Modelo “treinamento” “previsão” Dados desconhecidos Ex: Vendas do próximo ano
  12. 12. Classificação 12 Tarefa Tipo Classificação Supervisionado / Semi-Supervisionado Regressão Supervisionado Clusterização Não-Supervisionado Estimativa de Densidade Não-Supervisionado Redução de Dimensionalidade Não-Supervisionado + Aprendizagem por Reforço *
  13. 13. 13 Natureza dos algoritmos
  14. 14. 14 Natureza dos algoritmos 𝒙𝒙𝟐𝟐 − 𝟓𝟓𝟓𝟓 + 𝟔𝟔 Como resolver?
  15. 15. 15VAI DAR TUDO CERTO
  16. 16. 16 Natureza dos algoritmos 𝒙𝒙𝟐𝟐 − 𝟓𝟓𝟓𝟓 + 𝟔𝟔 Como resolver? Solução Analítica 𝑥𝑥 = −𝑏𝑏 ± 𝑏𝑏2 − 4𝑎𝑎𝑎𝑎 2𝑎𝑎 𝑥𝑥 = −(−5) ± (−5)2−4.1.6 2.1 𝑥𝑥𝑥 = 3 𝑥𝑥𝑥𝑥 = 2
  17. 17. 17 Natureza dos algoritmos 𝒙𝒙𝟐𝟐 − 𝟓𝟓𝟓𝟓 + 𝟔𝟔 Como resolver? Método Newton-Raphson Começar de um “chute inicial” e melhorar aos poucos.
  18. 18. 18 Natureza dos algoritmos 𝒙𝒙𝟐𝟐 − 𝟓𝟓𝟓𝟓 + 𝟔𝟔 Como resolver? Método Newton-Raphson Começar de um “chute inicial” e melhorar aos poucos. iterativamente
  19. 19. 19 𝒇𝒇 𝒙𝒙 = 𝒙𝒙𝟐𝟐 − 𝟓𝟓𝟓𝟓 + 𝟔𝟔 Como resolver? Método Newton-Raphson 𝑥𝑥𝑛𝑛+1 = 𝑥𝑥𝑛𝑛 − 𝑓𝑓(𝑥𝑥𝑛𝑛) 𝑓𝑓𝑓(𝑥𝑥𝑛𝑛) 𝒇𝒇′ 𝒙𝒙 = 𝟐𝟐. 𝒙𝒙 − 𝟓𝟓
  20. 20. 20 Como resolver? Método Newton-Raphson 𝑥𝑥1 = 𝑥𝑥0 − 𝑓𝑓(𝑥𝑥0) 𝑓𝑓𝑓(𝑥𝑥0) 𝒇𝒇 𝒙𝒙 = 𝒙𝒙𝟐𝟐 − 𝟓𝟓𝟓𝟓 + 𝟔𝟔 𝒇𝒇′ 𝒙𝒙 = 𝟐𝟐. 𝒙𝒙 − 𝟓𝟓 𝑥𝑥1 = 1,2 − 𝑓𝑓(1,2) 𝑓𝑓𝑓(1,2) 𝑥𝑥1 = 1.75
  21. 21. 21 Como resolver? Método Newton-Raphson 𝒇𝒇 𝒙𝒙 = 𝒙𝒙𝟐𝟐 − 𝟓𝟓𝟓𝟓 + 𝟔𝟔 𝒇𝒇′ 𝒙𝒙 = 𝟐𝟐. 𝒙𝒙 − 𝟓𝟓 𝑥𝑥2 = 𝑥𝑥1 − 𝑓𝑓(𝑥𝑥1) 𝑓𝑓𝑓(𝑥𝑥1) 𝑥𝑥2 = 1,75 − 𝑓𝑓(1,75) 𝑓𝑓𝑓(1,75) 𝑥𝑥2 = 1,96
  22. 22. 22 Como resolver? Método Newton-Raphson 𝒇𝒇 𝒙𝒙 = 𝒙𝒙𝟐𝟐 − 𝟓𝟓𝟓𝟓 + 𝟔𝟔 𝒇𝒇′ 𝒙𝒙 = 𝟐𝟐. 𝒙𝒙 − 𝟓𝟓 𝑥𝑥3 = 𝑥𝑥2 − 𝑓𝑓(𝑥𝑥2) 𝑓𝑓𝑓(𝑥𝑥2) 𝑥𝑥3 = 1,96 − 𝑓𝑓(1,96) 𝑓𝑓𝑓(1,96) 𝑥𝑥3 = 2,00
  23. 23. 23 Como resolver? Método Newton-Raphson 𝒇𝒇 𝒙𝒙 = 𝒙𝒙𝟐𝟐 − 𝟓𝟓𝟓𝟓 + 𝟔𝟔 𝒇𝒇′ 𝒙𝒙 = 𝟐𝟐. 𝒙𝒙 − 𝟓𝟓 𝑥𝑥3 = 𝑥𝑥2 − 𝑓𝑓(𝑥𝑥2) 𝑓𝑓𝑓(𝑥𝑥2) 𝑥𝑥3 = 3,07 − 𝑓𝑓(3,07) 𝑓𝑓𝑓(3,07) 𝑥𝑥3 = 3,00
  24. 24. 24 Método 𝑥𝑥𝑛𝑛+1 = 𝑥𝑥𝑛𝑛 − 𝑓𝑓(𝑥𝑥𝑛𝑛) 𝑓𝑓𝑓(𝑥𝑥𝑛𝑛) f(X) f’(X) X0 - CHUTE Raízes
  25. 25. 25 Há aprendizado?
  26. 26. 26 Quanto mais você “usa”, melhor fica? “…its performance at tasks in T, as measured by P, improves with experience E."
  27. 27. 27 Machine Learning Tarefa Tipo Classificação Supervisionado / Semi-Supervisionado Regressão Supervisionado Clusterização Não-Supervisionado + Aprendizagem por Reforço *
  28. 28. 28 Regressão X Y 0 2,898319 1 5,839758 2 7,850841 3 6,523894 4 10,33009 5 13,21322 6 15,56836 7 14,09511 8 16,04708 9 21,49065 10 ? 11 ? 12 ? 13 ?
  29. 29. 29 Regressão X Y 0 2,898319 1 5,839758 2 7,850841 3 6,523894 4 10,33009 5 13,21322 6 15,56836 7 14,09511 8 16,04708 9 21,49065 10 ? 11 ? 12 ? 13 ? Dados conhecidos! Você está mostrando, para cada X, qual é o Y correto.
  30. 30. 30 Regressão X Y 0 2,898319 1 5,839758 2 7,850841 3 6,523894 4 10,33009 5 13,21322 6 15,56836 7 14,09511 8 16,04708 9 21,49065 10 ? 11 ? 12 ? 13 ? Dados conhecidos! Você está mostrando, para cada X, qual é o Y correto. Aprendizagem ~SUPERVISIONADA~
  31. 31. 31 Regressão X Y 0 2,898319 1 5,839758 2 7,850841 3 6,523894 4 10,33009 5 13,21322 6 15,56836 7 14,09511 8 16,04708 9 21,49065 10 ? 11 ? 12 ? 13 ? Método de Aprendizado Método de Previsão
  32. 32. 32 Regressão (linear) X Y 0 2,898319 1 5,839758 2 7,850841 3 6,523894 4 10,33009 5 13,21322 6 15,56836 7 14,09511 8 16,04708 9 21,49065 10 ? 11 ? 12 ? 13 ? Método de Aprendizado Y = aX + b
  33. 33. 33 Regressão (linear) X Y 0 2,898319 1 5,839758 2 7,850841 3 6,523894 4 10,33009 5 13,21322 6 15,56836 7 14,09511 8 16,04708 9 21,49065 10 ? 11 ? 12 ? 13 ? Método de Aprendizado Y = aX + b Precisamos achar a e b !
  34. 34. 34 Regressão (linear) X Y 0 2,898319 1 5,839758 2 7,850841 3 6,523894 4 10,33009 5 13,21322 6 15,56836 7 14,09511 8 16,04708 9 21,49065 10 ? 11 ? 12 ? 13 ? Método de Aprendizado Y = aX + b Precisamos achar a e b ! Com qual propósito?
  35. 35. 35 Regressão (linear) X Y 0 2,898319 1 5,839758 2 7,850841 3 6,523894 4 10,33009 5 13,21322 6 15,56836 7 14,09511 8 16,04708 9 21,49065 10 ? 11 ? 12 ? 13 ? Método de Aprendizado Y = aX + b Precisamos achar a e b ! Com qual propósito objetivo?
  36. 36. 36 Regressão (linear) Se a = 1 e b = 0 Y’ = 1.X + 0 X Y Y' ERRO (Y-Y')^2 0 2,898319 0 8,400251902 1 5,839758 1 23,42325324 2 7,850841 2 34,23234345 3 6,523894 3 12,41782695 4 10,33009 4 40,07003738 5 13,21322 5 67,45704694 6 15,56836 6 91,55356128 7 14,09511 7 50,34051714 8 16,04708 8 64,75544862 9 21,49065 9 156,0164579 10 ? ? 11 ? ? 12 ? ? 13 ? ? Erro Total: 548,6667448
  37. 37. 37 Regressão (linear) Se a = 1 e b = 0 Y’ = 1.X + 0 X Y Y' ERRO (Y-Y')^2 0 2,898319 0 8,400251902 1 5,839758 1 23,42325324 2 7,850841 2 34,23234345 3 6,523894 3 12,41782695 4 10,33009 4 40,07003738 5 13,21322 5 67,45704694 6 15,56836 6 91,55356128 7 14,09511 7 50,34051714 8 16,04708 8 64,75544862 9 21,49065 9 156,0164579 10 ? ? 11 ? ? 12 ? ? 13 ? ? Erro Total: 548,6667448 MINIMIZAR
  38. 38. 38 Método Equações Normais, Gradiente, outros Conjunto de treinamento (gabarito) X Y Y' 0 2,898319 0 1 5,839758 1 2 7,850841 2 3 6,523894 3 4 10,33009 4 5 13,21322 5 6 15,56836 6 7 14,09511 7 8 16,04708 8 9 21,49065 9 10 ? ? 11 ? ? 12 ? ? 13 ? ? Parâmetros a,b ERRO (Y-Y')^2 8,400251902 23,42325324 34,23234345 12,41782695 40,07003738 67,45704694 91,55356128 50,34051714 64,75544862 156,0164579 Avaliação - Objetivo
  39. 39. 39 Y = 1,82x + 3,20
  40. 40. 40 Regressão X Y 0 2,898319 1 5,839758 2 7,850841 3 6,523894 4 10,33009 5 13,21322 6 15,56836 7 14,09511 8 16,04708 9 21,49065 10 ? 11 ? 12 ? 13 ? Método de Aprendizado Método de Previsão X Y Y' ERRO (Y-Y')^2 0 2,898319 3,2 0,091011543 1 5,839758 5,02 0,672002458 2 7,850841 6,84 1,021800052 3 6,523894 8,66 4,562950039 4 10,33009 10,48 0,022473056 5 13,21322 12,3 0,833977903 6 15,56836 14,12 2,097753984 7 14,09511 15,94 3,403636995 8 16,04708 17,76 2,934105124 9 21,49065 19,58 3,650601845 10 ? ? 11 ? ? 12 ? ? 13 ? ? Erro Total: 19,290313
  41. 41. 41 Regressão X Y 0 2,898319 1 5,839758 2 7,850841 3 6,523894 4 10,33009 5 13,21322 6 15,56836 7 14,09511 8 16,04708 9 21,49065 10 ? 11 ? 12 ? 13 ? Método de Aprendizado Método de Previsão Y = 1,82x + 3,20 X Y Y' 10 ? 21,4 11 ? 23,22 12 ? 25,04 13 ? 26,86
  42. 42. 42
  43. 43. 43 Machine Learning Tarefa Tipo Classificação Supervisionado / Semi-Supervisionado Regressão Supervisionado Clusterização Não-Supervisionado + Aprendizagem por Reforço *
  44. 44. 44 Classificação • Mesma idéia da regressão • Output não é um número real • Avalia o acerto da classificação em categorias • Regressão  Regressão Logística Input Método Categoria A Categoria B Categoria C 1 2 3
  45. 45. 45 Classificação X Y Y' ERRO (Y-Y')^2 0 1 0 1 1 2 2 0 2 1 1 0 3 2 2 0 4 2 1 1 5 2 2 0 6 1 1 0 7 2 1 1 8 3 3 0 9 3 3 0 10 ? 11 ? 12 ? 13 ? Erro Total: 3
  46. 46. 46 Machine Learning: Redes Neurais Ideia Principal: Perceptron
  47. 47. 47 Regressão com Redes Neurais Artificiais x x x x x x x x x x x y
  48. 48. 48 Regressão com Redes Neurais Artificiais x x x x x x x x x x x y w Achar os w’s para minimizar o erro w w w
  49. 49. 49 Regressão com Redes Neurais Artificiais Reconhecimento de imagens?
  50. 50. 50 Regressão com Redes Neurais Artificiais Reconhecimento de imagens? Se a imagem possuir 28x28 pixels... 784 inputs para a rede neural
  51. 51. 51 Machine Learning: Redes Neurais
  52. 52. 52FICAREMOS BEM
  53. 53. 53 Machine Learning: Redes Neurais Feedforward Backpropagation
  54. 54. 54 Machine Learning Tarefa Tipo Classificação Supervisionado / Semi-Supervisionado Regressão Supervisionado Clusterização Não-Supervisionado + Aprendizagem por Reforço *
  55. 55. 55 Clusterização • Objetivo: Agrupar dados semelhantes (formar clusters) • • Não é dado um “gabarito” ao algoritmo (ele seria a resposta, não?) • Necessária uma regra de “similaridade” • Ex: Distância Euclideana Aprendizagem ~NÃO-SUPERVISIONADA~
  56. 56. 56 Clusterização X Y 3,63 5,25 4,70 5,48 5,07 5,66 5,70 7,43 6,02 7,46 6,26 5,05 7,24 5,99 12,58 20,47 13,60 20,05 13,02 18,62 12,89 20,27 12,80 17,83 13,97 20,19 12,42 20,36
  57. 57. 57 Clusterização N = 1 X Y 3,63 5,25 4,70 5,48 5,07 5,66 5,70 7,43 6,02 7,46 6,26 5,05 7,24 5,99 12,58 20,47 13,60 20,05 13,02 18,62 12,89 20,27 12,80 17,83 13,97 20,19 12,42 20,36
  58. 58. 58 Clusterização N = 2 X Y 3,63 5,25 4,70 5,48 5,07 5,66 5,70 7,43 6,02 7,46 6,26 5,05 7,24 5,99 12,58 20,47 13,60 20,05 13,02 18,62 12,89 20,27 12,80 17,83 13,97 20,19 12,42 20,36
  59. 59. 59 Clusterização X Y 3,63 5,25 4,70 5,48 5,07 5,66 5,70 7,43 6,02 7,46 6,26 5,05 7,24 5,99 12,58 20,47 13,60 20,05 13,02 18,62 12,89 20,27 12,80 17,83 13,97 20,19 12,42 20,36 Cluster A Centroide (médias em X e Y) X = 7,16 Y = 8,75 Cluster B Centroide (médias em X e Y) X = 8,75 Y = 20,27
  60. 60. 60 Clusterização Cluster A Distância média de cada ponto até o centroide do cluster 45,22/9 = 5,02 Cluster B X Y Dist 3,63 5,25 4,97 4,70 5,48 4,09 5,07 5,66 3,73 5,70 7,43 1,97 6,02 7,46 1,72 6,26 5,05 3,81 7,24 5,99 2,76 12,58 20,47 13,60 20,05 13,02 18,62 11,47 12,89 20,27 12,80 17,83 10,69 13,97 20,19 12,42 20,36
  61. 61. 61 Clusterização Cluster A Cluster B X Y Dist 3,63 5,25 4,70 5,48 5,07 5,66 5,70 7,43 6,02 7,46 6,26 5,05 7,24 5,99 12,58 20,47 0,55 13,60 20,05 0,55 13,02 18,62 12,89 20,27 0,21 12,80 17,83 13,97 20,19 0,88 12,42 20,36 0,68 2,86/5 = 0,5745,22/9 = 5,02 Distância média de cada ponto até o centroide do cluster Distância média de cada ponto até o centroide do cluster
  62. 62. 62 Clusterização Cluster A Cluster B Devemos alterar os membros de cada cluster até alcançar a distância mínima entre os pontos de cada cluster e seu centroide! 45,22/9 = 5,02 Distância média de cada ponto até o centroide do cluster Distância média de cada ponto até o centroide do cluster 2,86/5 = 0,57
  63. 63. 63 Clusterização Cluster A Cluster B Centróide (médias em X e Y) X = 5,52 Y = 6,05 Centróide (médias em X e Y) X = 13,04 Y = 19,68 X Y Dist 3,63 5,25 2,05 4,70 5,48 1,00 5,07 5,66 0,59 5,70 7,43 1,39 6,02 7,46 1,51 6,26 5,05 1,24 7,24 5,99 1,73 12,58 20,47 0,91 13,60 20,05 0,67 13,02 18,62 1,07 12,89 20,27 0,60 12,80 17,83 1,87 13,97 20,19 1,06 12,42 20,36 0,91
  64. 64. 64 Clusterização Cluster A Cluster B 9,50/7 = 1,36 Distância média de cada ponto até o centroide do cluster Distância média de cada ponto até o centroide do cluster 7,10/7 = 1,01 X Y Dist 3,63 5,25 2,05 4,70 5,48 1,00 5,07 5,66 0,59 5,70 7,43 1,39 6,02 7,46 1,51 6,26 5,05 1,24 7,24 5,99 1,73 12,58 20,47 0,91 13,60 20,05 0,67 13,02 18,62 1,07 12,89 20,27 0,60 12,80 17,83 1,87 13,97 20,19 1,06 12,42 20,36 0,91
  65. 65. 65 Método Função de Similaridade Dados Número de clusters Clusters
  66. 66. 66 Tarefa Tipo Classificação Supervisionado / Semi-Supervisionado Regressão Supervisionado Clusterização Não-Supervisionado + Aprendizagem por Reforço * Machine Learning
  67. 67. 67 http://www.cs.ubc.ca/~murphyk/Bayes/pomdp.html Aprendizagem por Reforço (Reinforcement Learning / Neuro-dynamic programming)
  68. 68. 68 Aprendizagem por Reforço (Reinforcement Learning / Neuro-dynamic programming) Você não consegue dizer ao seu cachorro o que fazer, mas ainda sim consegue ensiná-lo ao dar bonificações/penalizações de acordo com suas ações.
  69. 69. 69 Aprendizagem por Reforço (Reinforcement Learning / Neuro-dynamic programming) • Tomada de decisão sequencial • Maximização da soma das recompensas descontadas Agente Ambiente Recompensa Estado Ação
  70. 70. 70 Esta é a essência do Machine Learning
  71. 71. 71 Aplicações!!
  72. 72. 72
  73. 73. 73
  74. 74. 74
  75. 75. 75
  76. 76. 76
  77. 77. 77 Video 1 - Artomatix
  78. 78. 78 Video 2 – Super Mario
  79. 79. Vivemos em um tempo especial
  80. 80. Aprenda a trabalhar com algoritmos “inteligentes”...
  81. 81. ...ou aprenda a trabalhar para eles.
  82. 82. Obrigado! Dionisio Chiuratto Agourakis J!Quant dionisio@jquant.com.br @josaum https://br.linkedin.com/in/dionisioca

×