You are on page 1of 4

Tpicos

Aprendizado de Mquina
Aula 4
http://www.ic.uff.br/~bianca/aa/

1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.

Introduo Cap. 1 (16/03) Classificao Indutiva Cap. 2 (23/03) rvores de Deciso Cap. 3 (30/03) Ensembles - Artigo (13/04) Avaliao Experimental Cap. 5 (20/04) Teoria do Aprendizado Cap. 7 (27/04) Aprendizado de Regras Cap. 10 (04/05) Redes Neurais Cap. 4 (11/05) Mquinas de Vetor de Suporte Artigo (18/05) Aprendizado Bayesiano Cap. 6 e novo cap. online (25/05) Aprendizado Baseado em Instncias Cap. 8 (01/05) Classificao de Textos Artigo (08/06) Aprendizado No-Supervisionado Artigo (15/06)

Aula 4 - 13/04/2010

Aula 4 - 13/04/2010

Aprendizado por agrupamento


(Russell & Norvig 18.4, Hastie & Tibshirani 8.7) Aprendizado por agrupamento = Ensemble learning (ensemble = junto em francs). Os mtodos tradicionais de aprendizado, selecionam uma nica hiptese, escolhida de um espao de hipteses.
Ex.: Escolhe-se a menor rvore de deciso que seja consistente com os dados.

Aprendizado de Agrupamentos
Aprende-se mltiplas definies de um conceito usando dados de treinamento diferentes OU algoritmos diferentes. Combinam-se as decises, por exemplo, usando votao. Training Data Data1 Data2

Data m

Os mtodos de aprendizado por agrupamento selecionam uma coleo de hipteses e combinam as suas previses.
Ex.: Gera-se 100 rvores de deciso diferentes que votam na melhor classificao.
Aula 4 - 13/04/2010 3

Learner1 Model1

Learner2 Model2

Learner m Model m Final Model


4

Model Combiner
Aula 4 - 13/04/2010

Motivao para o Agrupamento


Quando combinamos decises independentes e diferentes sendo que cada uma mais precisa do que um chute, erros aleatrios se cancelam e decises corretas so reforadas. Agrupamentos humanos
Quem quer ser um milionrio?: Ajuda do amigo vs. voto da plateia.
Aula 4 - 13/04/2010 5

Motivao para o Agrupamento


Exemplo:
Considere um conjunto de k=5 hipteses. Suponha que combinamos suas previses usando maioria simples. Para o conjunto classificar o exemplo de modo incorreto, 3 das 5 hipteses devem estar incorretas.

Supondo que cada hiptese hi tem uma taxa de erro p e que os erros sejam independentes, com k hipteses o erro ser p|k/2|+1.
Se p=0.1 e k=5, a nova taxa de erro ser 0.001.

Na prtica, os erros no sero totalmente independentes, pois as hipteses sero obtidas usando os mesmos dados.
Mesmo assim, se as hipteses forem ao menos um pouco diferentes, reduzindo a correlao dos erros, o agrupamento diminui a taxa de erros.
Aula 4 - 13/04/2010 6

Bagging
Bagging = Bootstrap Agreggating Um dos mtodos de agrupamento mais simples.
Criado por Leo Breiman em 1996. Baseia-se na criao de bootstraps = amostras diferentes da base de dados que so usadas para aprender hipteses diferentes. A previso final para um exemplo de teste a mdia da previso de cada hiptese. Pode ser usado tanto para classificao quanto para regresso.
No caso de classificao, mdia equivalente a maioria.

Bootstrap
Dada uma base de treinamento T com n exemplos, geramos k novas bases Tk tambm com n exemplos cada atravs de amostragem com reposio. Para gerar cada Tk, sorteamos um nmero de 1 a n, n vezes, e a cada vez adicionamos o exemplo T[n] a Tk . Como resultado, cada base Tk ter aproximadamente 66% dos exemplos de T, com duplicatas.
Aula 4 - 13/04/2010 8

Funciona muito bem na prtica, para alguns algoritmos de aprendizado.


Aula 4 - 13/04/2010 7

Bagging
Bootstrap

Quando Bagging funciona?


H1
Mdia

T1

Algoritmo de Aprendizado

T2

Algoritmo de Aprendizado

H2

Um fator crtico para que o Bagging funcione a instabilidade do algoritmo de aprendizado. Se pequenas mudanas na base de treinamento T provocarem grandes mudanas na hiptese H gerada, dizemos que o algoritmo de aprendizado instvel.
Ex: rvores de deciso e redes neurais.

Caso contrrio, ele estvel.


Ex.: k-NN, regresso linear.
Algoritmo de Aprendizado
Aula 4 - 13/04/2010

Tk

Hk
9

Bagging funciona melhor quanto maior for a instabilidade do algoritmo.


Aula 4 - 13/04/2010 10

Desvantagens de Bagging
Perde-se na interpretao.
Em vez de uma nica hiptese, temos uma combinao, que mais difcil de ser entendida. Por exemplo, uma combinao de rvores de deciso no pode ser transformada numa nica rvore.

Observaes sobre Bagging


Conforme adicionamos mais hipteses, mais devagar cai a taxa de erro, at que ela se estabiliza. Tirar a mdia das estimativas de probabilidade melhor do que tirar a mdia das previses. Em rvores de deciso, a poda aumenta a estabilidade.
Logo bagging funciona melhor sem a poda (pruning).
Figura de Bauer e Kohavi, 1999.

Tem um custo computacional adicional. S funciona quando o algoritmo instvel.


Aula 4 - 13/04/2010 11

Aula 4 - 13/04/2010

12

Alguns resultados (Maclin, 1997)

Boosting
A idia do algoritmo de agrupamento Boosting (tambm chamado de acelerao) construir hipteses sucessivas, de tal modo que exemplos classificados incorretamente por hipteses anteriores sejam melhor classificados por hipteses seguintes. Desenvolvido em 1996 por Freund e Schapire.

Aula 4 - 13/04/2010

13

Aula 4 - 13/04/2010

14

Requerimentos para o boosting


Serve apenas para classificao. Supe que o algoritmo de aprendizado utilizado trabalhe com conjuntos de treinamento ponderados. Cada exemplo tem um peso associado wj 0.
Quanto mais alto o peso de um exemplo, mais alta deve ser importncia dada a ele pelo algoritmo (parecido com aprendizado sensvel a custos).

A idia geral de boosting


Boosting comea com wj = 1 para todos os exemplos da base. A partir desse conjunto, ele gera a primeira hiptese, H1.
Essa hiptese classificar alguns dos exemplos de treinamento corretamente e outros incorretamente.

Algoritmos com Naive Bayes e rvores de deciso podem ser facilmente modificados para incorporar pesos. Caso no seja possvel incorpor-los pode-se usar amostragem de acordo com os pesos.
Aula 4 - 13/04/2010 15

Para que a prxima hiptese classifique melhor os exemplos incorretamente classificados, aumentamos os seus pesos, diminuindo o peso daqueles corretamente classificados. A partir desse novo conjunto de treinamento com pesos, geramos a hiptese H2. O processo continua at que sejam geradas k hipteses. Existem muitas variaes de boosting dependendo de como os pesos so atribudos e de como as hipteses so combinadas.
A mais conhecida o AdaBoost.

Aula 4 - 13/04/2010

16

A idia geral de boosting

AdaBoost

Aula 4 - 13/04/2010

17

Aula 4 - 13/04/2010

18

Propriedades do AdaBoost
Se o algoritmo de aprendizado utilizado garante aprendizagem fraca, ento o AdaBoost retornar uma hiptese que classifica perfeitamente os dados de treinamento. Aprendizagem fraca: melhor do que classificar os dados aleatoriamente. Esse resultado vlido independentemente do espao de hipteses original e da complexidade da funo que est sendo aprendida.
Aula 4 - 13/04/2010 19

Desvantagens do AdaBoost
Ao contrrio de bagging, h o risco de super-ajuste (over-fitting).
Principalmente em casos onde h muito rudo na base de dados. Caso haja erros de classificao nos dados de treinamento, boosting vai colocar muito peso nesses dados.

Aula 4 - 13/04/2010

20

Alguns resultados (Maclin, 1997)

Aula 4 - 13/04/2010

21

You might also like