Introdução & História
Machine Learning (ML) é o campo de estudo que dá aos computadores a capacidade de aprender a partir de dados sem serem explicitamente programados para cada situação. Em vez de escrever regras à mão, escrevemos programas que inferem as regras a partir de exemplos.
A definição formal clássica é de Tom Mitchell:
Mitchell (1997)
Dizemos que um programa de computador aprende com a experiência E em relação a alguma classe de tarefas T e medida de desempenho P, se seu desempenho nas tarefas em T, medido por P, melhora com a experiência E.
Todo projeto neste curso pode ser descrito com esse vocabulário. Um filtro de spam, por exemplo:
- Tarefa \(T\): classificar e-mails como spam ou não spam;
- Experiência \(E\): um corpus de e-mails já rotulados por humanos;
- Desempenho \(P\): a fração de e-mails classificados corretamente (ou uma métrica mais cuidadosa, como veremos em Classificação & Métricas).
Por que aprender a partir de dados?
Regras escritas à mão falham quando:
- As regras são desconhecidas. Ninguém consegue escrever as regras exatas que distinguem um tumor maligno de um benigno em uma imagem bruta.
- As regras mudam. Spammers se adaptam; um filtro estático se degrada. Um sistema que aprende pode ser retreinado.
- As regras são numerosas demais. Reconhecer dígitos manuscritos com instruções
if/elseé inviável — há maneiras demais de escrever um "7". - É preciso personalização. Um recomendador deve se comportar de forma diferente para cada usuário; aprender do histórico de cada usuário escala, ajustar à mão não.
flowchart LR
subgraph Programação tradicional
A[Regras] --> C[Programa]
B[Dados] --> C
C --> D[Respostas]
end
subgraph Machine learning
E[Dados] --> G[Algoritmo de aprendizado]
F[Respostas / rótulos] --> G
G --> H[Modelo ≈ regras]
end O machine learning inverte o fluxo tradicional: em vez de regras + dados → respostas, alimentamos dados + respostas a um algoritmo e obtemos um modelo — uma aproximação das regras — que então usamos para responder a casos novos, nunca vistos.
Por que agora?
Nenhuma das ideias centrais é nova — os mínimos quadrados são de 1805 — mas três forças convergiram nas últimas duas décadas para tornar o ML onipresente:
- Dados: a web, os sensores e a digitalização produziram conjuntos de dados grandes o suficiente para aprender padrões sutis;
- Poder computacional: GPUs e computação em nuvem tornaram barato ajustar modelos grandes;
- Algoritmos & software: bibliotecas de código aberto (scikit-learn, XGBoost, PyTorch) transformaram décadas de pesquisa em algumas linhas de código.
Uma breve história do machine learning
A história do ML é uma conversa de 200 anos entre a estatística e a ciência da computação. A linha do tempo abaixo marca os marcos que este curso visitará — das bases históricas até a fronteira atual.
Least Squares
1805The historical basis of regression.
Adrien-Marie Legendre publishes the method of least squares for fitting orbits of comets; Carl Friedrich Gauss claims prior use and later gives it a probabilistic justification. Two centuries later it is still the first tool to try on a regression problem.
Legendre, A.-M. (1805). Nouvelles méthodes pour la détermination des orbites des comètes.
Regression to the Mean
1886The word regression enters statistics.
Francis Galton, studying heredity, observes that children of unusually tall parents tend to be closer to average height — regression towards mediocrity. The phenomenon still traps analysts today, as we will see in Model Selection.
Galton, F. (1886). Regression towards mediocrity in hereditary stature.
Statistical Foundations
1920s–1936Modern statistical inference takes shape.
Ronald Fisher develops maximum likelihood estimation, analysis of variance, and experimental design; in 1936 he introduces linear discriminant analysis with the iris dataset — still a canonical teaching dataset today.
Fisher, R. A. (1936). The use of multiple measurements in taxonomic problems.
Turing's Question
1950Can machines think?
Alan Turing publishes Computing Machinery and Intelligence, proposing the imitation game (Turing Test) and, remarkably, suggesting that instead of programming an adult mind we should build a child machine that learns — anticipating machine learning itself.
Turing, A. M. (1950). Computing Machinery and Intelligence.
Birth of AI & the Perceptron
1956–1959The field gets a name and a first learning machine.
The Dartmouth workshop (1956) coins artificial intelligence. Frank Rosenblatt (1958) builds the perceptron, a linear classifier that learns its weights from examples — the ancestor of today's neural networks. Arthur Samuel's checkers program (1959) popularizes the term machine learning.
Rosenblatt, F. (1958). The Perceptron: a probabilistic model for information storage and organization in the brain.
First AI Winter
1969–1980Hype meets its limits.
Minsky and Papert prove that a single perceptron cannot solve non-linearly-separable problems such as XOR (1969). The Lighthill Report (1973) concludes AI failed to deliver; funding collapses across the US and UK.
Minsky, M., Papert, S. (1969). Perceptrons.
Backpropagation & Decision Trees
1984–1986Learning revives on two fronts.
Breiman, Friedman, Olshen and Stone publish CART (1984); Quinlan releases ID3 (1986) — decision trees become practical. Rumelhart, Hinton and Williams popularize backpropagation (1986), making multi-layer neural networks trainable.
Rumelhart, D., Hinton, G., Williams, R. (1986). Learning representations by back-propagating errors.
Statistical Learning Era
1995–1997Rigorous theory, powerful algorithms.
Cortes and Vapnik publish the support vector machine (1995), grounded in statistical learning theory. Freund and Schapire's AdaBoost (1997) shows weak learners can be combined into strong ones. ML becomes a discipline of margins, generalization bounds, and honest validation.
Cortes, C., Vapnik, V. (1995). Support-Vector Networks.
Ensembles & the Two Cultures
2001The workhorses of tabular ML arrive.
Leo Breiman publishes Random Forests (2001) and, the same year, the essay Statistical Modeling: The Two Cultures, arguing for algorithmic prediction over pure data modeling. Friedman formalizes gradient boosting (2001).
Breiman, L. (2001). Random Forests. / Friedman, J. (2001). Greedy function approximation: a gradient boosting machine.
Deep Learning Breakthrough
2012–2016Neural networks return, at scale.
AlexNet wins the ImageNet challenge by a huge margin using a deep convolutional network trained on GPUs (2012). Word2vec (2013) shows words can be embedded in vector spaces that capture meaning. XGBoost (2016) dominates tabular competitions while deep learning dominates perception.
Krizhevsky, A., Sutskever, I., Hinton, G. (2012). ImageNet classification with deep convolutional neural networks.
Transformers
2017–2018Attention is all you need.
Vaswani et al. introduce the Transformer architecture (2017); BERT (2018) shows that pre-training on unlabeled text and fine-tuning transfers to nearly every language task. Sentence embeddings from these models will power BERTopic in Part II of this course.
Vaswani, A. et al. (2017). Attention Is All You Need.
Foundation Models — the Current Edge
2020–todayOne model, many tasks.
GPT-3 (2020) demonstrates few-shot learning from a single giant pre-trained model; ChatGPT (2022) brings LLMs to the public; multimodal foundation models follow. Classical ML does not disappear — it powers the pipelines, evaluation, and tabular problems around these systems, and remains the right tool when data is small and structured.
Brown, T. et al. (2020). Language Models are Few-Shot Learners.
Lendo a trajetória
Três lições dessa história moldam o desenho deste curso:
- Os clássicos nunca foram embora. Os mínimos quadrados (1805) ainda são o primeiro modelo que você deve experimentar em um problema de regressão. A regressão logística (1958) continua sendo um cavalo de batalha em produção. Entendê-los profundamente não é arqueologia — é engenharia.
- Os ciclos de hype são reais. O campo passou por dois "invernos da IA" (aproximadamente 1974–1980 e 1987–1993) quando as promessas ultrapassaram os resultados. A avaliação honesta — tema da Parte III — é o antídoto.
- Os métodos modernos são composições de ideias clássicas. O BERTopic (2022), que estudaremos na Parte II, é literalmente um pipeline de embeddings + redução de dimensionalidade + agrupamento + TF-IDF — cada ingrediente é uma técnica clássica. O gradient boosting é gradiente descendente funcional sobre árvores de decisão. Conhecer as partes permite entender — e depurar — o todo.
Uma máquina que aprende feita de caixas de fósforos
Muito antes das GPUs, a coluna de 1962 de Martin Gardner na Scientific American descreveu uma máquina que aprende a jogar um jogo usando apenas caixas de fósforos e contas coloridas — sem eletrônica alguma. Para o minijogo Hexapawn (três peões por lado em um tabuleiro 3×3), construa uma caixa de fósforos para cada posição possível do tabuleiro e a preencha com contas para cada jogada legal:
- para jogar, abra a caixa de fósforos da posição atual e sorteie uma conta aleatória — essa é a jogada;
- se a máquina eventualmente perder a partida, remova a conta que levou à jogada perdedora (punição);
- se ela vencer, as contas permanecem (ou cópias extras são adicionadas — recompensa).
Depois de algumas dezenas de partidas, as jogadas ruins foram literalmente removidas das caixas: a máquina joga perfeitamente. Essa é a aprendizagem por reforço em sua forma mecânica mais pura (Donald Michie construiu a mesma ideia para o jogo da velha em 1961 e a chamou de MENACE), e torna tangível a definição de Mitchell: a tarefa \(T\) é jogar Hexapawn, a experiência \(E\) são as partidas jogadas, o desempenho \(P\) é a taxa de vitórias — e aprender nada mais é do que ajustar parâmetros (contas) com base em feedback.
Leia o original
Gardner, M. (1962). How to build a game-learning machine and then teach it to play and to win. Scientific American — PDF na pasta da turma. Jogamos este jogo na primeira aula.
Onde este curso se encaixa
Este curso cobre o machine learning clássico de ponta a ponta e termina na fronteira: redes neurais, explicabilidade, AutoML, MLOps e modelos de fundação. O deep learning ganha uma aula de transição aqui; seu tratamento completo está no curso complementar Artificial Neural Networks and Deep Learning.
Material de aula
Slides da aula (em português)
- Aula 01 — Apresentação: abrir os slides
- Fichas do Hexapawn: treino / teste