Adaboost A decision theoretic generalization of on-line learning and an application to boosting Journal of Computer and System Sciences, no. 55. 1997.

Slides:



Advertisements
Apresentações semelhantes
IFTO ESTRUTURA DE DADOS AULA 05 Prof. Manoel Campos da Silva Filho
Advertisements

Aprendizado de Máquina
UNICAMP Universidade Estadual de Campinas Centro Superior de Educação Tecnológica Divisão de Telecomunicações Propagação de Ondas e Antenas Prof.Dr. Leonardo.
Inversor Trifásicos com Três Pernas
Palestras, oficinas e outras atividades
Material pedagógico Multiplicar x 5 Clica!
Vamos contar D U De 10 até 69 Professor Vaz Nunes 1999 (Ovar-Portugal). Nenhuns direitos reservados, excepto para fins comerciais. Por favor, não coloque.
Introdução à Programação usando Processing Programação Gráfica 2D Animações Exercício Animações 14/10/09 Bruno C. de Paula 2º Semestre 2009 > PUCPR >
14/10/09 Uma animação possui: Início; Passo; Fim; 1.
Exercício do Tangram Tangram é um quebra-cabeças chinês no qual, usando 7 peças deve-se construir formas geométricas.
Redes Neurais Artificiais (RNA): Aprendizado
Nome : Resolve estas operações começando no centro de cada espiral. Nos rectângulos põe o resultado de cada operação. Comprova se no final.
Mineração de Dados Avaliação de Classificadores
1 INQUÉRITOS PEDAGÓGICOS 2º Semestre 2003/2004 ANÁLISE GERAL DOS RESULTADOS OBTIDOS 1.Nº de RESPOSTAS ao inquérito 2003/2004 = (42,8%) 2.Comparação.
Sumário Bem ou serviço compósito = dinheiro Exercícios 2 Exercícios 3.
Sumário, aula 9 Elasticidade Elasticidade arco Elasticidade no ponto
Curso de ADMINISTRAÇÃO
Aprendem a partir de seus vizinhos AULA 9 DATA MINING Sandra de Amo
Análise de regressão linear simples: abordagem matricial
Relações Adriano Joaquim de O Cruz ©2002 NCE/UFRJ
PERSPECTIVA CONCEITUAL
EXPRESSÕES ARITMÉTICAS
EXPRESSÕES ARITMÉTICAS
Rodrigo Geraldo Ribeiro Denis Pinto Pinheiro Camila Leles Rezende
FUNÇÃO MODULAR.
Aula 4 Nomes, Vinculações, Tipos e Escopos
EXEMPLOS DE ESTRUTURAS PROTENDIDAS
Questionário de Avaliação Institucional
SISTEMA DE CONTROLE DE REMANEJAMENTO E RESERVA TÉCNICA - SISCORT
Mecânica dos Sólidos não Linear
Classes e objetos P. O. O. Prof. Grace.
Técnica de Contagem.
Provas de Concursos Anteriores
APRESENTAÇÃO Está prevista a utilização de 6 aulas (6 blocos de 90 minutos) para o ensino do Subtema das Funções Quadráticas. Todas as aulas servirão.
ESTATÍSTICA.
Renda até 2 SM.
Hamburgo, Alemanha Definir o caminho que irá permitir a Lions Clubs International alcançar o seu potencial pleno como organização.
MECÂNICA - ESTÁTICA Cabos Cap. 7.
ESTATÍSTICA.
Aprendizado de Máquina Aula 8
MECÂNICA - DINÂMICA Exercícios Cap. 13, 14 e 17. TC027 - Mecânica Geral III - Dinâmica © 2013 Curotto, C.L. - UFPR 2 Problema
Aluno: Mário Monteiro Orientador: Sérgio Soares 1.
Resultantes de Sistemas de Forças Cap. 4
MECÂNICA - ESTÁTICA Vetores Forças Cap. 2.
Oferta e Demanda A Curva de Oferta
Algoritmos Culturais.
1 António Arnaut Duarte. 2 Sumário: primeiros passos;primeiros passos formatar fundo;formatar fundo configurar apresentação;configurar apresentação animação.
Estruturas de Dados com Jogos
Estruturas de Dados com Jogos
Estruturas de Dados com Jogos
Lemas (Sudkamp)  .
Coordenação Geral de Ensino da Faculdade
Análise Fatorial Factor analysis.
Projeto Marcas que Eu Gosto 1 PROJETO MARCAS QUE EU GOSTO Estudos Quantitativo de Consumidores Janeiro / 2005.
Modelagem Estatística
EXERCÍCIOS PARA GUARDA-REDES
1 2 Observa ilustração. Cria um texto. Observa ilustração.
DIEGO RICARDO DE ARAUJO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO INSTITUTO DE CIÊNCIA EXATAS UNIVERSIDADE FEDERAL DE JUIZ DE FORA Seleção de Características.
SairPróximo Itens de Seleção Probabilidades e Combinatória Cálculo de Probabilidades. Regra de Laplace. ITENS DE SELEÇÃO DOS EXAMES NACIONAIS E TESTES.
SairPróximo Itens de Seleção Probabilidades e Combinatória Cálculo Combinatório. Problemas de Contagem. ITENS DE SELEÇÃO DOS EXAMES NACIONAIS E TESTES.
Estatística.
Estatística Aula 9 – 28/02/2011.
Redes Neuronais/Neurais/ Conexionistas Introdução
Trigonometria 19/11/2009.
1 Aplicações do Fecho Regular. 2 A interseção de uma linguagem livre de contexto e uma linguagem regular é uma linguagem livre de contexto livre de contexto.
Olhe fixamente para a Bruxa Nariguda
Máquina de Turing Universal
Caminhos da Cana Relatório e show de imagens Marcos Fava Neves Prof. FEA/USP Ribeirão Preto Purdue University (2013)
Técnicas de Localização para Robôs em Ambientes Internos Claudia Patricia Ochoa Díaz Mestrado em Sistemas Mecatrônicos UnB
Combinação de Preditores utilizando o Coeficiente de Correlação aplicado aos Problemas de Regressão Resumo Este trabalho apresenta um algoritmo de Boosting.
Transcrição da apresentação:

Adaboost A decision theoretic generalization of on-line learning and an application to boosting Journal of Computer and System Sciences, no. 55. 1997 Yoav Freund & Robert Schapire Irineu Júnior Pinheiro dos Santos Mirela Ferreira César Roberto Ribeiro Castro Menezes

Sumário Introdução Boosting Adaboost Conclusões Ensemble Methods Exemplos Conclusões

Introdução - Ensemble Methods Reúne a predição de múltiplos classificadores em um único classificador; Constrói um conjunto de classificadores base a partir de um conjunto de treinamento; Realiza a classificação a partir de um sistema de votação, constituído a partir do resultado de classificação de cada algoritmo base.

Introdução - Ensemble Methods Dados originais de treinamento D Passo 1: Criar múltiplos conjuntos de dados D1 D2 D3 Dt ... Passo 2: Construir múltiplos classificadores h1 h2 h3 ht ... Passo 3: Combinar classificadores H*

Ensemble Methods Como um Ensemble method pode melhorar a performance em comparação a um único classificador? 1 classificador Base → Error rate = 0,35 25 classificadores Base → Error rate = 0,06

Ensemble Methods Considerando 25 classificadores base: iguais Com taxa de erro de cada c. base ε = 0.35 Tx erro ensemble ε = 0.35 Ensemble vai classificar incorretamente se o base classificar incorretamente

Ensemble Methods Considerando 25 classificadores base: Diferentes Ensemble classifica erroneamente somente se mais da metade dos classificadores base predizem erroneamente. Tx Erro ensemble:

Ensemble Methods

Ensemble Methods Métodos para construção de um classificador Ensemble: Manipulação de Conjunto de testes Bagging e Boosting Manipulação das características de entrada Random Forest Manipulação do rótulo de classes Manipulação do algoritmo de aprendizado

Ensemble Methods Métodos para construção de um classificador Ensemble: Manipulação de Conjunto de testes Bagging e Boosting Manipulação das características de entrada Random Forest Manipulação do rótulo de classes Manipulação do algoritmo de aprendizado

Ensemble Methods Algoritmo geral do E.M. for i = 1 to k do Sendo: D o conjunto de dados de treinamento originais K o número de classificadores base T os dados de teste for i = 1 to k do crie conjunto de treino Di a partir de D Construa um classificador hi a partir de D End for para cada registro de teste x Є T C*(x) = Voto(h1(x),h2(x),...,hk(x)) fim para

Ensemble Methods Considerações: O tamanho dos dados de treino é igual entre os algoritmos Base, mas a distribuição destes dados não necessariamente; E.M. funcionam melhor em classificadores base instáveis: Classificadores sensíveis a pequenas perturbações no conjunto de treinamento: Arvores de decisão; Redes Neurais; Classificadores baseado em regras; Agregando muitos classificadores podem ajudar a reduzir tais erros.

Boosting Boosting é um procedimento iterativo utilizado adaptativamente para alterar a distribuição de exemplos de treinamento tal que os classificadores base foquem nos exemplos que são difíceis de classificar.

Boosting Atribui peso para cada exemplo de treinamento e pode adaptativamente alterar o peso no final de cada iteração do boosting.

Boosting O peso atribuído para o exemplo de treinamento pode ser usado das seguintes formas: Pode ser usado como distribuição de amostragem para traçar uma faixa inicial (bootstrap) do conjunto de amostras dos dados originais. Pode ser usado pelo classificador base para aprender um modelo que atribui alto peso nos exemplos de difícil classificação.

Boosting Inicialmente são distribuídos pesos iguais (1/N) e possuem as mesmas chances de serem escolhidos para o treinamento. Iterativamente: Gera um classificador usando a atual distribuição dos exemplos. A distribuição é dada pelos pesos. Os pesos do exemplo de treinamento são atualizados no final de cada iteração. Exemplos que são classificados incorretamente terão seus pesos aumentados e os que são classificados corretamente terão seus pesos diminuídos.

Boosting ω1 ω2 ω3 α1 α2 α3 αt ω = peso dos exemplos Dados originais de treinamento ... D1 D2 D3 Dt ω1 ω2 ω3 h1 h2 h3 ht α1 α2 α3 αt ω = peso dos exemplos H* α = importância do class.

Boosting - Exemplo Supondo que o exemplo 4 seja difícil de classificar. O peso para este exemplo será aumentado nas futuras iterações e é classificado de forma errada repetidamente. Boosting (Iteração 1) 7 3 2 8 9 4 10 6 Boosting (Iteração 2) 5 1 Boosting (Iteração 3)

Boosting - Exemplo Exemplos que não foram escolhidos na iteração anterior tem mais chances de serem selecionados na próxima iteração (1 e 5). À medida que as iterações avançam, os exemplos mais difíceis de classificar tendem a tornar-se mais prevalentes. Boosting (Iteração 1) 7 3 2 8 9 4 10 6 Boosting (Iteração 2) 5 1 Boosting (Iteração 3)

Boosting O ensemble final é obtido através da agregação de classificadores a partir de cada iteração do boosting.

Boosting Várias implementações do algoritmo de boosting tem sido desenvolvidas e diferem entre si em termos de: Como os pesos do exemplo de treinamento são atualizados no final de cada iteração e; Como as previsões feitas por cada classificador são combinadas.

AdaBoost AdaBoost (Adaptative Boost) é um algoritmo que utiliza Boosting como método de aprendizagem; A partir da combinação de vários classificadores com acurácia baixa (hipóteses fracas), uma regra de predição para um classificador com acurácia mais alta (hipótese forte) é produzida;

AdaBoost Seja {(xi,yi) | i = 1,2,...,N} um conjunto de N exemplos de treinamento, onde yi é o rótulo de classe associado com a instância xi; xi ϵ R yi ϵ {natural,plastic} ou yi ϵ {+1,-1}

AdaBoost – Taxa de Erro Dado um classificador aplicado ao conjunto de treinamento, é necessário estimar a taxa de erro da classificação realizada; A a taxa de erro de uma hipótese (classificador) hf (fraco) é dada por:

AdaBoost – Importância de ht A importância de um classificador fraco ht, onde t é o índice de iteração, é dado pelo seguinte parâmetro:

AdaBoost – ε x α Com isso é possível observar que quanto menor a taxa de erro, maior é a importância atribuída ao classificador.

AdaBoost – Cálculo de ε e α Taxa de erro (ε): 2/11 = 0,18 Importância (α): ½*LN(1-0,18/0,18) 0,75

AdaBoost - Pesos Usa-se o parâmetro αt para atualizar os pesos dos exemplos de treinamento. Considerando ωi(t) o peso atribuído ao exemplo (xi,yi) na iteração t, temos: Onde Zt é o fator de normalização usado para assegurar que o somatório dos pesos seja 1.

AdaBoost - Pesos A partir dessa fórmula então é realizado a atualização dos pesos: Registros classificados corretamente: peso diminui; Registros classificados erroneamente: peso aumenta;

AdaBoost – Pesos em (t=1) ωi(t=0) = 1/11 = 0,091 Corretos (ht(xi)=yi): ωi(t=1) = 0,091*exp-0,75 0,091*0,047 = 0,043 Incorretos (ht(xi)≠yi): ωi(t=1) = 0,091*exp0,75 0,091*2,117 = 0,193

AdaBoost - Normalização Após o cálculo dos pesos, é necessário normalizá-los para que sua soma seja exatamente 1; (0,043 * 9) + (0,193 * 2) = 0,387 + 0,386 = 0,773 Corretos: 0,043/0,773 = 0,056 Incorretos: 0,193/0,773 = 0,248

AdaBoost – Ensemble O resultado final do algoritmo se baseia na junção dos resultados obtidos pelos classificadores fracos, ponderada pelo peso calculado de cada um deles;

AdaBoost - Algoritmo Inicializa o peso para todos os N exemplos Seja t o número de iterações Para i = 1 a t faça: Criar conjunto de treinamento Di pela amostragem de D de acordo com o peso; Treinar um classificador base ht sobre Di; Aplicar ht para todos os exemplos no conjunto de treinamento original D; Calcular a taxa de erro de ht (ε); Se a taxa de erro for maior que 50% então: Reinicializa os pesos para todos os N exemplos; Vai para o passo 3.1; Calcular a importância do classificador (α); Calcular o novo peso para cada exemplo (ω); Constrói o classificador final (forte) ponderando as importâncias (α) de cada classificador fraco;

AdaBoost – Exemplo 1 Conjunto de Treinamento: 10 pontos (representados por sinais de mais e menos) Status original: Peso igual para todas as amostras de treinamento (1/10)

AdaBoost – Exemplo 1 Iteração 1: Três sinais de mais são classificados incorretamente; Os pesos para esses três sinais são aumentados (boosted);

AdaBoost – Exemplo 1 Iteração 2: Três sinais de menos são classificados incorretamente; Os pesos para esses três sinais são aumentados (boosted);

AdaBoost – Exemplo 1 Iteração 3: Um sinal de menos e três de mais são classificados incorretamente; Os pesos para esses três sinais são aumentados (boosted);

AdaBoost – Exemplo 1 Classificador final: Integra os três classificadores fracos e obtém um classificar final forte.

AdaBoost – Exemplo 2 Maçãs naturais x Maçãs de Plástico Como classificar?

AdaBoost – Exemplo 2 1ª hipótese: Classificador fraco; Corta no eixo X;

AdaBoost – Exemplo 2 Recalcula os pesos para os elementos de treinamento.

AdaBoost – Exemplo 2 2ª hipótese: Corta no eixo Y.

AdaBoost – Exemplo 2 Recalcula os pesos

AdaBoost – Exemplo 2 3ª hipótese.

AdaBoost – Exemplo 2 Recalcula os pesos; 4ª hipótese

AdaBoost – Exemplo 2 Combinação das hipóteses.

AdaBoost – Comparação

AdaBoost – Conclusões Vantagens: Algoritmo simples e fácil de implementar; Flexível para se combinar com os vários algoritmos base de aprendizagem disponíveis; Como o algoritmo se foca nos exemplos difíceis de classificar, a identificação correta de ruídos é bem tratada;

AdaBoost – Conclusões Desvantagens: Dependente da boa escolha do algoritmos base de aprendizagem (Weak Learners), pois se esses tiverem má performance no geral, o classificador resultante do AdaBoost tende a ser pior, de forma exponencial; Quando a quantidade de ruído é alta, a performance do algoritmo tende-se a degradar, devido aos classificadores base terem altas taxa de erro.