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

82
Machine Learning Aplicado Dionisio Chiuratto Agourakis J!Quant [email protected] @josaum https://br.linkedin.com/in/dionisioca

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

Machine LearningAplicado

Dionisio Chiuratto [email protected]@josaumhttps://br.linkedin.com/in/dionisioca

Short bioSENAI: 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!QuantAPIs de IA/Otimização

Soluções – Enterprise SaaS

O que é Machine Learning?

3

O que é Machine Learning?

4

Inteligência Artificial

O que é Machine Learning?

5

Inteligência Artificial

Fraca Forte

O que é Machine Learning?

6

Inteligência Artificial

Fraca ForteUm algoritmo que tenha

comportamentos semelhantes à mente

humana.

Um algoritmo que constitua, seja uma

mente como a humana.

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.

Definição de Machine Learning

8

Aprendizado = generalização do conhecimento

Definição de Machine Learning

9

Aprendizado = generalização do conhecimento

Dados conhecidos

Ex: Vendas dos últimos 3 anos

Definição de Machine Learning

10

Aprendizado = generalização do conhecimento

Dados conhecidosEx: Vendas dos últimos 3 anos

Modelo“treinamento”

Definição de Machine Learning

11

Aprendizado = generalização do conhecimento

Dados conhecidosEx: Vendas dos últimos 3 anos

Modelo“treinamento” “previsão”

Dados desconhecidosEx: Vendas do próximo ano

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

Natureza dos algoritmos

14

Natureza dos algoritmos

𝒙𝒙𝟐𝟐 − 𝟓𝟓𝒙𝒙 + 𝟔𝟔

Como resolver?

15VAI DAR TUDO CERTO

16

Natureza dos algoritmos

𝒙𝒙𝟐𝟐 − 𝟓𝟓𝒙𝒙 + 𝟔𝟔

Como resolver?

Solução Analítica

𝑥𝑥 =−𝑏𝑏 ± 𝑏𝑏2 − 4𝑎𝑎𝑎𝑎

2𝑎𝑎

𝑥𝑥 =−(−5) ± (−5)2−4.1.6

2.1

𝑥𝑥𝑥 = 3𝑥𝑥𝑥𝑥 = 2

17

Natureza dos algoritmos

𝒙𝒙𝟐𝟐 − 𝟓𝟓𝒙𝒙 + 𝟔𝟔

Como resolver?

Método Newton-Raphson

Começar de um “chute inicial”e melhorar aos poucos.

18

Natureza dos algoritmos

𝒙𝒙𝟐𝟐 − 𝟓𝟓𝒙𝒙 + 𝟔𝟔

Como resolver?

Método Newton-Raphson

Começar de um “chute inicial”e melhorar aos poucos.

iterativamente

19

𝒇𝒇 𝒙𝒙 = 𝒙𝒙𝟐𝟐 − 𝟓𝟓𝒙𝒙 + 𝟔𝟔

Como resolver?

Método Newton-Raphson

𝑥𝑥𝑛𝑛+1 = 𝑥𝑥𝑛𝑛 −𝑓𝑓(𝑥𝑥𝑛𝑛)𝑓𝑓𝑥(𝑥𝑥𝑛𝑛)

𝒇𝒇′ 𝒙𝒙 = 𝟐𝟐.𝒙𝒙 − 𝟓𝟓

20

Como resolver?

Método Newton-Raphson

𝑥𝑥1 = 𝑥𝑥0 −𝑓𝑓(𝑥𝑥0)𝑓𝑓𝑥(𝑥𝑥0)

𝒇𝒇 𝒙𝒙 = 𝒙𝒙𝟐𝟐 − 𝟓𝟓𝒙𝒙 + 𝟔𝟔 𝒇𝒇′ 𝒙𝒙 = 𝟐𝟐.𝒙𝒙 − 𝟓𝟓

𝑥𝑥1 = 1,2 −𝑓𝑓(1,2)𝑓𝑓𝑥(1,2)

𝑥𝑥1 = 1.75

21

Como resolver?

Método Newton-Raphson

𝒇𝒇 𝒙𝒙 = 𝒙𝒙𝟐𝟐 − 𝟓𝟓𝒙𝒙 + 𝟔𝟔 𝒇𝒇′ 𝒙𝒙 = 𝟐𝟐.𝒙𝒙 − 𝟓𝟓

𝑥𝑥2 = 𝑥𝑥1 −𝑓𝑓(𝑥𝑥1)𝑓𝑓𝑥(𝑥𝑥1)

𝑥𝑥2 = 1,75 −𝑓𝑓(1,75)𝑓𝑓𝑥(1,75)

𝑥𝑥2 = 1,96

22

Como resolver?

Método Newton-Raphson

𝒇𝒇 𝒙𝒙 = 𝒙𝒙𝟐𝟐 − 𝟓𝟓𝒙𝒙 + 𝟔𝟔 𝒇𝒇′ 𝒙𝒙 = 𝟐𝟐.𝒙𝒙 − 𝟓𝟓

𝑥𝑥3 = 𝑥𝑥2 −𝑓𝑓(𝑥𝑥2)𝑓𝑓𝑥(𝑥𝑥2)

𝑥𝑥3 = 1,96 −𝑓𝑓(1,96)𝑓𝑓𝑥(1,96)

𝑥𝑥3 = 2,00

23

Como resolver?

Método Newton-Raphson

𝒇𝒇 𝒙𝒙 = 𝒙𝒙𝟐𝟐 − 𝟓𝟓𝒙𝒙 + 𝟔𝟔 𝒇𝒇′ 𝒙𝒙 = 𝟐𝟐.𝒙𝒙 − 𝟓𝟓

𝑥𝑥3 = 𝑥𝑥2 −𝑓𝑓(𝑥𝑥2)𝑓𝑓𝑥(𝑥𝑥2)

𝑥𝑥3 = 3,07 −𝑓𝑓(3,07)𝑓𝑓𝑥(3,07)

𝑥𝑥3 = 3,00

24

Método

𝑥𝑥𝑛𝑛+1 = 𝑥𝑥𝑛𝑛 −𝑓𝑓(𝑥𝑥𝑛𝑛)𝑓𝑓𝑥(𝑥𝑥𝑛𝑛)

f(X) f’(X)X0 - CHUTE

Raízes

25

Há aprendizado?

26

Quanto mais você “usa”, melhor fica?“…its performance at tasks in T, as measured by P, improves with experience E."

27

Machine Learning

Tarefa Tipo

Classificação Supervisionado / Semi-Supervisionado

Regressão Supervisionado

Clusterização Não-Supervisionado

+ Aprendizagem por Reforço *

28

RegressãoX Y0 2,8983191 5,8397582 7,8508413 6,5238944 10,330095 13,213226 15,568367 14,095118 16,047089 21,4906510 ?11 ?12 ?13 ?

29

RegressãoX Y0 2,8983191 5,8397582 7,8508413 6,5238944 10,330095 13,213226 15,568367 14,095118 16,047089 21,4906510 ?11 ?12 ?13 ?

Dados conhecidos!Você está mostrando, para cada X, qual é o Y correto.

30

RegressãoX Y0 2,8983191 5,8397582 7,8508413 6,5238944 10,330095 13,213226 15,568367 14,095118 16,047089 21,4906510 ?11 ?12 ?13 ?

Dados conhecidos!Você está mostrando, para cada X, qual é o Y correto.

Aprendizagem ~SUPERVISIONADA~

31

RegressãoX Y0 2,8983191 5,8397582 7,8508413 6,5238944 10,330095 13,213226 15,568367 14,095118 16,047089 21,4906510 ?11 ?12 ?13 ?

Método de Aprendizado

Método de Previsão

32

Regressão (linear)X Y0 2,8983191 5,8397582 7,8508413 6,5238944 10,330095 13,213226 15,568367 14,095118 16,047089 21,4906510 ?11 ?12 ?13 ?

Método de Aprendizado

Y = aX + b

33

Regressão (linear)X Y0 2,8983191 5,8397582 7,8508413 6,5238944 10,330095 13,213226 15,568367 14,095118 16,047089 21,4906510 ?11 ?12 ?13 ?

Método de Aprendizado

Y = aX + b

Precisamos achar a e b !

34

Regressão (linear)X Y0 2,8983191 5,8397582 7,8508413 6,5238944 10,330095 13,213226 15,568367 14,095118 16,047089 21,4906510 ?11 ?12 ?13 ?

Método de Aprendizado

Y = aX + b

Precisamos achar a e b !

Com qual propósito?

35

Regressão (linear)X Y0 2,8983191 5,8397582 7,8508413 6,5238944 10,330095 13,213226 15,568367 14,095118 16,047089 21,4906510 ?11 ?12 ?13 ?

Método de Aprendizado

Y = aX + b

Precisamos achar a e b !

Com qual propósito objetivo?

36

Regressão (linear)Se a = 1 e b = 0

Y’ = 1.X + 0

X Y Y' ERRO (Y-Y')^20 2,898319 0 8,4002519021 5,839758 1 23,423253242 7,850841 2 34,232343453 6,523894 3 12,417826954 10,33009 4 40,070037385 13,21322 5 67,457046946 15,56836 6 91,553561287 14,09511 7 50,340517148 16,04708 8 64,755448629 21,49065 9 156,016457910 ? ?11 ? ?12 ? ?13 ? ?

Erro Total: 548,6667448

37

Regressão (linear)Se a = 1 e b = 0

Y’ = 1.X + 0

X Y Y' ERRO (Y-Y')^20 2,898319 0 8,4002519021 5,839758 1 23,423253242 7,850841 2 34,232343453 6,523894 3 12,417826954 10,33009 4 40,070037385 13,21322 5 67,457046946 15,56836 6 91,553561287 14,09511 7 50,340517148 16,04708 8 64,755448629 21,49065 9 156,016457910 ? ?11 ? ?12 ? ?13 ? ?

Erro Total: 548,6667448

MINIMIZAR

38

Método

Equações Normais,Gradiente,

outros

Conjunto de treinamento (gabarito)

X Y Y' 0 2,898319 01 5,839758 12 7,850841 23 6,523894 34 10,33009 45 13,21322 56 15,56836 67 14,09511 78 16,04708 89 21,49065 910 ? ?11 ? ?12 ? ?13 ? ?

Parâmetros a,b

ERRO (Y-Y')^28,40025190223,4232532434,2323434512,4178269540,0700373867,4570469491,5535612850,3405171464,75544862156,0164579

Avaliação - Objetivo

39

Y = 1,82x + 3,20

40

RegressãoX Y0 2,8983191 5,8397582 7,8508413 6,5238944 10,330095 13,213226 15,568367 14,095118 16,047089 21,4906510 ?11 ?12 ?13 ?

Método de Aprendizado

Método de Previsão

X Y Y' ERRO (Y-Y')^20 2,898319 3,2 0,0910115431 5,839758 5,02 0,6720024582 7,850841 6,84 1,0218000523 6,523894 8,66 4,5629500394 10,33009 10,48 0,0224730565 13,21322 12,3 0,8339779036 15,56836 14,12 2,0977539847 14,09511 15,94 3,4036369958 16,04708 17,76 2,9341051249 21,49065 19,58 3,65060184510 ? ?11 ? ?12 ? ?13 ? ?

Erro Total: 19,290313

41

RegressãoX Y0 2,8983191 5,8397582 7,8508413 6,5238944 10,330095 13,213226 15,568367 14,095118 16,047089 21,4906510 ?11 ?12 ?13 ?

Método de Aprendizado

Método de Previsão

Y = 1,82x + 3,20

X Y Y'10 ? 21,411 ? 23,2212 ? 25,0413 ? 26,86

42

43

Machine Learning

Tarefa Tipo

Classificação Supervisionado / Semi-Supervisionado

Regressão Supervisionado

Clusterização Não-Supervisionado

+ Aprendizagem por Reforço *

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

ClassificaçãoX Y Y' ERRO (Y-Y')^20 1 0 11 2 2 02 1 1 03 2 2 04 2 1 15 2 2 06 1 1 07 2 1 18 3 3 09 3 3 010 ?11 ?12 ?13 ?

Erro Total: 3

46

Machine Learning: Redes Neurais

Ideia Principal: Perceptron

47

Regressão com Redes Neurais Artificiais

x

x

x

x

x

x

x

x

x

x

x

y

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

Regressão com Redes Neurais Artificiais

Reconhecimento de imagens?

50

Regressão com Redes Neurais Artificiais

Reconhecimento de imagens?

Se a imagem possuir 28x28 pixels...

784 inputs para a rede neural

51

Machine Learning: Redes Neurais

52FICAREMOS BEM

53

Machine Learning: Redes Neurais

Feedforward

Backpropagation

54

Machine Learning

Tarefa Tipo

Classificação Supervisionado / Semi-Supervisionado

Regressão Supervisionado

Clusterização Não-Supervisionado

+ Aprendizagem por Reforço *

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

Clusterização

X Y3,63 5,254,70 5,485,07 5,665,70 7,436,02 7,466,26 5,057,24 5,99

12,58 20,4713,60 20,0513,02 18,6212,89 20,2712,80 17,8313,97 20,1912,42 20,36

57

Clusterização

N = 1

X Y3,63 5,254,70 5,485,07 5,665,70 7,436,02 7,466,26 5,057,24 5,99

12,58 20,4713,60 20,0513,02 18,6212,89 20,2712,80 17,8313,97 20,1912,42 20,36

58

Clusterização

N = 2

X Y3,63 5,254,70 5,485,07 5,665,70 7,436,02 7,466,26 5,057,24 5,99

12,58 20,4713,60 20,0513,02 18,6212,89 20,2712,80 17,8313,97 20,1912,42 20,36

59

Clusterização

X Y3,63 5,254,70 5,485,07 5,665,70 7,436,02 7,466,26 5,057,24 5,99

12,58 20,4713,60 20,0513,02 18,6212,89 20,2712,80 17,8313,97 20,1912,42 20,36

Cluster A

Centroide (médias em X e Y)

X = 7,16Y = 8,75

Cluster B

Centroide (médias em X e Y)

X = 8,75Y = 20,27

60

Clusterização Cluster A

Distância média de cada pontoaté o centroide do cluster

45,22/9 = 5,02

Cluster B

X Y Dist3,63 5,25 4,974,70 5,48 4,095,07 5,66 3,735,70 7,43 1,976,02 7,46 1,726,26 5,05 3,817,24 5,99 2,76

12,58 20,4713,60 20,0513,02 18,62 11,4712,89 20,2712,80 17,83 10,6913,97 20,1912,42 20,36

61

Clusterização Cluster A Cluster B

X Y Dist3,63 5,254,70 5,485,07 5,665,70 7,436,02 7,466,26 5,057,24 5,99

12,58 20,47 0,5513,60 20,05 0,5513,02 18,6212,89 20,27 0,2112,80 17,8313,97 20,19 0,8812,42 20,36 0,68

2,86/5 = 0,5745,22/9 = 5,02

Distância média de cada pontoaté o centroide do cluster

Distância média de cada pontoaté o centroide do cluster

62

Clusterização Cluster A Cluster B

Devemos alterar os membros de cada clusteraté alcançar a distância mínima entre os pontosde cada cluster e seu centroide!

45,22/9 = 5,02

Distância média de cada pontoaté o centroide do cluster

Distância média de cada pontoaté o centroide do cluster

2,86/5 = 0,57

63

Clusterização Cluster A Cluster B

Centróide (médias em X e Y)

X = 5,52Y = 6,05

Centróide (médias em X e Y)

X = 13,04Y = 19,68

X Y Dist3,63 5,25 2,054,70 5,48 1,005,07 5,66 0,595,70 7,43 1,396,02 7,46 1,516,26 5,05 1,247,24 5,99 1,73

12,58 20,47 0,9113,60 20,05 0,6713,02 18,62 1,0712,89 20,27 0,6012,80 17,83 1,8713,97 20,19 1,0612,42 20,36 0,91

64

Clusterização Cluster A Cluster B

9,50/7 = 1,36

Distância média de cada pontoaté o centroide do cluster

Distância média de cada pontoaté o centroide do cluster

7,10/7 = 1,01

X Y Dist3,63 5,25 2,054,70 5,48 1,005,07 5,66 0,595,70 7,43 1,396,02 7,46 1,516,26 5,05 1,247,24 5,99 1,73

12,58 20,47 0,9113,60 20,05 0,6713,02 18,62 1,0712,89 20,27 0,6012,80 17,83 1,8713,97 20,19 1,0612,42 20,36 0,91

65

Método

Função de Similaridade DadosNúmero de clusters

Clusters

66

Tarefa Tipo

Classificação Supervisionado / Semi-Supervisionado

Regressão Supervisionado

Clusterização Não-Supervisionado

+ Aprendizagem por Reforço *

Machine Learning

67

http://www.cs.ubc.ca/~murphyk/Bayes/pomdp.html

Aprendizagem por Reforço (Reinforcement Learning / Neuro-dynamic programming)

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

Aprendizagem por Reforço (Reinforcement Learning / Neuro-dynamic programming)

• Tomada de decisão sequencial• Maximização da soma das recompensas descontadas

Agente

Ambiente

RecompensaEstadoAção

70

Esta é a essência do Machine Learning

71

Aplicações!!

72

73

74

75

76

77

Video 1 - Artomatix

78

Video 2 – Super Mario

Vivemos em um tempo especial

Aprenda a trabalhar com algoritmos “inteligentes”...

...ou aprenda a trabalhar para eles.

Obrigado!Dionisio Chiuratto [email protected]@josaumhttps://br.linkedin.com/in/dionisioca