Ir para o conteúdo

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:

  1. As regras são desconhecidas. Ninguém consegue escrever as regras exatas que distinguem um tumor maligno de um benigno em uma imagem bruta.
  2. As regras mudam. Spammers se adaptam; um filtro estático se degrada. Um sistema que aprende pode ser retreinado.
  3. As regras são numerosas demais. Reconhecer dígitos manuscritos com instruções if/else é inviável — há maneiras demais de escrever um "7".
  4. É 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

1805

The 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

1886

The 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–1936

Modern 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

1950

Can 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–1959

The 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–1980

Hype 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–1986

Learning 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–1997

Rigorous 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

2001

The 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–2016

Neural 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–2018

Attention 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–today

One 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:

  1. 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.
  2. 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.
  3. 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:

  1. para jogar, abra a caixa de fósforos da posição atual e sorteie uma conta aleatória — essa é a jogada;
  2. se a máquina eventualmente perder a partida, remova a conta que levou à jogada perdedora (punição);
  3. 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)


Quiz