gradiente descendente - ufprcursos.leg.ufpr.br/ml4all/slides/gradiente_descendente.pdf ·...

25
Universidade Federal do Paran´ a Laborat´oriodeEstat´ ıstica e Geoinforma¸c˜ ao - LEG Gradiente descendente Eduardo Vargas Ferreira

Upload: others

Post on 30-Apr-2020

6 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Gradiente descendente - UFPRcursos.leg.ufpr.br/ML4all/slides/Gradiente_descendente.pdf · Universidade Federal do Paran a Laborat orio de Estat stica e Geoinforma˘c~ao - LEG Gradiente

Universidade Federal do Parana

Laboratorio de Estatıstica e Geoinformacao - LEG

Gradiente descendente

Eduardo Vargas Ferreira

Page 2: Gradiente descendente - UFPRcursos.leg.ufpr.br/ML4all/slides/Gradiente_descendente.pdf · Universidade Federal do Paran a Laborat orio de Estat stica e Geoinforma˘c~ao - LEG Gradiente

Solucao de quadrados mınimos

Teorema: Seja X ∈ Mn×p(R), com n > p e posto(X ) = p. Definimos J : Rp → R daseguinte forma:

J(β) = 〈Xβ − y ,Xβ − y〉 ; β ∈ Rp .

Entao, o Problema de Minimizacao: encontrar β ∈ Rp tal que

J(β) = min {J(β) ; β ∈ Rp}

e equivalente ao Sistema Normal

X tXβ = X ty .

que resulta em

β =(XtX

)−1Xty.

2

Page 3: Gradiente descendente - UFPRcursos.leg.ufpr.br/ML4all/slides/Gradiente_descendente.pdf · Universidade Federal do Paran a Laborat orio de Estat stica e Geoinforma˘c~ao - LEG Gradiente

Metodo do Gradiente Descendente

3

Page 4: Gradiente descendente - UFPRcursos.leg.ufpr.br/ML4all/slides/Gradiente_descendente.pdf · Universidade Federal do Paran a Laborat orio de Estat stica e Geoinforma˘c~ao - LEG Gradiente

Metodo do Gradiente Descendente

• O Gradiente Descendente (GD) e um metodo para encontrar o mınimode uma funcao de forma iterativa:

Algoritmo: Escolha um chute inicial, β(0) ∈ Rp, repita:

β(k+1) = β(k) − αk∇J(β(k)), k = 0, 1, . . .

pare quando atingir convergencia.

4

Page 5: Gradiente descendente - UFPRcursos.leg.ufpr.br/ML4all/slides/Gradiente_descendente.pdf · Universidade Federal do Paran a Laborat orio de Estat stica e Geoinforma˘c~ao - LEG Gradiente

Taxa de aprendizagem α

• Taxa de aprendizagem controla o tamanho do passo em cada iteracao;

• Selecionar o valor correto e crıtico:

? Se tomarmos α pequeno, o metodo fica lento;

? Se α muito grande, o metodo diverge.

5

Page 6: Gradiente descendente - UFPRcursos.leg.ufpr.br/ML4all/slides/Gradiente_descendente.pdf · Universidade Federal do Paran a Laborat orio de Estat stica e Geoinforma˘c~ao - LEG Gradiente

Exemplo simulado 1

• Considere os dados simulados a partir do modelo:

f (xi , θ) =θaxiθv + xi

, com (θa, θv )′ = (10, 2).

6

Page 7: Gradiente descendente - UFPRcursos.leg.ufpr.br/ML4all/slides/Gradiente_descendente.pdf · Universidade Federal do Paran a Laborat orio de Estat stica e Geoinforma˘c~ao - LEG Gradiente

Exemplo simulado 1

• O nosso interesse sera encontrar os valores de θ, que minimize a funcao:

RSS =n∑

i=1

(yi −

θaxiθv + xi

)2

.

7

Page 8: Gradiente descendente - UFPRcursos.leg.ufpr.br/ML4all/slides/Gradiente_descendente.pdf · Universidade Federal do Paran a Laborat orio de Estat stica e Geoinforma˘c~ao - LEG Gradiente

Exemplo simulado 1

• Utilizamos os criterios de parada: |θ(k+1) − θ(k)| < 0.0001 ou 10000iteracoes. E a taxa de aprendizado, α, de 0,001.

• O algoritmo convergiu para os pontos (θa, θv ) = (10, 03; 2, 05), naiteracao 2412.

8

Page 9: Gradiente descendente - UFPRcursos.leg.ufpr.br/ML4all/slides/Gradiente_descendente.pdf · Universidade Federal do Paran a Laborat orio de Estat stica e Geoinforma˘c~ao - LEG Gradiente

Pros e contras do GD

� Ideia simples e cada iteracao e barata;

� Garantia de convergencia para o mınimo local;

� Com varios algoritmos de segunda ordem para acelerar sua convergencia;

� Muito rapido para matrizes bem condicionadas e problemas fortementeconvexos;

χ Frequentemente e lento, pois problemas interessantes nao sao fortementeconvexos ou bem condicionados;

χ Nao lida com funcoes nao diferenciaveis (dica: use o metodo Subgradiente);

χ Utiliza todos os dados de treinamento para estimar os parametros. Assim,para grandes bancos de dados, torna-se lento.

9

Page 10: Gradiente descendente - UFPRcursos.leg.ufpr.br/ML4all/slides/Gradiente_descendente.pdf · Universidade Federal do Paran a Laborat orio de Estat stica e Geoinforma˘c~ao - LEG Gradiente

Gradiente Descendente Estocastico

10

Page 11: Gradiente descendente - UFPRcursos.leg.ufpr.br/ML4all/slides/Gradiente_descendente.pdf · Universidade Federal do Paran a Laborat orio de Estat stica e Geoinforma˘c~ao - LEG Gradiente

Gradiente Descendente Estocastico (GDE)

• Considere o par (x i , yi ) amostrado do treinamento. A atualizacao dosparametros e dada por

Algoritmo: Escolha um chute inicial, β(0) ∈ Rp+1, repita:

β(k+1) = β(k) − αk∇J(β(k); x i , yi ), k = 0, 1, . . .

pare quando atingir convergencia.

• No GDE a taxa de aprendizagem, α, e, tipicamente, menor do que o GD(batch). Isso ocorre, pois temos uma maior variancia nas atualizacoes;

• Metodos mais sofisticados incluem o uso de Backtracking line search ouExact line search.

11

Page 12: Gradiente descendente - UFPRcursos.leg.ufpr.br/ML4all/slides/Gradiente_descendente.pdf · Universidade Federal do Paran a Laborat orio de Estat stica e Geoinforma˘c~ao - LEG Gradiente

Exemplo simulado 1 (continuacao)

• Como era de se esperar, o metodo Mini-Batch utiliza mais iteracoes paraatingir a convergencia.

12

Page 13: Gradiente descendente - UFPRcursos.leg.ufpr.br/ML4all/slides/Gradiente_descendente.pdf · Universidade Federal do Paran a Laborat orio de Estat stica e Geoinforma˘c~ao - LEG Gradiente

Pros e contras do GDE

� Convergencia mais rapida, especialmente com grandes bancos de dados oudados redundantes, p. ex.:

- Imagine que temos dados de treino de tamanho 100.000;

- Mas na verdade sao 100 copias de 1000;

- Ou seja, padroes parecidos, com mesmo efeito;

- Batch sera, pelo menos, 100 vezes mais devagar.

� A trajetoria estocastica permite escapar de um mınimo local;

χ Prova da convergencia e probabilıstica;

χ Muitos metodos de segunda ordem nao funcionam.

13

Page 14: Gradiente descendente - UFPRcursos.leg.ufpr.br/ML4all/slides/Gradiente_descendente.pdf · Universidade Federal do Paran a Laborat orio de Estat stica e Geoinforma˘c~ao - LEG Gradiente

Gradiente boosting

14

Page 15: Gradiente descendente - UFPRcursos.leg.ufpr.br/ML4all/slides/Gradiente_descendente.pdf · Universidade Federal do Paran a Laborat orio de Estat stica e Geoinforma˘c~ao - LEG Gradiente

Lembrando do metodo boosting

• No exemplo abaixo, estamos avaliando a relacao entre consumo de combustıvele a potencia do automovel.

mpg = β0 + β1 × (cavalo vapor) + Resıduo

n∑i=1

(yi − y)2

︸ ︷︷ ︸SQT

=n∑

i=1

(yi − y)2

︸ ︷︷ ︸SQR

+n∑

i=1

(yi − y)2

︸ ︷︷ ︸SQE

50 100 150 200

10

20

30

40

50

Cavalo-vapor

Milh

as

por

galã

o

Linear

5 10 15 20 25 30

−1

5−

10

−5

05

10

15

20

Valores ajustados

Resí

du

os

Gráfico de resíduos para o ajuste linear

323330

334

15

Page 16: Gradiente descendente - UFPRcursos.leg.ufpr.br/ML4all/slides/Gradiente_descendente.pdf · Universidade Federal do Paran a Laborat orio de Estat stica e Geoinforma˘c~ao - LEG Gradiente

Lembrando do metodo boosting

Resıduo = β2 × (cavalo vapor)2 + Resıduo 2

5 10 15 20 25 30

−1

5 −

10

−5

05

10

15

20

Cavalo-vapor

Resí

du

os

Gráfico de resíduos para o ajuste linear

323330

334

50 100 150 2001

02

03

04

05

0

Cavalo-vapor

Milh

as

por

galã

o

LinearGrau 2

mpg = β0 + β1 × (cavalo vapor)︸ ︷︷ ︸Parte1

+β2 × (cavalo vapor)2︸ ︷︷ ︸Parte2

+ Resıduo 2︸ ︷︷ ︸Atualizado

16

Page 17: Gradiente descendente - UFPRcursos.leg.ufpr.br/ML4all/slides/Gradiente_descendente.pdf · Universidade Federal do Paran a Laborat orio de Estat stica e Geoinforma˘c~ao - LEG Gradiente

Lembrando do metodo boosting

• Considere o seguinte procedimento

Y = h(x) + Resıduo (1)

• Se o Resıduo nao for um ruıdo branco (mas algo correlacionado com Y )

Resıduo = g(x) + Resıduo 2 (2)

• Combinando (1) e (2)

Y = h(x) + g(x) + Resıduo 2

• Pode-se dizer que h(x) foi atualizada com uma parte do Resıduo, ou seja

h(x)(2) = h(x)(1) + g(x)

17

Page 18: Gradiente descendente - UFPRcursos.leg.ufpr.br/ML4all/slides/Gradiente_descendente.pdf · Universidade Federal do Paran a Laborat orio de Estat stica e Geoinforma˘c~ao - LEG Gradiente

Como isto se relaciona com o Gradiente

• Queremos minimizar

J[yi , h(x)] =1

2n

n∑i=1

[yi − h(x i )]2

• Derivando com relacao a h(x i ) temos

∂J[yi , h(x)]

∂h(x i )= h(x i )− yi

• Podemos interpretar os resıduos como o negativo do gradiente

Resıduos = yi − h(x i ) = −∂J[yi , h(x)]

∂h(x i )

Resıduo ⇔ Negativo do gradienteAtualizar h(x i ) com o resıduo ⇔ Atualizar h(x i ) com o negativo do gradiente

18

Page 19: Gradiente descendente - UFPRcursos.leg.ufpr.br/ML4all/slides/Gradiente_descendente.pdf · Universidade Federal do Paran a Laborat orio de Estat stica e Geoinforma˘c~ao - LEG Gradiente

Gradiente boosting

Resıduo ⇔ Negativo do gradienteAtualizar h(x i ) com o resıduo ⇔ Atualizar h(x i ) com o negativo do gradiente

h(x i )(k+1) = h(x i )

(k) + Resıduo

h(x i )(k+1) = h(x i )

(k) −∂J(yi , h(x))

∂h(x i )

Algoritmo: Escolha um chute inicial, h(x i )(0), e:

* Calcule −∂J(yi , h(x)(k))

∂h(x i )(k);

* Ajuste um modelo de regressao g(x i )(k) baseado no negativo do gradiente, e faca:

h(x i )(k+1) = h(x i )

(k) + ρg(x i )(k), k = 0, 1, . . .

pare quando atingir convergencia.

19

Page 20: Gradiente descendente - UFPRcursos.leg.ufpr.br/ML4all/slides/Gradiente_descendente.pdf · Universidade Federal do Paran a Laborat orio de Estat stica e Geoinforma˘c~ao - LEG Gradiente

Outras funcoes perda

• Soma dos desvios absolutos (SDA)

J[yi , h(x)] =1

n

n∑i=1

|yi − h(x i )|

− ∂J[yi , h(x)]

∂h(x i )= sign[yi − h(x i )] =

{1, se |yi − h(x i )| < 0,

−1, se |yi − h(x i )| > 0

• Huber-M cost

J[yi , h(x)] =1

n

n∑i=1

{12[yi − h(x i )]2, para |y − h(x i )| ≤ δ,δ |yi − h(x i )| − 1

2δ2, caso contrario.

− ∂J[yi , h(x)]

∂h(x i )=

{yi − h(x i ), se |yi − h(x i )| ≤ δ,δsign[yi − h(x i )], caso contrario.

• Para mais detalhes, veja Greedy Function Approximation: A Gradient Boosting Machine

20

Page 21: Gradiente descendente - UFPRcursos.leg.ufpr.br/ML4all/slides/Gradiente_descendente.pdf · Universidade Federal do Paran a Laborat orio de Estat stica e Geoinforma˘c~ao - LEG Gradiente

XGBoost (Extreme Gradient Boosting)

21

Page 22: Gradiente descendente - UFPRcursos.leg.ufpr.br/ML4all/slides/Gradiente_descendente.pdf · Universidade Federal do Paran a Laborat orio de Estat stica e Geoinforma˘c~ao - LEG Gradiente

XGBoost (Extreme Gradient Boosting)

Modelos de Regressao Extreme Gradient Boosting

• XGBoost e o algoritmo mais popular de ML atualmente. Desde a suacriacao, em 2014, tornou-se o “true love”dos competidores do Kaggle;

22

Page 23: Gradiente descendente - UFPRcursos.leg.ufpr.br/ML4all/slides/Gradiente_descendente.pdf · Universidade Federal do Paran a Laborat orio de Estat stica e Geoinforma˘c~ao - LEG Gradiente

XGBoost (Extreme Gradient Boosting)

• booster[default=gbtree]

? Determina o tipo de booster (gbtree, gblinear ou dart).

• nrounds[default=100]

? Controla o numero de iteracoes. Para classificacao, e similar aonumero de arvores.

• eta[default=0.3][range: (0,1)]

? Controla a taxa de aprendizado. Tipicamente, utilizamos valoresentre 0,01 e 0,3.

• max depth[default=6][range: (0,Inf)]

? Controla o tamanho de cada arvore. Geralmente, utilizamos arvoresmenores, para evitar o superajuste.

23

Page 24: Gradiente descendente - UFPRcursos.leg.ufpr.br/ML4all/slides/Gradiente_descendente.pdf · Universidade Federal do Paran a Laborat orio de Estat stica e Geoinforma˘c~ao - LEG Gradiente

XGBoost (Extreme Gradient Boosting)

• eval metric [no default, depends on objective selected]

? Metrica utilizada para avaliar o modelo.

• subsample[default=1][range: (0,1)]

? Controla o tamanho da amostra em cada arvore. Tipicamente, saovalores entre 0,5 e 0,8.

• colsample bytree[default=1][range: (0,1)]

? Controla o numero de variaveis apresentada a arvore. Tipicamente,sao valores entre 0,5 e 0,9.

• lambda[default=0]

? Controla o penalty `2 nos pesos (equivalente ao Ridge). Utilizadopara evitar superajuste.

24

Page 25: Gradiente descendente - UFPRcursos.leg.ufpr.br/ML4all/slides/Gradiente_descendente.pdf · Universidade Federal do Paran a Laborat orio de Estat stica e Geoinforma˘c~ao - LEG Gradiente

Referencias

• James, G., Witten, D., Hastie, T. e Tibshirani, An Introduction toStatistical Learning, 2013;

• Hastie, T., Tibshirani, R. e Friedman, J., The Elements of StatisticalLearning, 2009;

• Lantz, B., Machine Learning with R, Packt Publishing, 2013;

• Tan, Steinbach, and Kumar, Introduction to Data Mining,Addison-Wesley, 2005;

• Some of the figures in this presentation are taken from ”An Introductionto Statistical Learning, with applications in R”(Springer, 2013) withpermission from the authors: G. James, D. Witten, T. Hastie and R.Tibshirani

25