Uma árvore de classificação prevê um rótulo. Uma árvore de regressão prevê um
número. O surpreendente é como uma parte tão pequena do procedimento precisa mudar.
FundamentalNão exige conhecimento prévio de aprendizado de máquina2 conjuntos de dados trabalhados3 experimentos interativos
Recapitulação
O procedimento que já temos
No Capítulo 1, inventamos um procedimento capaz de encontrar repetidamente
perguntas úteis e separar dados em regiões significativas. Essas regiões podiam
então prever uma classe para uma linha nova que ainda não tínhamos visto.
A criação da árvore envolvia três passos simples:
Propor uma divisão.
Avaliar os dois grupos que ela cria.
Repetir dentro dos novos grupos.
Essa ideia é poderosa, mas nossa primeira árvore era pequena de propósito.
Algoritmos reais baseados em árvores também precisam lidar com dados ausentes,
diferentes tipos de características de entrada, conjuntos de dados muito grandes
e o risco de crescer demais. Abordaremos esses problemas um de cada vez nos
próximos capítulos.
Por enquanto, vamos mudar o tipo de previsão que a árvore faz: em vez de uma
classe, queremos um número.
Uma nova previsão
Da classificação à regressão
No aprendizado de máquina supervisionado, duas tarefas comuns de previsão são
classificação e regressão.
A classificação escolhe entre um conjunto de rótulos. Prever se uma semente terá
dificuldade ou crescerá bem a partir da água e da luz solar que recebe é uma
classificação: a resposta é uma de duas classes nomeadas.
Prever a temperatura média de amanhã é diferente. A resposta pode ser 18,2 °C,
18,3 °C ou outro número entre esses valores. Isso é regressão.
Uma forma compacta de lembrar a diferença é:
A classificação atribui um rótulo a uma linha.
A regressão atribui um número a uma linha.
Na lição anterior, usamos a impureza de Gini para avaliar uma divisão. Gini foi
feita para classes: mede quanto os rótulos de classe estão misturados dentro de
um grupo. Quando nosso alvo é um número contínuo, não há classes para Gini contar.
A boa notícia é que não precisamos inventar a árvore novamente. Podemos trocar a
forma de avaliar uma divisão e manter o mesmo loop central: propor, avaliar, repetir.
A nova pontuação
Como avaliar uma divisão de regressão?
Em um pequeno exemplo de classificação, muitas vezes conseguimos enxergar uma
separação útil. Coloque duas características em dois eixos, desenhe uma classe
como círculos e outra como quadrados, e uma linha divisória clara pode aparecer.
Para regressão, vamos usar um exemplo simples também. Imagine que queremos prever
a produtividade de uma plantação a partir da quantidade de fertilizante usada em
um hectare.
Com pouco fertilizante, faltam nutrientes às plantas, então a produtividade é baixa.
Com uma quantidade moderada, os nutrientes se aproximam do nível adequado, então a produtividade é alta.
Com fertilizante demais, raízes danificadas ou desequilíbrio de nutrientes podem reduzir a produtividade novamente.
Isso produz um padrão em forma de colina, embora os dois lados não precisem ser
perfeitamente simétricos.
Linha
Fertilizante (kg/hectare)
Produtividade (toneladas/hectare)
A
0
1,5
B
20
2,4
C
40
3,8
D
60
5,1
E
80
5,7
F
100
5,4
G
120
4,8
H
140
4,2
I
160
3,7
Uma característica de entrada, fertilizante, e um alvo numérico,
produtividade da plantação. A árvore só pode dividir entre valores vizinhos
de fertilizante.
Alice e Bob estão tentando construir um modelo com esses dados. Alice se lembra
do primeiro artigo e começa a explorar limiares. Bob toma um atalho: usa a
produtividade média como todas as previsões.
A previsão de Bob é de aproximadamente 4,07 toneladas por hectare. Ela não é
absurda. Fica perto do centro das produtividades observadas, então oferece uma
referência útil: antes de acrescentar uma divisão, Alice consegue superar uma
única previsão para todo mundo?
Para responder, Bob mede a distância de cada produtividade observada até 4,07.
Algumas distâncias são positivas e outras negativas; somá-las diretamente faria
com que se anulassem. Ele eleva cada distância ao quadrado e depois soma os resultados.
Uma previsão para todas as linhasȳ = 4,07Erro quadrático totalΣ(yᵢ − ȳ)² = 15,64
Divida 15,64 pelas nove linhas e obtemos uma variância de aproximadamente
1,738. O total e a variância contam a mesma história aqui; o total é nove vezes maior.
Como Bob prevê a média, essa distância quadrática média também é a variância
dos valores-alvo. Uma variância menor significa que os valores ficam mais próximos
da média, portanto a média é uma previsão melhor para esse grupo.
Alice percebe algo interessante. Se posicionar um limiar em 50 kg/ha, no ponto
médio entre 40 e 60, as linhas de cada lado podem usar sua própria média. Juntos,
os dois grupos têm erro quadrático total de 5,515, muito menor que os 15,64 de Bob.
Isso oferece a nova regra de avaliação:
O conjunto de fertilizante dividido em 50 quilogramas por hectare
Linha
Fertilizante
Produtividade
A
0 kg/ha
1.5 t/ha
B
20 kg/ha
2.4 t/ha
C
40 kg/ha
3.8 t/ha
D
60 kg/ha
5.1 t/ha
E
80 kg/ha
5.7 t/ha
F
100 kg/ha
5.4 t/ha
G
120 kg/ha
4.8 t/ha
H
140 kg/ha
4.2 t/ha
I
160 kg/ha
3.7 t/ha
Variância
Antes · todas as linhas
1.738
Depois · divisão em 50 kg/ha
Linhas A–C
0.896
Linhas D–I
0.471
Os dois novos grupos variam menos em torno da própria média do que as nove linhas variavam em torno da única média de Bob.
Teste todos os limiares de ponto médio e mantenha aquele cujos dois grupos deixam
o menor erro quadrático total.
Para uma divisão candidata, o cálculo é:
erro da divisão = Σi∈E(yᵢ − ȳE)² + Σi∈D(yᵢ − ȳD)²
A primeira soma mede os erros em torno da média do grupo esquerdo. A segunda faz o
mesmo para o grupo direito. Nós as somamos porque os dois grupos fazem parte do
modelo. De forma equivalente, podemos multiplicar a variância de cada grupo por
seu número de linhas e somar os dois resultados.
Antes de executar o experimento, preveja onde aparecerá o ponto mais baixo do
gráfico de erro da divisão. O limiar 50 já é melhor do que nenhuma divisão, mas
será o melhor entre as oito opções?
Experimento 1 · avalie cada divisão
Percorra os limiares de fertilizante
1 de 8 limiares testados
Limiar atual: fertilizante menor ou igual a 10 quilogramas por hectare. Erro da divisão 8.229.
Dados e previsões dos dois grupos
Esquerda · 1 linhamédia 1.5 t/havariância 0
Direita · 8 linhasmédia 4.39 t/havariância 1.029
erro da divisão1 × 0+8 × 1.029=8.229
Erro da divisão nos limiares testados
Erro da divisãomenor é melhor
Menor erro até agorafertilizante ≤ 10 kg/haerro da divisão 8.229 · melhoria 7.411
Ao executar a varredura completa, o melhor primeiro limiar é 30 kg/ha. O grupo
esquerdo prevê 1,95 tonelada/ha, o direito prevê aproximadamente 4,67 toneladas/ha,
e o erro quadrático combinado é de aproximadamente 4,119.
Essa é a mesma busca que usamos na classificação. Ainda testamos os pontos médios
um a um e guardamos o melhor resultado. Só a pontuação mudou: em vez de procurar
menos mistura de classes, procuramos menos erro quadrático de previsão.
O valor da folha
Mas qual é a previsão?
Agora sabemos escolher uma divisão de regressão, mas ainda precisamos de uma
previsão para cada grupo resultante.
O ajuste é pequeno: calcule a média dentro de cada folha.
uma pergunta aprendidafertilizante ≤ 30 kg/ha?
sim · folha esquerda
A1.5B2.4
(1.5 + 2.4) ÷ 2
previsão 1,95 t/hanão · folha direita
C3.8D5.1E5.7F5.4G4.8H4.2I3.7
(3.8 + 5.1 + 5.7 + 5.4 + 4.8 + 4.2 + 3.7) ÷ 7
previsão 4,67 t/ha
Uma folha de regressão armazena uma previsão: o valor-alvo médio das linhas de treino que chegam até ela.
Se pararmos o modelo de Alice após a primeira divisão, quantidades de fertilizante
menores ou iguais a 30 kg/ha recebem a média esquerda, 1,95 tonelada/ha. Quantidades
maiores recebem a média direita, cerca de 4,67 toneladas/ha. Essas estimativas são
melhores para os dados de treino do que o único valor 4,07 de Bob, pois a divisão
reduziu o erro quadrático total.
A média não é uma escolha arbitrária. Entre todas as previsões de um único número
para um grupo, a média é a que produz o menor erro quadrático. Como escolhemos o
erro quadrático como pontuação, a média e a pontuação pertencem uma à outra.
Tamanho da árvore
Mas quando a árvore deve parar?
Em nosso primeiro exemplo de classificação, paramos quando cada folha ficou pura:
todas as linhas de uma folha tinham a mesma classe.
A regressão não tem classes para tornar puras. Com um conjunto de dados finito, a
árvore não crescerá literalmente para sempre, mas pode continuar dividindo até
quase toda folha conter uma única linha de treino. Suas previsões então copiam os
dados de treino de perto e podem funcionar mal em dados novos.
Por isso, damos uma regra de parada à árvore. Algumas escolhas comuns são:
Profundidade máxima: pare depois de um número fixo de perguntas aninhadas.
Mínimo de linhas por folha: rejeite divisões que criem grupos pequenos demais.
Variância suficientemente pequena: pare quando os valores-alvo de um grupo já estiverem próximos.
Melhoria mínima: divida somente quando o erro cair por uma quantidade relevante.
Todas essas regras fazem a mesma troca. Uma árvore menor oferece previsões mais
aproximadas e estáveis. Uma árvore maior acompanha os dados de treino mais de perto.
No próximo experimento, mude uma regra de parada por vez e preveja quantas folhas
de previsão a árvore criará.
Experimento 2 · escolha quando parar
Veja a mesma busca formar uma árvore de regressão
0 de 5 decisões tomadas
Profundidade máxima da árvore. Pare depois que a árvore fizer um número fixo de perguntas aninhadas.
Propor uma divisãoteste cada limiar do grupo
Avaliar os dois gruposmantenha a divisão somente se ela reduzir o erro
Repetir dentro de cada grupouse recursão até uma regra de parada ser atendida
Passo 1 de 5Propor e avaliar — a melhor divisão vence.
Neste grupo (9 linhas, média 4.07 t/ha), a busca testou todos os limiares. O melhor é fertilizante ≤ 30, que reduz o erro quadrático em 11.521. Aceitamos a divisão e repetimos a mesma busca nos dois grupos menores.
Regiões se tornam previsões fixas
0–160 kg/ha · 9 linhasprevisão 4.07 t/ha
Cada vencedora local se torna uma pergunta
avaliando este grupo9 linhasA B C D E F G H I · variância 1.738
Além de uma coluna
Mais características, os mesmos dois loops
Nosso exemplo de fertilizante usou uma característica para que pudéssemos enxergar
a nova pontuação de regressão sem mudar mais nada. Uma tabela real normalmente dá
à árvore mais de uma coluna possível para perguntar.
Volte à estufa, agora com doze canteiros. Para cada um, sabemos a temperatura, a
água fornecida por semana, a luz solar por dia e a produtividade que queremos
prever. O alvo continua sendo um número. Só cresceu o número de perguntas possíveis.
A busca precisa de dois loops:
Para cada característica, escolha uma coluna.
Para cada ponto médio entre valores distintos dessa coluna, meça o erro da divisão.
A árvore guarda a candidata com menor erro nos dois loops. Depois, a recursão envia
cada novo grupo pela mesma busca outra vez.
A temperatura tem 11 intervalos distintos, a água tem 9 e a luz solar tem 7; assim,
a raiz compara 27 candidatas no total. Valores repetidos não criam um limiar
extra porque não podem ser separados por um ponto médio.
Antes de selecionar uma característica abaixo, faça uma previsão: qual coluna pode
criar a primeira divisão com menor erro? Os pontos mantêm o mesmo eixo vertical do
alvo enquanto você troca de característica. Só a característica horizontal e seu
limiar mudam.
Experimento 3 · loop pelas características
Compare a melhor divisão de cada característica
11 + 9 + 7 = 27 candidatas na raiz
Dados de treino · característica selecionada em destaque
Greenhouse measurements and crop yield for twelve training rows
Linha
Temperatura (°C)
Água por semana (L)
Luz solar por dia (h)
Produtividade (t/ha)
A
16
3
6.5
1.7
B
17
1.5
3
1.9
C
18
4
5
2
D
20
1.2
6
3.8
E
23
1.6
3.5
4
F
26
2
7
4.1
G
21
3
2.5
5
H
24
3.5
3
5.1
I
27
4
3.5
5.2
J
22
3.2
5.5
5.6
K
25
3.7
6
5.8
L
28
4.2
6.5
5.9
Busque cada ponto médio distinto de uma característica e mantenha sua divisão de menor erro. A raiz então escolhe o menor erro entre as três vencedoras.
Dados e previsões dos dois grupos
Erro da divisão por limiar
Melhor divisão para temperaturatemperatura ≤ 19 °Cerro da divisão 5.129
A árvore de decisão final
A vencedora muda dentro de cada grupo
parar quando a melhoria < 0.25
perguntaTemperatura ≤ 19 °C?
sim · ≤
folha · 3 linhasprevisão 1.87 t/haA B C
não · >
perguntaÁgua por semana ≤ 2.5 L?
sim · ≤
folha · 3 linhasprevisão 3.97 t/haD E F
não · >
perguntaLuz solar por dia ≤ 4.5 h?
sim · ≤
folha · 3 linhasprevisão 5.1 t/haG H I
não · >
folha · 3 linhasprevisão 5.77 t/haJ K L
Na raiz, a melhor pergunta de temperatura deixa erro de divisão de aproximadamente
5,129. A melhor pergunta sobre água deixa 19,542 e a melhor sobre luz solar,
25,302. Portanto, a temperatura vence a primeira busca local com o limiar 19 °C.
O processo não deixa de usar as outras colunas. Dentro do grupo mais quente, água
em 2,5 L por semana se torna a próxima vencedora local. Dentro do grupo quente
e bem irrigado, luz solar em 4,5 horas por dia vence a terceira busca. Com uma
melhoria mínima de 0,25, a pequena árvore final usa as três características e deixa
quatro previsões médias.
Essa é a mesma generalização que fizemos para classificação. Mais colunas criam mais
candidatas, não um novo algoritmo de treino. A classificação mantém a divisão com a
maior redução na mistura de classes. A regressão mantém a divisão com o menor erro
quadrático restante. Os dois loops e a recursão permanecem.
Todo o procedimento da árvore de regressão agora cabe em uma imagem compacta:
Para cada característica, proponha pontos médios entre seus valores distintos.
Avalie cada limiar pelo erro quadrático restante em torno das médias dos dois grupos.
Mantenha a divisão de menor erro entre todas as características e limiares.
Repita dentro dos novos grupos até uma regra de parada dizer que um grupo é uma folha.
Preveja a média dos alvos de treino dentro dessa folha.
Mantenha o menor modelo mental útil
Uma árvore de regressão é a mesma busca, avaliada pelo erro quadrático.
Em cada nó, teste todas as divisões candidatas. Mantenha aquela que deixa o
menor erro quadrático em torno das médias dos dois grupos. Depois, repita nos
grupos ainda dispersos e deixe cada folha prever sua média.
Não substituímos o algoritmo da árvore. Mudamos a pergunta usada para avaliar uma
divisão e o valor armazenado em uma folha — e esse era o ponto. Elevar ao quadrado
a distância até a média de um grupo transformou “estes números estão próximos” em
uma quantidade que o mesmo loop podia minimizar, assim como o ganho de Gini fazia
com a mistura de classes. A estrutura propor–avaliar–repetir fez o restante.
Você entende o mecanismo se agora consegue…
explicar por que a média é a previsão de folha favorecida pelo erro quadrático;
pontuar um limiar candidato pelo erro quadrático de seus dois grupos;
enunciar o algoritmo de treino da regressão como dois loops mais recursão;
citar uma regra de parada e prever como ela altera o tamanho da árvore;
explicar como a mesma busca de limiares compara várias características;
dizer o que mudou em relação à árvore de classificação — e o que não mudou.
Uma ideia difícil por semana
Receba a Aflora no seu e-mail.
Um artigo visual, o experimento principal e uma pergunta para levar com você. Confirmação em duas etapas; você pode sair quando quiser.
A medição é opcional.
Com sua permissão, a Aflora registra páginas vistas, tempo de leitura ativo, progresso e uso dos laboratórios. Não gravamos textos digitados, endereço de rede ou replay da sessão. Ver detalhes de privacidade.