O que é Aprendizado Estatístico
Este capítulo corresponde ao capítulo 2 de James et al. (2023).
📓 Abrir o notebook deste capítulo no Colab ↗ — só o código, pronto para rodar.
🎛️ Flexibilidade e erro ↗ — a página interativa da aula: mova a flexibilidade de um ajuste e veja o MSE de treino cair enquanto o de teste desenha a curva em U, com viés², variância e Var(ε) somando o erro de teste a cada passo — e troque a f verdadeira para ver o mínimo mudar de lugar.
Todos os modelos estão errados, mas alguns são úteis.
— George E. P. Box
O capítulo anterior fechou com uma tabela virando duas peças, X e y, já sem rótulo de coluna nem índice — só números. Este capítulo pergunta o que fazer com elas: o que significa estimar uma relação entre as duas, o que essa estimativa promete e o que ela não pode prometer, e como julgar se ela é boa. A resposta a essas perguntas é o que o resto do livro chama de aprendizado estatístico.
A seção 7.1 apresenta o objeto que sustenta essa resposta — o array do numpy: o que ele guarda, como se fatia sem copiar, como se filtra com uma máscara booleana, e o que significa reduzir “ao longo de um eixo”. É a calculadora do capítulo em diante: é nele que a conta acontece, e é ele que sai do outro lado de um estimador — um coeficiente ajustado, uma previsão, uma probabilidade. As seções seguintes correm sobre um fio só — o gasto com propaganda em Advertising, a renda simulada em Income1 e Income2 — para perguntar o que significa estimar uma função f a partir de dado (7.2), quando vale a pena assumir uma forma para ela e quando é melhor deixar o dado decidir sozinho (7.3), e por que um método mais flexível costuma prever melhor e explicar pior (7.4).
As três últimas seções separam o aprendizado em famílias e o ajuste em graus: supervisionado contra não supervisionado, conforme existe ou não um Y para comparar contra a previsão (7.5); o erro quadrático médio medido onde ele importa — no teste, não no treino —, e a curva em U que o compromisso entre viés e variância desenha (7.6); e o mesmo compromisso, medido em taxa de erro em vez de MSE, para quando Y é uma classe em vez de um número, com o classificador de Bayes como o piso inatingível contra o qual todo classificador — a começar pelo k-NN — se mede (7.7).
Ao final deste capítulo, você será capaz de:
- Manipular arrays do
numpy— fatiar sem copiar, filtrar com máscara booleana, reduzir ao longo de um eixo e sortear com semente — e atravessar a fronteira que leva umDataFramea umndarray - Formular a relação entre preditores e resposta como Y = f(X) + ε, distinguir predição de inferência, e decompor o erro de uma estimativa em parcela redutível e irredutível
- Diferenciar o caminho paramétrico do não paramétrico para estimar
f, e relacionar a rigidez de um e a flexibilidade do outro à quantidade de dado que cada um exige - Explicar o compromisso entre precisão e interpretabilidade, e justificar quando escolher um método menos flexível de propósito
- Classificar um problema como supervisionado ou não supervisionado e, dentro do supervisionado, como regressão ou classificação, conforme a natureza da resposta
- Medir a qualidade de um ajuste pelo MSE de teste — nunca de treino —, e reconhecer na curva em U o compromisso entre viés e variância
- Aplicar a taxa de erro como o análogo do MSE para classificação, e explicar por que o classificador de Bayes é ótimo e inatingível, e como o k-NN o aproxima variando
kentre viés e variância
Seções
| Seção | Tópico |
|---|---|
| 7.1 | O Array |
| 7.2 | Estimar f: Predição e Inferência |
| 7.3 | Paramétrico e Não Paramétrico |
| 7.4 | Precisão contra Interpretabilidade |
| 7.5 | Supervisionado e Não Supervisionado |
| 7.6 | Qualidade do Ajuste e o Compromisso Viés-Variância |
| 7.7 | Classificação e o Classificador de Bayes |
Leituras adicionais
- O site oficial de James et al. (2023), com o PDF gratuito do livro, os dados usados neste capítulo e os laboratórios em Python.
- NumPy: the absolute basics for beginners, a introdução oficial ao array que a seção 7.1 apresenta.
- Copies and views, o guia oficial sobre a diferença entre fatiar um array e copiá-lo — o que a seção 7.1 chama de “a vista”.