Gradiente descendente

Documentos relacionados
Métodos baseados em árvores

Regressão Linear. Prof. Dr. Leandro Balby Marinho. Análise de Dados II. Introdução Regressão Linear Regressão Múltipla

Profs.: Eduardo Vargas Ferreira Walmes Marques Zeviani

Método dos gradientes (ou método de máxima descida)

Capítulo 5 - Optimização Não-Linear

Profs.: Eduardo Vargas Ferreira Walmes Marques Zeviani

Redes Neurais e Sistemas Fuzzy

AULA 8 - MQO em regressão múltipla:

Análise de Regressão Prof. MSc. Danilo Scorzoni Ré FMU Estatística Aplicada

Modelo de Regressão Múltipla

Redes Neurais Artificiais

Resolução de sistemas de equações lineares: Método dos Gradientes Conjugados

Eduardo Vargas Ferreira

Ajuste de dados por mínimos quadrados

UNIVERSIDADE FEDERAL DO ABC. 1 Existência e unicidade de zeros; Métodos da bissecção e falsa posição

CEFET/RJ. Aprendizado de Máquina - Trabalho 01

Modelos de Regressão Linear Simples - parte III

Estatística e Matemática Aplicadas a Data Science. Diógenes Justo BM&FBOVESPA & Professor FIAP

Regressão Linear. Fabrício Olivetti de França. Universidade Federal do ABC

AULA 4 - MQO Simples: Propriedades algébricas e Estatísticas

Modelos de Regressão Múltipla - Parte I

Gabarito Trabalho 1. onde 1 refere-se ao salário quando a variável branco = 1. Teremos, então:

Algoritmos de Aprendizado. Formas de Aprendizado. Aprendizado Batch x Incremental. Aprendizado Batch x Incremental

Econometria I Lista 2: modelo de regressão linear clássico e regressão simples

O Algoritmo de Treinamento: Máquina de Aprendizado Extremo (Extreme Learning Machine - ELM)

Modelos Lineares Generalizados - Estimação em Modelos Lineares Generalizados

Cap. 13 Correlação e Regressão

Inteligência Artificial Redes Neurais

Considere a função f(x). Para algum x a f (x) pode não existir. Suponha que. Max f(x) s. a a x b

2. Redes Neurais Artificiais

Resolução de sistemas de equações lineares: Método do Gradiente

Redes Neurais. Prof. Aurora Pozo. Obs: slides baseados em Prof. Marcílio Souto e Prof. Marley Vellasco

Método de restrições ativas para minimização em caixas

AULAS 14 E 15 Modelo de regressão simples

Redes Neurais Artificiais

Algoritmos de Aprendizado. Formas de Aprendizado. Aprendizado Batch x Incremental. Aprendizado Batch x Incremental

4 Estado da Arte do Kernel PCA

3 Aprendizado por reforço

Filtro de Kalman. Teoria e Aplicação para Iniciantes. Prof. Dr. Marco Antonio Leonel Caetano. M&V Consultoria e Treinamento

ESTATÍSTICA COMPUTACIONAL

Modelos de Regressão Linear Simples - parte II

Ajuste de mínimos quadrados

AULA 10 - MQO em regressão múltipla: Propriedades Estatísticas (Variância)

Estrutura de Dados e Algoritmos

Redes Neurais Artificiais - Introdução. Visão Computacional

REGRESSÃO LINEAR Parte I. Flávia F. Feitosa

Modelos Lineares Generalizados - Verificação do Ajuste do Modelo

2. Redes Neurais Artificiais

Teorema de Aprox. Universal. Teorema de Aprox. Universal. Teorema de Aprox. Universal. Teorema de Aprox. Universal. Teorema de Aprox.

Método de Newton truncado

ESTATÍSTICA COMPUTACIONAL

Disciplina de Modelos Lineares

Métodos Numéricos e Estatísticos Parte II-Métodos Estatísticos

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

SCC0173 Mineração de Dados Biológicos

Regressão Linear. Fabrício Olivetti de França. Universidade Federal do ABC

6 Ajuste de mínimos quadrados

Departamento de Matemática da Universidade de Coimbra. Licenciatura em Matemática. e B =

Disciplina que estuda métodos analíticos para auxiliar na tomada de decisões.

Aprendizado por Reforço usando Aproximação

REGRESSÃO E CORRELAÇÃO

Introdução aos Métodos Numéricos

Transcrição:

Universidade Federal do Paraná Laboratório de Estatística e Geoinformação - LEG Gradiente descendente Eduardo Vargas Ferreira

Solução de quadrados mínimos Teorema: Seja X M n p (R), com n > p e posto(x ) = p. Definimos J : R p R da seguinte forma: J(β) = X β y, X β y ; β R p. Então, o Problema de Minimização: encontrar ˆβ R p tal que J( ˆβ) = min {J(β) ; β R p } é equivalente ao Sistema Normal X t X β = X t y. que resulta em ˆβ = ( X t X ) 1 X t y. 2

Método do Gradiente Descendente 3

Método do Gradiente Descendente O Gradiente Descendente (GD) é um método para encontrar o mínimo de uma função de forma iterativa: Algoritmo: Escolha um chute inicial, β (0) R p, repita: β (k+1) = β (k) α k J(β (k) ), k = 0, 1,... pare quando atingir convergência. 4

Taxa de aprendizagem α Taxa de aprendizagem controla o tamanho do passo em cada iteração; Selecionar o valor correto é crítico: Se tomarmos α pequeno, o método fica lento; Se α muito grande, o método diverge. 5

Exemplo simulado 1 Considere os dados simulados a partir do modelo: f (x i, θ) = θax i θ v + x i, com (θ a, θ v ) = (10, 2). 6

Exemplo simulado 1 O nosso interesse será encontrar os valores de θ, que minimize a função: RSS = n i=1 ( y i θax ) 2 i. θ v + x i 7

Exemplo simulado 1 Utilizamos os critérios de parada: θ (k+1) θ (k) < 0.0001 ou 10000 iterações. E a taxa de aprendizado, α, de 0,001. O algoritmo convergiu para os pontos (θ a, θ v ) = (10, 03; 2, 05), na iteração 2412. 8

Prós e contras do GD Ideia simples e cada iteração é barata; Garantia de convergência para o mínimo local; Com vários algoritmos de segunda ordem para acelerar sua convergência; Muito rápido para matrizes bem condicionadas e problemas fortemente convexos; χ Frequentemente é lento, pois problemas interessantes não são fortemente convexos ou bem condicionados; χ Não lida com funções não diferenciáveis (dica: use o método Subgradiente); χ Utiliza todos os dados de treinamento para estimar os parâmetros. Assim, para grandes bancos de dados, torna-se lento. 9

Gradiente Descendente Estocástico 10

Gradiente Descendente Estocástico (GDE) Considere o par (x i, y i ) amostrado do treinamento. A atualização dos parâmetros é dada por Algoritmo: Escolha um chute inicial, β (0) R p+1, repita: β (k+1) = β (k) α k J(β (k) ; x i, y i ), k = 0, 1,... pare quando atingir convergência. No GDE a taxa de aprendizagem, α, é, tipicamente, menor do que o GD (batch). Isso ocorre, pois temos uma maior variância nas atualizações; Métodos mais sofisticados incluem o uso de Backtracking line search ou Exact line search. 11

Exemplo simulado 1 (continuação) Como era de se esperar, o método Mini-Batch utiliza mais iterações para atingir a convergência. 12

Prós e contras do GDE Convergência mais rápida, especialmente com grandes bancos de dados ou dados redundantes, p. ex.: - Imagine que temos dados de treino de tamanho 100.000; - Mas na verdade são 100 cópias de 1000; - Ou seja, padrões parecidos, com mesmo efeito; - Batch será, pelo menos, 100 vezes mais devagar. A trajetória estocástica permite escapar de um mínimo local; χ Prova da convergência é probabiĺıstica; χ Muitos métodos de segunda ordem não funcionam. 13

Gradiente boosting 14

Lembrando do método boosting No exemplo abaixo, estamos avaliando a relação entre consumo de combustível e a potência do automóvel. mpg = β 0 + β 1 (cavalo vapor) + Resíduo n (y i ȳ) 2 i=1 } {{ } SQT = n (ŷ i ȳ) 2 i=1 } {{ } SQR + n (y i ŷ) 2 i=1 } {{ } SQE Milhas por galão 10 20 30 40 50 Linear Resíduos 15 10 5 0 5 10 15 20 Gráfico de resíduos para o ajuste linear 323 330 334 50 100 150 200 Cavalo-vapor 5 10 15 20 25 30 Valores ajustados 15

Lembrando do método boosting Resíduo = β 2 (cavalo vapor) 2 + Resíduo 2 Resíduos 15 10 5 0 5 10 15 20 Gráfico de resíduos para o ajuste linear 323 330 334 Milhas por galão 10 20 30 40 50 Linear Grau 2 5 10 15 20 25 30 Cavalo-vapor 50 100 150 200 Cavalo-vapor mpg = β 0 + β 1 (cavalo vapor) + β 2 (cavalo vapor) 2 }{{}}{{} Parte1 Parte2 + Resíduo 2 }{{} Atualizado 16

Lembrando do método boosting Considere o seguinte procedimento Y = h(x) + Resíduo (1) Se o Resíduo não 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

Como isto se relaciona com o Gradiente Queremos minimizar J[y i, h(x)] = 1 2n Derivando com relação a h(x i) temos J[y i, h(x)] h(x i) n [y i h(x i)] 2 i=1 = h(x i) y i Podemos interpretar os resíduos como o negativo do gradiente Resíduos = y i h(x i) = J[y i, h(x)] h(x i) Resíduo Negativo do gradiente Atualizar h(xi ) com o resíduo Atualizar h(xi ) com o negativo do gradiente 18

Gradiente boosting Resíduo Negativo do gradiente Atualizar h(xi ) com o resíduo Atualizar h(xi ) com o negativo do gradiente h(xi ) (k+1) = h(xi ) (k) + Resíduo h(xi ) (k+1) = h(xi ) (k) J(y i, h(x)) h(xi ) Algoritmo: Escolha um chute inicial, h(xi ) (0), e: * Calcule J(y i, h(x) (k) ) h(xi ) (k) ; * Ajuste um modelo de regressão g(xi ) (k) baseado no negativo do gradiente, e faça: pare quando atingir convergência. h(xi ) (k+1) = h(xi ) (k) + ρg(xi ) (k), k = 0, 1,... 19

Outras funções perda Soma dos desvios absolutos (SDA) J[y i, h(x)] = 1 n y i h(x i) n i=1 { J[y i, h(x)] 1, se y i h(x i) < 0, = sign[y i h(x i)] = h(x i) 1, se y i h(x i) > 0 Huber-M cost J[y i, h(x)] = 1 n J[y i, h(x)] h(x i) = n i=1 { 1 [y 2 i h(x i)] 2, para y h(x i) δ, δ y i h(x i) 1 2 δ2, caso contrário. { y i h(x i), se y i h(x i) δ, δsign[y i h(x i)], caso contrário. Para mais detalhes, veja Greedy Function Approximation: A Gradient Boosting Machine 20

XGBoost (Extreme Gradient Boosting) 21

XGBoost (Extreme Gradient Boosting) Modelos de Regressão Extreme Gradient Boosting XGBoost é o algoritmo mais popular de ML atualmente. Desde a sua criação, em 2014, tornou-se o true love dos competidores do Kaggle; 22

XGBoost (Extreme Gradient Boosting) booster[default=gbtree] Determina o tipo de booster (gbtree, gblinear ou dart). nrounds[default=100] Controla o número de iterações. Para classificação, é similar ao número de árvores. eta[default=0.3][range: (0,1)] Controla a taxa de aprendizado. Tipicamente, utilizamos valores entre 0,01 e 0,3. max depth[default=6][range: (0,Inf)] Controla o tamanho de cada árvore. Geralmente, utilizamos árvores menores, para evitar o superajuste. 23

XGBoost (Extreme Gradient Boosting) eval metric [no default, depends on objective selected] Métrica utilizada para avaliar o modelo. subsample[default=1][range: (0,1)] Controla o tamanho da amostra em cada árvore. Tipicamente, são valores entre 0,5 e 0,8. colsample bytree[default=1][range: (0,1)] Controla o número de variáveis apresentada à árvore. Tipicamente, são valores entre 0,5 e 0,9. lambda[default=0] Controla o penalty l 2 nos pesos (equivalente ao Ridge). Utilizado para evitar superajuste. 24

Referências James, G., Witten, D., Hastie, T. e Tibshirani, An Introduction to Statistical Learning, 2013; Hastie, T., Tibshirani, R. e Friedman, J., The Elements of Statistical Learning, 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 Introduction to Statistical Learning, with applications in R (Springer, 2013) with permission from the authors: G. James, D. Witten, T. Hastie and R. Tibshirani 25