Módulo 2, Fundamentos de Machine Learning

Se o Módulo 1 deu o mapa das ideias, este é onde a gente começa a construir de verdade. Os fundamentos de Machine Learning são a base estatística sobre a qual se apoiam praticamente todos os módulos seguintes, dos embeddings aos grandes modelos de linguagem. Em vez de programar o comportamento, aqui aprendemos a programar a capacidade de aprender a partir de dados.

Para que nada fique abstrato, um mesmo cenário acompanha as quatro aulas, o de prever e avaliar o desempenho de alunos. Começamos estimando uma nota, depois prevemos uma aprovação, em seguida enfrentamos a armadilha de um modelo que decora em vez de aprender, e por fim aprendemos a medir desempenho com honestidade. Cada aula constrói o seu método do zero, em Python e numpy, para que você veja a engrenagem por dentro antes de usar bibliotecas prontas.

As quatro aulas

Aula Tema O que você faz na prática
1 Regressão Implementa uma regressão linear com gradiente descendente
2 Classificação Constrói uma regressão logística e mede a acurácia
3 Overfitting e underfitting Faz o erro de teste desenhar o U do overfitting
4 Validação Avalia um modelo com validação cruzada feita à mão

As aulas formam uma progressão. As duas primeiras apresentam os dois grandes tipos de tarefa supervisionada. A terceira mostra o que dá errado quando ignoramos a generalização. A quarta dá as ferramentas para medir desempenho sem se enganar, e é onde mora o projeto que fecha o módulo.

O que você leva deste módulo

Ao terminar, você entende o ciclo completo do aprendizado supervisionado, partir de dados, ajustar um modelo, diagnosticar problemas de generalização e avaliar o resultado de forma confiável. Você também ganha intuição sobre gradiente descendente, funções de custo e o equilíbrio entre viés e variância, conceitos que vão reaparecer, em maior escala, quando chegarmos às redes neurais e aos Transformers.

Projeto do módulo

O projeto integrador está na quarta aula. A proposta é treinar e avaliar um classificador de aprovação de alunos, comparando de forma honesta o desempenho no treino com o desempenho estimado por validação cruzada, e interpretar a diferença à luz do que se aprendeu sobre overfitting. É um exercício pequeno, mas que percorre todo o caminho, do modelo à avaliação.

Pré-requisitos

O Módulo 1 e noções básicas de álgebra e estatística ajudam bastante. Para rodar os notebooks, basta Python e o ambiente de docs/setup.md. O núcleo dos exemplos usa apenas numpy, e as partes com gráficos ou scikit-learn são opcionais e degradam de forma graciosa quando a biblioteca não está instalada.

Material de apoio