Uma explicação intuitiva do algoritmo AdaBoost
Deixe-me aproveitar a excelente resposta de @ Randel com uma ilustração do seguinte ponto
- No Adaboost, as 'deficiências' são identificadas por pontos de dados de alto peso
Resumo do AdaBoost
Gm(x) m=1,2,...,M
G(x)=sign(α1G1(x)+α2G2(x)+...αMGM(x))=sign(∑m=1MαmGm(x))
AdaBoost em um exemplo de brinquedo
M=10
Visualizando a sequência de alunos fracos e os pesos da amostra
m=1,2...,6
Primeira iteração:
- O limite de decisão é muito simples (linear), pois são aprendizes fracos
- Todos os pontos são do mesmo tamanho, conforme o esperado
- 6 pontos azuis estão na região vermelha e são classificados incorretamente
Segunda iteração:
- O limite de decisão linear mudou
- Os pontos azuis previamente classificados incorretamente agora são maiores (maior peso_ amostral) e influenciaram o limite de decisão
- 9 pontos azuis agora são classificados incorretamente
Resultado final após 10 iterações
αm
([1.041, 0.875, 0.837, 0.781, 1.04, 0.938 ...
Como esperado, a primeira iteração tem o maior coeficiente, pois é a que apresenta menos classificações incorretas.
Próximos passos
Uma explicação intuitiva do aumento de gradiente - a ser concluída
Fontes e leituras adicionais: