Masterclass ML
/
00 / 16
Masterclass de Pós-Graduação

Machine Learning
na Prática

Uma jornada abrangente de pós-graduação cobrindo todos os 16 capítulos da obra definitiva de Aurélien Géron. Mergulhe profundamente na teoria, na prática e nos fundamentos matemáticos do aprendizado de máquina moderno com Scikit-Learn & TensorFlow.

16Capítulos
40+Algoritmos
50+Fórmulas
48Quizzes
~6hLeitura
x₁ Features x₂ Dados x₃ Rótulos σ(Σ wᵢxᵢ + b) ŷ₁ ŷ ŷ₂
Nenhum capítulo correspondente encontrado. Tente outros termos de busca.
Capítulo 01

O Panorama do Aprendizado de Máquina

18 min #fundamentos #supervisionado #não-supervisionado

O Aprendizado de Máquina (Machine Learning) é a ciência de programar computadores para que aprendam a partir de dados. Arthur Samuel (1959) definiu-o como o "campo de estudo que confere aos computadores a capacidade de aprender sem serem explicitamente programados". Tom Mitchell (1997) forneceu uma definição mais formal: "Diz-se que um programa de computador aprende a partir da experiência E com respeito a alguma tarefa T e alguma medida de desempenho P, se seu desempenho em T, conforme medido por P, melhora com a experiência E."

Os sistemas de AM são classificados pelo tipo de supervisão que recebem durante o treinamento. No aprendizado supervisionado, os dados de treinamento incluem as soluções desejadas (rótulos): classificação e regressão são as tarefas mais comuns, com algoritmos como k-Vizinhos Mais Próximos, Regressão Linear, Regressão Logística, SVMs, Árvores de Decisão, Florestas Aleatórias e redes neurais. O aprendizado não supervisionado lida com dados não rotulados: clusterização (k-Médias, DBSCAN, Análise de Agrupamento Hierárquico), detecção de anomalias e redução de dimensionalidade. O aprendizado semissupervisionado combina uma pequena quantidade de dados rotulados com uma grande quantidade de dados não rotulados. O aprendizado por reforço envolve um agente que aprende por meio de recompensas e penalidades em um ambiente.

O aprendizado pode ser em lote (offline) ou online (incremental). Os principais desafios incluem: quantidade insuficiente de dados de treinamento, dados de treinamento não representativos (viés de amostragem), dados de baixa qualidade, características irrelevantes, sobreajuste (a regularização ajuda) e subajuste (modelo simples demais). O Teorema do Almoço Grátis (No Free Lunch Theorem) afirma que nenhum algoritmo único é o melhor para todos os problemas — é preciso testar muitos modelos. A validação cruzada fornece estimativas de desempenho confiáveis.

$$ \\text{life_satisfaction} = \\theta_{0} + \\theta_{1} \\times \\text{GDP_per_capita} $$
Validação por Conjunto de Teste: Divida os dados em conjunto de treinamento (tipicamente 80%) e conjunto de teste (20%). A validação cruzada (k-fold) fornece estimativas de desempenho mais confiáveis ao calcular a média entre k divisões de treinamento/validação.
Laboratório

Regressão Linear Interativa — Ajuste a reta

Mova os sliders para ajustar θ₀ (intercepto) e θ₁ (inclinação). Observe como o erro (MSE) muda. O objetivo é minimizar o MSE aproximando a reta dos pontos.

MSE
--
--
Iteração GD
0
Pontos-Chave
  • O AM consiste em aprender a partir de dados para realizar previsões ou tomar decisões sem programação explícita
  • Supervisionado (rotulado), não supervisionado (não rotulado), semissupervisionado e por reforço são os quatro paradigmas principais
  • Aprendizado em lote vs. online determina como os dados são consumidos durante o treinamento
  • Sobreajuste e subajuste constituem a tensão central — regularização e complexidade do modelo devem ser equilibradas
  • Teorema do Almoço Grátis: nenhum modelo é universalmente superior; a experimentação é essencial
  • A validação cruzada é o padrão-ouro para uma avaliação confiável do modelo
Supervisionado
Dados rotulados, classificação e regressão
Não Supervisionado
Dados não rotulados, clusterização e red. de dimensionalidade
Semissupervisionado
Mistura de dados rotulados e não rotulados
Por Reforço
Agente aprende via recompensas/penalidades
Aprendizado em Lote
Offline, todos os dados de uma vez
Aprendizado Online
Incremental, atualizações sequenciais
Q1: Qual paradigma de AM utiliza dados de treinamento rotulados?
Aprendizado supervisionado Aprendizado não supervisionado Aprendizado por reforço
O aprendizado supervisionado utiliza dados rotulados, em que cada exemplo de treinamento possui um valor-alvo correspondente.
Q2: O Teorema do Almoço Grátis implica que:
O aprendizado profundo sempre supera os métodos tradicionais Nenhum algoritmo de AM é o melhor para todos os problemas Mais dados sempre melhoram o desempenho
O teorema afirma que, em média sobre todos os problemas possíveis, todos os algoritmos têm desempenho equivalente — é preciso testar múltiplas abordagens.
Q3: O sobreajuste ocorre quando:
O modelo é simples demais para os dados O conjunto de treinamento é grande demais O modelo tem bom desempenho nos dados de treinamento, mas ruim em dados não vistos
O sobreajuste significa que o modelo aprendeu ruídos e padrões espúrios específicos do conjunto de treinamento, em vez de padrões generalizáveis.
Capítulo 02

Projeto de Aprendizado de Máquina de Ponta a Ponta

22 min #pipeline #preparação-de-dados #avaliação

Este capítulo percorre o fluxo de trabalho completo de um projeto de AM utilizando dados de habitação da Califórnia. O pipeline começa com a definição do problema: delimitando claramente o objetivo de negócio, o tipo de solução esperada (regressão supervisionada) e selecionando uma medida de desempenho. Para regressão, o RMSE (Root Mean Square Error — Raiz do Erro Quadrático Médio) é o mais comum — atribui peso maior a erros grandes devido à elevação ao quadrado — enquanto o MAE (Mean Absolute Error — Erro Absoluto Médio) é mais robusto a outliers. A norma ℓ₁ (MAE) e a norma ℓ₂ (RMSE) representam duas maneiras fundamentais de medir distâncias entre vetores.

Após obter os dados, criar um conjunto de teste é crucial. A amostragem aleatória funciona para grandes conjuntos de dados, mas a amostragem estratificada é essencial quando o conjunto possui categorias importantes que devem ser representadas proporcionalmente. Visualização de dados: histogramas revelam distribuições, matrizes de dispersão expõem correlações e gráficos de dispersão geográficos revelam padrões espaciais. O cálculo de matrizes de correlação (r de Pearson) identifica relações lineares — mas note que as correlações capturam apenas dependências lineares. Combinações de atributos (engenharia de características) frequentemente geram características mais preditivas do que os dados brutos isoladamente.

A limpeza de dados trata valores ausentes por meio de imputação. O tratamento de atributos textuais e categóricos requer codificação (one-hot, ordinal). O escalonamento de características — normalização min-max ou padronização — é essencial para algoritmos baseados em gradiente. A classe Pipeline do Scikit-Learn encadeia transformações sequencialmente, prevenindo o vazamento de dados. Para a seleção de modelo, o capítulo progride da Regressão Linear para Árvore de Decisão e então para Floresta Aleatória, avaliando via validação cruzada. A Busca em Grade testa exaustivamente combinações de hiperparâmetros; a Busca Aleatorizada amostra aleatoriamente — frequentemente mais eficiente. Após selecionar o melhor modelo, a análise de importância das características revela quais variáveis impulsionam as previsões. Por fim, o modelo é avaliado no conjunto de teste e lançado, monitorado e mantido.

$$ \\text{RMSE}(\\mathbf{X}, h) = \\sqrt{\\frac{1}{m}\\sum_{i=1}^{m}\\bigl(h(\\mathbf{x}^{(i)}) - y^{(i)}\\bigr)^2} $$ $$ \\text{MAE}(\\mathbf{X}, h) = \\frac{1}{m}\\sum_{i=1}^{m}\\bigl|h(\\mathbf{x}^{(i)}) - y^{(i)}\\bigr| $$
Norma ℓk: \\(\\|\\mathbf{v}\\|_k = \\bigl(\\sum_{i} |v_i|^k\\bigr)^{1/k}\\). ℓ₂ é a distância euclidiana (RMSE utiliza ℓ₂ do vetor de erros); ℓ₁ é a distância de Manhattan (MAE). Valores maiores de k enfatizam componentes maiores com maior intensidade.

Boas Práticas de Pipeline

Sempre divida os dados antes de qualquer exploração. Use amostragem estratificada quando as distribuições importam. Ajuste os escalonadores apenas nos dados de treinamento e então transforme todos os conjuntos. Pipelines previnem o vazamento de dados ao encapsular todas as transformações. Monitore a deriva de desempenho do modelo em produção.

Pontos-Chave
  • Defina o problema com precisão: objetivo de negócio → tipo de tarefa de AM → métrica de desempenho
  • O RMSE penaliza erros grandes; o MAE é robusto a outliers
  • Crie conjuntos de teste cedo, usando amostragem estratificada para distribuições representativas
  • Limpeza de dados, escalonamento de características e codificação devem ser aplicados de forma consistente via pipelines
  • A validação cruzada fornece estimativas de desempenho não enviesadas; Busca em Grade/Aleatorizada ajusta os hiperparâmetros
  • A análise de importância das características revela quais sinais impulsionam as decisões do modelo
Q1: Por que a amostragem estratificada é recomendada para criar o conjunto de teste?
É computacionalmente mais rápida Garante a representação proporcional de categorias importantes Elimina a necessidade de um conjunto de validação
A amostragem estratificada mantém a mesma distribuição dos atributos-chave no conjunto de teste que no conjunto de dados completo.
Q2: O RMSE é mais sensível a outliers do que o MAE porque:
Utiliza a mediana em vez da média Eleva os erros ao quadrado, amplificando o efeito de grandes desvios Penaliza todos os erros igualmente
O RMSE eleva cada erro ao quadrado, de modo que erros grandes contribuem desproporcionalmente — um único outlier pode dominar a métrica.
Q3: Qual é a principal vantagem dos Pipelines do Scikit-Learn?
Selecionam automaticamente o melhor modelo Fazem o código rodar mais rápido na GPU Previnem o vazamento de dados e simplificam o fluxo de trabalho
Os pipelines encadeiam transformações sequencialmente e garantem que fit/transform sejam aplicados de forma consistente.
Capítulo 03

Classificação

20 min #classificação #métricas #MNIST

As tarefas de classificação envolvem prever rótulos de classe discretos. O capítulo utiliza o conjunto de dados MNIST — 70.000 imagens em escala de cinza (28×28 pixels) de dígitos manuscritos de 0 a 9 — como exemplo contínuo. Começando com a classificação binária (ex.: "isto é um 5?"), um classificador SGD (Stochastic Gradient Descent) serve como linha de base linear simples. No entanto, a acurácia é enganosa para conjuntos de dados desbalanceados: um classificador que sempre prevê "não é 5" atinge ~90% de acurácia no MNIST, mas falha completamente na tarefa real.

A matriz de confusão é a base: Verdadeiros Positivos (VP), Verdadeiros Negativos (VN), Falsos Positivos (FP), Falsos Negativos (FN). Precisão = VP/(VP+FP) — que fração das previsões positivas está correta? Revocação (Recall) = VP/(VP+FN) — que fração dos positivos reais é detectada? O escore F₁ é a média harmônica entre precisão e revocação. O dilema precisão-revocação é fundamental: aumentar o limiar de decisão aumenta a precisão, mas diminui a revocação.

A curva ROC plota a TPR (Taxa de Verdadeiros Positivos) versus a FPR (Taxa de Falsos Positivos). A AUC (Área Sob a Curva) resume a qualidade do classificador: AUC = 1,0 perfeito; AUC = 0,5 aleatório. Para classificação multiclasse: OvA treina N classificadores binários; OvO treina N×(N−1)/2 classificadores. O capítulo também aborda classificação multirrótulo e classificação multissaída. A análise de erros via visualização da matriz de confusão revela quais classes são confundidas entre si.

$$ \\text{Precision} = \\frac{TP}{TP + FP} \\qquad \\text{Recall} = \\frac{TP}{TP + FN} $$ $$ F_1 = \\frac{2}{\\frac{1}{\\text{Precision}} + \\frac{1}{\\text{Recall}}} = \\frac{TP}{TP + \\frac{FN + FP}{2}} $$ $$ \\text{TPR} = \\frac{TP}{TP + FN} \\qquad \\text{FPR} = \\frac{FP}{FP + TN} $$
Laboratório

Explorador ROC — Ajuste o limiar de decisão

Arraste o slider de limiar para ver como a matriz de confusão e as métricas mudam. O ponto laranja se move ao longo da curva ROC.

VP (True Pos)
--
FP (False Pos)
--
VN (True Neg)
--
FN (False Neg)
--
Precisão
--
Revocação
--
F₁
--
Pontos-Chave
  • A acurácia falha para conjuntos de dados desbalanceados — prefira precisão, revocação, F₁ e AUC
  • A matriz de confusão decompõe os erros em falsos positivos e falsos negativos
  • O dilema precisão-revocação é controlado pelo limiar de decisão
  • A ROC AUC é independente do limiar e robusta ao desbalanceamento de classes
  • OvA (N classificadores) vs. OvO (N² classificadores) para problemas multiclasse
Q1: Um classificador com 95% de precisão e 60% de revocação tem F₁ aproximadamente:
0,77 0,74 0,80
F₁ = 2×(0,95×0,60)/(0,95+0,60) ≈ 0,735.
Q2: AUC = 0,5 indica:
Classificador perfeito Adivinhação aleatória — nenhum poder discriminativo O classificador está com sobreajuste
Uma AUC de 0,5 significa que a curva ROC segue a diagonal, indicando desempenho equivalente ao acaso.
Q3: Para N=10 classes, quantos classificadores binários o OvO treina?
10 20 45
O OvO treina N×(N−1)/2 classificadores. Para N=10: 10×9/2 = 45 classificadores por pares.
Capítulo 04

Treinamento de Modelos

26 min #regressão-linear #gradiente-descendente #regularização

Este capítulo fornece um tratamento matemático profundo do treinamento de modelos. A Regressão Linear busca parâmetros θ que minimizam a função de custo EQM. A Equação Normal fornece uma solução de forma fechada: \(\\hat{\\boldsymbol{\\theta}} = (\\mathbf{X}^T\\mathbf{X})^{-1}\\mathbf{X}^T\\mathbf{y}\). Entretanto, computar a inversa tem complexidade O(n³), onde n é o número de características, tornando-a impraticável para grandes conjuntos de características. O Gradiente Descendente oferece uma alternativa iterativa: partindo de θ aleatórios, atualiza repetidamente os parâmetros na direção da descida mais íngreme. A taxa de aprendizado η é crítica — pequena demais e a convergência é lenta; grande demais e o algoritmo diverge.

Três variantes: GD em Lote utiliza o conjunto de treinamento completo por passo; GD Estocástico utiliza uma única instância aleatória; GD em Minilote utiliza pequenos subconjuntos aleatórios. A Regressão Polinomial estende a regressão linear adicionando potências das características. As curvas de aprendizado plotam os erros de treinamento e validação em função do tamanho do conjunto de treinamento, revelando viés (subajuste) vs. variância (sobreajuste).

A regularização restringe a complexidade do modelo: Ridge adiciona penalidade ℓ₂ (encolhe os coeficientes); Lasso utiliza penalidade ℓ₁ (pode zerar coeficientes — seleção automática de características); Elastic Net combina ambas. A parada antecipada interrompe o treinamento quando o erro de validação aumenta. A Regressão Logística estima probabilidades de classe via sigmoide: \(\\hat{p} = \\sigma(\\boldsymbol{\\theta}^T\\mathbf{x})\). A Regressão Softmax generaliza para K classes.

$$ \\hat{\\boldsymbol{\\theta}} = (\\mathbf{X}^T\\mathbf{X})^{-1}\\mathbf{X}^T\\mathbf{y} $$ $$ \\boldsymbol{\\theta}^{\\text{(next)}} = \\boldsymbol{\\theta} - \\eta \\nabla_{\\boldsymbol{\\theta}} J(\\boldsymbol{\\theta}) $$ $$ \\sigma(t) = \\frac{1}{1 + e^{-t}} \\qquad \\hat{p}_k = \\frac{\\exp(\\boldsymbol{\\theta}_k^T\\mathbf{x})}{\\sum_{j=1}^{K}\\exp(\\boldsymbol{\\theta}_j^T\\mathbf{x})} $$
Laboratório

Gradiente Descendente — Visualize a descida ao mínimo

A curva azul é a função de custo J(θ). O ponto vermelho é a posição atual. Ajuste a taxa de aprendizado η e observe como isso afeta a convergência.

Iteração
0
θ atual
4.00
J(θ)
--
Gradiente
--
Pontos-Chave
  • A Equação Normal é O(n³); o Gradiente Descendente escala melhor para muitas características
  • Taxa de aprendizado η: ajuste com cuidado — use esquemas de redução da taxa para melhor convergência
  • GD em Lote converge suavemente; SGD é ruidoso, mas escapa de mínimos locais; Minilote equilibra ambos
  • A regressão polinomial ajusta dados não lineares adicionando potências das características
  • Curvas de aprendizado diagnosticam viés (subajuste) vs. variância (sobreajuste)
  • Ridge (ℓ₂), Lasso (ℓ₁) e Elastic Net previnem o sobreajuste via encolhimento dos parâmetros
  • A Regressão Logística produz probabilidades calibradas via sigmoide; Softmax trata o caso multiclasse
Q1: Por que escolher o Gradiente Descendente em vez da Equação Normal?
O GD é sempre mais preciso O GD escala melhor quando o número de características é grande (n > 10⁴) O GD não requer uma taxa de aprendizado
A Equação Normal requer inversão de matriz O(n³); o GD é O(iterações × m × n).
Q2: O Lasso pode realizar seleção de características porque:
Utiliza uma penalidade quadrática A penalidade ℓ₁ pode zerar exatamente os coeficientes Remove automaticamente características correlacionadas
ℓ₁ cria soluções esparsas — a região de restrição em losango toca os eixos, permitindo coeficientes nulos.
Q3: O intervalo de saída da função sigmoide é:
[-1, +1] [-∞, +∞] (0, 1)
σ(t) = 1/(1+e⁻ᵗ). Quando t→−∞, σ→0; quando t→+∞, σ→1. A saída está estritamente entre 0 e 1.
Capítulo 05

Máquinas de Vetores de Suporte

20 min #svm #kernel #margem

As Máquinas de Vetores de Suporte (SVMs) estão entre os classificadores mais elegantes matematicamente. Uma SVM linear encontra o hiperplano que maximiza a margem entre as classes — a distância da fronteira de decisão até as instâncias de treinamento mais próximas (vetores de suporte). Este é um problema de otimização convexa, que garante um ótimo global. A margem rígida pressupõe separabilidade perfeita; a margem suave relaxa essa exigência permitindo violações, controladas por C. Valores pequenos de C permitem mais violações de margem (margem mais larga); valores grandes de C impõem uma separação mais estrita (risco de sobreajuste).

O verdadeiro poder reside no truque do kernel: substituir produtos escalares por funções de kernel permite fronteiras de decisão não lineares sem mapas explícitos de características. Kernels polinomiais: \(K(\\mathbf{a}, \\mathbf{b}) = (\\gamma\\mathbf{a}^T\\mathbf{b} + r)^d\). RBF Gaussiano: \(K(\\mathbf{a}, \\mathbf{b}) = \\exp(-\\gamma\\|\\mathbf{a} - \\mathbf{b}\\|^2)\) — γ controla o raio de influência. As SVMs também realizam regressão (SVR) ajustando um tubo ε-insensível. A formulação dual revela que a solução depende apenas dos vetores de suporte. O treinamento escala entre O(m²) e O(m³).

$$ \\min_{\\mathbf{w}, b, \\boldsymbol{\\zeta}} \\frac{1}{2}\\|\\mathbf{w}\\|^2 + C\\sum_{i=1}^{m}\\zeta_{i} \\quad \\text{s.t. } y^{(i)}(\\mathbf{w}^T\\mathbf{x}^{(i)} + b) \\ge 1 - \\zeta_{i},\\ \\zeta_{i} \\ge 0 $$ $$ K_{\\text{RBF}}(\\mathbf{a}, \\mathbf{b}) = \\exp\\!\\bigl(-\\gamma \\|\\mathbf{a} - \\mathbf{b}\\|^2\\bigr) $$
Vetores de Suporte: As instâncias de treinamento que se situam exatamente sobre a fronteira da margem ou dentro dela. Somente essas instâncias determinam a fronteira de decisão da SVM — todas as demais instâncias poderiam ser removidas sem alterar o modelo.
Pontos-Chave
  • As SVMs maximizam a margem entre classes, levando a uma boa generalização
  • O parâmetro C equilibra a largura da margem vs. as violações de classificação
  • O truque do kernel possibilita a classificação não linear sem mapeamento explícito de características
  • O kernel RBF (Gaussiano) é o mais popular — γ controla a complexidade do modelo
  • A SVR realiza regressão ajustando um tubo ε-insensível
  • As SVMs produzem soluções esparsas; apenas os vetores de suporte importam para a previsão
  • A complexidade computacional O(m²~m³) limita a escalabilidade para conjuntos de dados muito grandes
Q1: Aumentar C em uma SVM de margem suave:
Reduz a regularização, podendo causar sobreajuste Aumenta a largura da margem Torna o modelo mais simples e robusto
Um C grande penaliza fortemente as violações de margem, levando a uma margem mais estreita — menos regularização, maior risco de sobreajuste.
Q2: O truque do kernel permite que as SVMs:
Treinem mais rápido reduzindo as características Encontrem fronteiras não lineares sem computar explicitamente mapas de características de alta dimensão Selecionem automaticamente o kernel ótimo
Os kernels computam produtos escalares em um espaço de alta dimensionalidade implicitamente, evitando o custo computacional da transformação explícita.
Q3: O que faz as SVMs produzirem soluções esparsas?
Regularização ℓ₁ em todos os parâmetros Apenas os vetores de suporte (um subconjunto dos dados de treinamento) definem a fronteira de decisão Elas podam características durante o treinamento
A solução dual revela que apenas instâncias sobre ou dentro da margem possuem coeficientes não nulos.
Capítulo 06

Árvores de Decisão

16 min #árvore-de-decisão #CART #entropia

As Árvores de Decisão são modelos versáteis e interpretáveis que realizam previsões percorrendo uma série de decisões do tipo se-então-senão. O algoritmo CART constrói árvores binárias dividindo recursivamente o conjunto de treinamento. Em cada nó, ele busca o par característica-limiar que produz os subconjuntos mais puros. A pureza é medida pela impureza de Gini: \(G_i = 1 - \\sum_{k} p_{i,k}^2\) (mais rápida de computar) ou pela entropia: \(H_i = -\\sum_{k} p_{i,k}\\log_{2}(p_{i,k})\) (da teoria da informação).

As árvores de regressão dividem para minimizar o EQM dentro de cada nó. Sem restrições, as árvores podem sofrer sobreajuste perfeitamente. A regularização é essencial: max_depth, min_samples_split, min_samples_leaf, max_leaf_nodes, min_impurity_decrease. A complexidade computacional é O(n × m log₂ m) para o treinamento. As Árvores de Decisão possuem uma fraqueza crítica: instabilidade — pequenas alterações nos dados podem produzir árvores dramaticamente diferentes. Essa sensibilidade as torna excelentes candidatas para métodos de ensemble.

$$ G_i = 1 - \\sum_{k=1}^{K} p_{i,k}^2 \\qquad H_i = -\\sum_{\\substack{k=1\\ p_{i,k}>0}}^{K} p_{i,k} \\log_{2}(p_{i,k}) $$ $$ J(k, t_k) = \\frac{m_{\\text{left}}}{m}G_{\\text{left}} + \\frac{m_{\\text{right}}}{m}G_{\\text{right}} $$
Ganho de Informação: A redução da impureza obtida por uma divisão. GI = impureza do nó pai − média ponderada das impurezas dos nós filhos. O CART maximiza gulhosamente o GI em cada nó — uma abordagem descendente e gulosa que não garante a árvore globalmente ótima.
Pontos-Chave
  • O CART constrói árvores binárias maximizando gulhosamente o ganho de informação em cada divisão
  • A impureza de Gini e a entropia medem a pureza do nó; Gini é computacionalmente mais barata
  • As árvores de regressão minimizam o EQM em vez da impureza
  • Sem regularização, as árvores sofrem sobreajuste perfeitamente — poda/restrições são obrigatórias
  • Complexidade de treinamento O(n × m log₂ m); as previsões são O(log₂ m) — muito rápidas
  • As árvores são inerentemente instáveis: pequenas alterações nos dados produzem estruturas muito diferentes
Q1: A impureza de Gini de um nó com proporções iguais de duas classes:
0 0,5 1,0
G = 1 − (0,5² + 0,5²) = 0,5. Impureza máxima para classificação binária.
Q2: Por que as árvores de decisão são consideradas "instáveis"?
Exigem ajuste extensivo de hiperparâmetros Pequenas alterações nos dados de treinamento podem produzir estruturas de árvore completamente diferentes São computacionalmente caras
A abordagem gulosa descendente significa que pequenas perturbações nos dados podem se propagar em cascata pela árvore, alterando divisões em todos os níveis.
Q3: min_samples_leaf=5 significa:
A árvore pode ter no máximo 5 folhas Cada nó folha deve conter pelo menos 5 instâncias de treinamento Cada divisão requer pelo menos 5 características
min_samples_leaf garante que as folhas tenham um número mínimo de amostras, prevenindo folhas minúsculas com sobreajuste.
Capítulo 07

Aprendizado por Ensemble e Florestas Aleatórias

20 min #ensemble #floresta-aleatória #boosting

Os métodos de ensemble combinam múltiplos modelos para produzir um preditor mais forte. Classificadores por votação: votação rígida adota a classe majoritária; votação suave calcula a média das probabilidades previstas. O Bagging (agregação bootstrap) treina preditores em diferentes amostras bootstrap (amostragem com reposição). O Pasting utiliza amostragem sem reposição. A diversidade entre os preditores é crucial.

As Florestas Aleatórias estendem o bagging amostrando também características aleatoriamente em cada divisão — buscando entre um subconjunto aleatório de ~√n (classificação) ou n/3 (regressão). Isso injeta mais diversidade e melhora a generalização. As Extra-Trees utilizam limiares aleatórios para cada característica candidata. As Florestas Aleatórias fornecem importância das características embutida, calculando a média da redução de impureza em todas as árvores.

O Boosting treina preditores sequencialmente, cada um corrigindo seu predecessor. O AdaBoost ajusta os pesos das instâncias: instâncias classificadas incorretamente recebem pesos maiores. O Gradient Boosting ajusta cada novo preditor aos erros residuais do ensemble anterior — essencialmente gradiente descendente no espaço de funções. O XGBoost adiciona regularização e computação otimizada. O Stacking treina um "combinador" (meta-aprendiz) sobre as saídas dos preditores base, aprendendo pesos de combinação ótimos.

$$ \\text{RF prediction: } \\hat{y} = \\frac{1}{B}\\sum_{b=1}^{B} f_b(\\mathbf{x}) \\quad \\text{(regression average over } B \\text{ trees)} $$ $$ \\text{AdaBoost weight: } \\alpha_{t} = \\frac{1}{2}\\ln\\!\\left(\\frac{1 - \\epsilon_{t}}{\\epsilon_{t}}\\right) $$
Pontos-Chave
  • Os ensembles reduzem a variância (bagging), o viés (boosting) ou ambos (stacking)
  • O Bagging treina modelos em paralelo em amostras bootstrap; o Pasting amostra sem reposição
  • Florestas Aleatórias = Bagging + seleção aleatória de características em cada divisão
  • As Extra-Trees utilizam limiares aleatórios para diversidade ainda maior
  • O AdaBoost repondera instâncias; o Gradient Boosting ajusta os resíduos
  • O Stacking utiliza um meta-aprendiz para combinar otimamente as saídas dos modelos base
  • As Florestas Aleatórias fornecem escores interpretáveis de importância das características
Q1: Diferença fundamental entre Bagging e Pasting:
O Bagging utiliza algoritmos diferentes O Bagging amostra com reposição; o Pasting sem reposição O Bagging funciona apenas para classificação
O Bagging utiliza amostragem bootstrap (com reposição), o que significa que uma instância pode aparecer múltiplas vezes.
Q2: Como o AdaBoost difere do Gradient Boosting?
O AdaBoost é mais rápido, porém menos preciso O AdaBoost ajusta os pesos das instâncias; o Gradient Boosting ajusta os erros residuais São algoritmos idênticos
O AdaBoost repondera as instâncias de treinamento; o Gradient Boosting treina cada novo preditor sobre os erros residuais.
Q3: A importância das características na Floresta Aleatória é computada por:
Contagem das aparições das características nas divisões Média da redução de impureza contribuída por cada característica em todas as árvores Magnitude dos coeficientes do modelo linear
A FA mede a importância como a média ponderada da diminuição da impureza do nó alcançada pelas divisões naquela característica.
Capítulo 08

Redução de Dimensionalidade

18 min #red-de-dim #PCA #variedade

A maldição da dimensionalidade: à medida que as dimensões aumentam, os pontos de dados se afastam uns dos outros, tornando os métodos baseados em distância não confiáveis. A redução de dimensionalidade resolve isso projetando os dados em subespaços de menor dimensão. Duas abordagens: projeção (linear) e aprendizado de variedades (não linear).

A Análise de Componentes Principais (PCA) identifica o hiperplano mais próximo dos dados encontrando os autovetores da matriz de covariância. O primeiro CP captura a variância máxima; os CPs subsequentes são ortogonais, capturando variância decrescente. A razão de variância explicada orienta a escolha da dimensão. Para grandes conjuntos de dados: PCA Incremental (minilotes) e PCA Aleatorizada (estocástica). O Kernel PCA estende-se a variedades não lineares via truque do kernel.

O Locally Linear Embedding (LLE) preserva relações locais — cada instância reconstruída a partir de vizinhos. O t-SNE é particularmente eficaz para visualização: converte distâncias euclidianas de alta dimensão em probabilidades condicionais, minimizando a divergência KL. O t-SNE se destaca em revelar agrupamentos, mas não preserva a estrutura global. Outros métodos: MDS, Isomap, LDA (supervisionado).

$$ \\text{PCA: } \\mathbf{X}_{\\text{proj}} = \\mathbf{X}\\mathbf{W}_{d} \\quad \\text{where } \\mathbf{W}_{d} \\text{ contains top } d \\text{ eigenvectors of } \\mathbf{X}^T\\mathbf{X} $$ $$ \\text{Razão de Variância Explicada}_i = \\frac{\\lambda_{i}}{\\sum_{j=1}^{n}\\lambda_{j}} $$
Pontos-Chave
  • A maldição da dimensionalidade: espaços esparsos de alta dimensão degradam os métodos baseados em distância
  • A PCA encontra direções ortogonais de variância máxima; os autovalores orientam a escolha da dimensão
  • O Kernel PCA lida com variedades não lineares via truque do kernel
  • A PCA Incremental/Aleatorizada escala eficientemente para grandes conjuntos de dados
  • O LLE preserva relações lineares locais entre vizinhanças
  • O t-SNE se destaca na visualização, mas perde informação de distância global
  • A redução de dimensionalidade pode acelerar o treinamento e reduzir o sobreajuste
Q1: O primeiro componente principal corresponde a:
Direção de variância mínima O autovetor com o maior autovalor da matriz de covariância A média da distribuição dos dados
O CP1 captura a variância máxima, correspondendo ao maior autovalor.
Q2: Uma limitação fundamental do t-SNE:
Não consegue lidar com mais de 10.000 pontos As distâncias entre agrupamentos não são significativas; apenas a estrutura local é preservada Funciona apenas para classificação
O t-SNE otimiza a preservação de vizinhanças locais; distâncias globais e tamanhos de agrupamentos não são significativos.
Q3: Como o Kernel PCA difere do PCA padrão?
Utiliza menos componentes Aplica o truque do kernel para projeções não lineares no espaço de características de alta dimensão É sempre mais rápido que o PCA padrão
O Kernel PCA mapeia implicitamente os dados para um espaço de alta dimensão onde o PCA linear é executado — equivalente a um PCA não linear.
Capítulo 09

Começando com TensorFlow

16 min #tensorflow #grafo-computacional #autodiff

O TensorFlow representa computações como grafos computacionais — DAGs onde os nós são operações e as arestas são tensores. O grafo é definido primeiro e então executado dentro de uma sessão que aloca as operações aos dispositivos. Uma constante é imutável; uma variável armazena estado mutável (parâmetros); um placeholder aceita dados externos no momento da execução.

O recurso matador do TensorFlow é a diferenciação automática (autodiff): dado um grafo computacional e uma saída escalar, ele computa automaticamente os gradientes via autodiff em modo reverso (retropropagação). Isso elimina a derivação manual de gradientes. O capítulo demonstra a Regressão Linear no TF: defina variáveis para θ, construa o grafo (previsão = X·θ, perda = EQM) e então utilize um otimizador. O TensorBoard visualiza o grafo, as métricas de treinamento e os embeddings. Os name scopes organizam o grafo; o compartilhamento de variáveis permite o reuso de parâmetros. O capítulo também aborda salvar/restaurar com objetos Saver.

import tensorflow as tf X = tf.placeholder(tf.float32, shape=(None, n_features), name="X") y = tf.placeholder(tf.float32, shape=(None, 1), name="y") theta = tf.Variable(tf.random_uniform([n_features, 1], -1.0, 1.0), name="theta") y_pred = tf.matmul(X, theta, name="predictions") mse = tf.reduce_mean(tf.square(y_pred - y), name="mse") optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.01) training_op = optimizer.minimize(mse) with tf.Session() as sess: sess.run(tf.global_variables_initializer()) for epoch in range(n_epochs): sess.run(training_op, feed_dict={X: X_batch, y: y_batch})
Pontos-Chave
  • O TensorFlow separa a definição do grafo computacional da sua execução
  • Constantes (imutáveis), Variáveis (parâmetros treináveis), Placeholders (dados de entrada)
  • A diferenciação automática (autodiff) elimina o cálculo manual de gradientes
  • Otimizadores (SGD, Adam, RMSProp) utilizam autodiff para atualizar os parâmetros do modelo
  • O TensorBoard visualiza a estrutura do grafo, as métricas de treinamento e os embeddings
  • Os name scopes organizam o grafo; os variable scopes permitem o compartilhamento de parâmetros
  • Saver/checkpoints persistem e restauram modelos treinados
Q1: No grafo computacional do TF, o que acontece durante a execução de uma sessão?
O grafo é avaliado e as operações são alocadas aos dispositivos A estrutura do grafo é modificada Os gradientes são calculados manualmente
Uma sessão recebe o grafo pré-definido e o executa, alocando as operações à CPU/GPU.
Q2: Principal vantagem da autodiff:
Treinamento mais rápido ao pular os gradientes Calcula automaticamente os gradientes para qualquer computação diferenciável Reduz o uso de memória
A autodiff utiliza a regra da cadeia através do grafo para computar gradientes exatos automaticamente.
Q3: O TensorBoard é usado principalmente para:
Treinar modelos mais rapidamente Visualizar o grafo, as métricas e o comportamento do modelo Ajustar hiperparâmetros automaticamente
O TensorBoard fornece painéis interativos para visualização do grafo, curvas de perda, histogramas e projeções de embeddings.
Capítulo 10

Introdução às Redes Neurais Artificiais

20 min #rna #retropropagação #ativação

Inspiradas nos neurônios biológicos, as Redes Neurais Artificiais (RNAs) são a base do aprendizado profundo. O Perceptron (Rosenblatt, 1957) é a RNA mais simples: uma única camada de unidades lógicas de limiar. Ele aprende reforçando os pesos para previsões corretas — mas só consegue classificar padrões linearmente separáveis (falhando no XOR). Essa limitação foi superada ao empilhar camadas em um Perceptron Multicamadas (MLP).

Um MLP consiste em uma camada de entrada, camadas ocultas e uma camada de saída. A retropropagação (Rumelhart, Hinton, Williams, 1986) calcula os gradientes aplicando a regra da cadeia de trás para frente através da rede. Principais funções de ativação: sigmoide (satura — gradientes evanescentes), tanh (centrada em zero, ainda satura), ReLU (não saturante, rápida, mas com problema de "morte da ReLU"). A ReLU e suas variantes (Leaky ReLU, ELU) tornaram-se o padrão para camadas ocultas.

Treinar MLPs com a API de alto nível do TensorFlow simplifica o processo. Principais decisões arquiteturais: número de camadas ocultas (mais camadas capturam características hierárquicas), neurônios por camada (mais larga = mais capacidade, risco de sobreajuste) e funções de ativação (ReLU para ocultas, sigmoide/softmax para saída). O teorema da aproximação universal garante que um MLP com uma camada oculta pode aproximar qualquer função contínua — mas a profundidade permite representações mais eficientes.

$$ \text{Perceptron: } \hat{y} = \begin{cases} 1 & \text{se } \mathbf{w}^T\mathbf{x} + b \ge 0 \\ 0 & \text{caso contrário} \end{cases} $$ $$ \\text{MLP hidden layer: } \\mathbf{h} = \\phi(\\mathbf{W}_{h}\\mathbf{x} + \\mathbf{b}_{h}) \\qquad \\text{output: } \\hat{\\mathbf{y}} = \\phi_{o}(\\mathbf{W}_{o}\\mathbf{h} + \\mathbf{b}_{o}) $$
Pontos-Chave
  • O Perceptron só consegue separar dados linearmente separáveis (falha no XOR)
  • O MLP com camadas ocultas supera isso por meio de funções de ativação não lineares
  • Retropropagação = regra da cadeia aplicada através da rede para calcular gradientes
  • A ReLU é a ativação oculta padrão — rápida, não saturante, mas pode "morrer"
  • Sigmoide/tanh saturam → gradientes evanescentes em redes profundas
  • Teorema da aproximação universal: uma camada oculta é suficiente (em teoria)
  • A profundidade permite o aprendizado hierárquico de características e eficiência de parâmetros
Q1: Por que um único Perceptron não consegue resolver o XOR?
O XOR requer mais de duas entradas O XOR não é linearmente separável A regra de aprendizado do Perceptron é muito lenta
A tabela-verdade do XOR mostra que nenhuma fronteira linear única pode separar os quatro pontos. Um MLP é necessário.
Q2: O problema da "morte da ReLU":
As saídas da ReLU são sempre muito grandes Neurônios que emitem apenas zero param de aprender (gradiente zero para entradas negativas) A ReLU causa overflow numérico
Quando a soma ponderada de uma ReLU é sempre negativa, ela emite zero e recebe gradiente zero — efetivamente "morrendo".
Q3: A retropropagação computa os gradientes via:
Diferenciação numérica Regra da cadeia do cálculo de trás para frente através da rede Busca aleatória por atualizações ótimas
A retropropagação aplica a regra da cadeia da saída para a entrada, calculando ∂perda/∂w para cada peso.
Capítulo 11

Treinamento de Redes Neurais Profundas

24 min #aprendizado-profundo #otimização #regularização

Treinar redes profundas introduz desafios únicos. Os gradientes evanescentes ocorrem quando os gradientes encolhem exponencialmente através das camadas; os gradientes explosivos são o oposto. Ambos decorrem da retropropagação multiplicativa. A inicialização dos pesos mitiga isso: Xavier/Glorot (variância = 2/(n_in + n_out)) para sigmoide/tanh; He (variância = 2/n_in) para ReLU.

A Normalização em Lote (BatchNorm) é revolucionária: normaliza as entradas de cada camada para média zero e variância unitária em todo o minilote e, em seguida, aplica escala/deslocamento aprendíveis. Isso estabiliza o treinamento, permite taxas de aprendizado mais altas e atua como regularização leve. O truncamento de gradiente limita a magnitude dos gradientes. A aprendizagem por transferência reutiliza camadas pré-treinadas — prática padrão quando os dados são limitados.

Otimizadores mais rápidos: Momentum acumula velocidade; NAG olha adiante; AdaGrad adapta por parâmetro (decai rápido demais); RMSProp usa média móvel exponencial; Adam combina Momentum + RMSProp — o otimizador padrão. O escalonamento da taxa de aprendizado reduz sistematicamente η. Regularização: penalidade ℓ₁/ℓ₂, Dropout (desativa neurônios aleatoriamente — força redundância), max-norm, aumento de dados.

$$ \\text{BatchNorm: } \\hat{x}^{(i)} = \\frac{x^{(i)} - \\mu_{B}}{\\sqrt{\\sigma_{B}^2 + \\epsilon}},\\quad z^{(i)} = \\gamma \\hat{x}^{(i)} + \\beta $$ $$ \\text{Adam: } m_t = \\beta_{1} m_{t-1} + (1-\\beta_{1})g_t,\\quad s_t = \\beta_{2} s_{t-1} + (1-\\beta_{2})g_t^2 $$ $$ \\hat{m}_t = \\frac{m_t}{1-\\beta_{1}^t},\\quad \\hat{s}_t = \\frac{s_t}{1-\\beta_{2}^t},\\quad \\theta_{t+1} = \\theta_{t} - \\eta\\frac{\\hat{m}_t}{\\sqrt{\\hat{s}_t}+\\epsilon} $$
Pontos-Chave
  • Gradientes evanescentes/explosivos afligem redes profundas — a inicialização adequada é essencial
  • Inicialização He para ReLU; Xavier/Glorot para sigmoide/tanh
  • A BatchNorm normaliza as entradas das camadas — treinamento mais rápido, LRs mais altas, regularização leve
  • A aprendizagem por transferência é padrão quando os dados são limitados
  • O Adam combina momentum + taxas de aprendizado adaptativas — o otimizador padrão
  • O Dropout é a regularização mais popular — força representações redundantes
  • O escalonamento da taxa de aprendizado melhora a convergência e o desempenho final
Q1: A inicialização de He foi projetada para qual ativação?
Sigmoide ReLU (e variantes como Leaky ReLU, ELU) Tanh
A inicialização de He utiliza variância 2/n_in, levando em conta que a ReLU zera metade das ativações.
Q2: A Normalização em Lote opera:
Normalizando as previsões da camada de saída Normalizando as entradas de cada camada para média zero e variância unitária em todo o minilote Reduzindo o tamanho do lote durante o treinamento
A BatchNorm normaliza dentro de cada minilote e então aplica escala (γ) e deslocamento (β) aprendíveis.
Q3: O Adam combina quais duas ideias?
SGD e BatchNorm Truncamento de gradiente e decaimento de peso Momentum e RMSProp (LRs adaptativas por parâmetro)
Adam = Estimativa de Momento Adaptativa. Mantém momentos semelhantes aos do Momentum e do RMSProp por parâmetro.
Capítulo 12

Distribuindo o TensorFlow por Dispositivos e Servidores

14 min #distribuído #GPU #escalabilidade

À medida que os modelos e conjuntos de dados crescem, distribuir a computação torna-se necessário. O TensorFlow oferece suporte nativo à execução paralela em múltiplos dispositivos (CPUs e GPUs). As operações são automaticamente alocadas aos dispositivos disponíveis, com diretivas explícitas de posicionamento de dispositivo para controle refinado. A gestão de memória da GPU é crítica — as GPUs têm memória limitada, então o TF aloca apenas o necessário.

Para múltiplos servidores, o TF utiliza uma arquitetura distribuída com serviços mestre e trabalhador. O paralelismo de dados divide cada minilote entre dispositivos — cada um calcula gradientes em sua fração e, em seguida, os gradientes são calculados em média. O paralelismo de modelo divide o próprio modelo entre dispositivos (diferentes camadas em diferentes GPUs). Dois modos de replicação: in-graph (cliente único, um grafo) e between-graph (múltiplos clientes, grafos separados — mais comum). Os servidores de parâmetros armazenam os parâmetros do modelo; os trabalhadores calculam as atualizações dos gradientes.

# Device placement in TensorFlow with tf.device("/cpu:0"): a = tf.constant([1.0, 2.0, 3.0, 4.0]) with tf.device("/gpu:0"): b = tf.constant([1.0, 0.0, 1.0, 0.0]) c = a + b # Auto-transfers a to GPU # Distributed: between-graph replication cluster = tf.train.ClusterSpec({ "ps": ["ps0.example.com:2222"], "worker": ["worker0.example.com:2222", "worker1.example.com:2222"] })
Pontos-Chave
  • O TF distribui automaticamente as operações entre CPU e GPU em uma única máquina
  • O paralelismo de dados (dividir o lote) domina; o paralelismo de modelo para modelos enormes
  • Replicação in-graph (cliente único) vs. between-graph (múltiplos clientes)
  • Os servidores de parâmetros centralizam os pesos; os trabalhadores calculam gradientes das frações
  • A gestão de memória da GPU e o carregamento eficiente de dados previnem gargalos
  • Atualizações síncronas são mais estáveis; as assíncronas são mais rápidas, porém mais ruidosas
Q1: O paralelismo de dados significa:
Diferentes camadas em diferentes dispositivos O minilote é dividido entre dispositivos, cada um calculando gradientes em sua fração Os dados de treinamento são comprimidos
O paralelismo de dados divide o lote entre os trabalhadores; os gradientes são calculados em média e aplicados.
Q2: Os servidores de parâmetros:
Armazenam o conjunto de dados de treinamento Mantêm e atualizam os parâmetros do modelo, recebendo gradientes dos trabalhadores Gerenciam a memória da GPU
Os servidores de parâmetros armazenam os parâmetros do modelo. Os trabalhadores obtêm os parâmetros, calculam gradientes e enviam as atualizações de volta.
Q3: Between-graph vs. in-graph replication:
Between-graph: cada trabalhador tem seu próprio grafo; in-graph: um grafo abrange os dispositivos Between-graph usa apenas GPUs Nenhuma diferença prática
A replicação between-graph tem clientes separados construindo grafos independentes — comum para treinamento distribuído.
Capítulo 13

Redes Neurais Convolucionais

22 min #cnn #convolução #visão-computacional

As CNNs são inspiradas no córtex visual, onde os neurônios respondem a campos receptivos específicos e detectam padrões simples compondo-os hierarquicamente em representações complexas. Uma camada convolucional aplica filtros (kernels) aprendíveis que deslizam sobre a entrada, calculando produtos escalares em cada posição e produzindo mapas de características. Principais vantagens: conectividade esparsa (apenas regiões locais), compartilhamento de parâmetros (mesmo filtro em toda a imagem — equivariância à translação), drástica redução de parâmetros.

Após a convolução, as camadas de pooling reduzem a resolução: o max pooling toma o máximo em cada janela; o average pooling toma a média. Arquiteturas clássicas: LeNet-5 (1998) estabeleceu conv→pool→conv→pool→fc. A AlexNet (2012) — mais profunda, ReLU, Dropout, venceu o ImageNet por ampla margem, deflagrando a revolução do aprendizado profundo. A GoogLeNet (2014) — módulos inception (múltiplos tamanhos de filtro em paralelo). A ResNet (2015) — inovadoras conexões residuais: aprendem funções residuais F(x)=H(x)−x, possibilitando redes com mais de 152 camadas.

$$ S(i,j) = (I * K)(i,j) = \\sum_{m=0}^{M-1}\\sum_{n=0}^{N-1} I(i+m, j+n) \\cdot K(m, n) $$ $$ \\text{ResNet block: } \\mathbf{y} = \\mathcal{F}(\\mathbf{x}, \\{W_i\\}) + \\mathbf{x} $$
Pontos-Chave
  • As camadas convolucionais utilizam filtros aprendidos para detecção local de características com compartilhamento de parâmetros
  • A conectividade esparsa reduz drasticamente os parâmetros em comparação com camadas totalmente conectadas
  • O pooling proporciona redução espacial e invariância translacional
  • LeNet → AlexNet → GoogLeNet → ResNet: a evolução arquitetural
  • As conexões residuais da ResNet permitem treinar redes com centenas de camadas
  • A memória da CNN é dominada pelos mapas de características das camadas iniciais; a computação, pelas camadas finais
Q1: Principal vantagem do compartilhamento de parâmetros nas CNNs:
Treinamento mais rápido na GPU Redução drástica de parâmetros e equivariância à translação Melhor tratamento de imagens coloridas
O mesmo filtro desliza por toda a imagem — uma característica detectada em uma localização pode ser detectada em qualquer lugar.
Q2: Que problema as conexões residuais da ResNet resolveram?
Sobreajuste em conjuntos de dados pequenos O problema da degradação — redes mais profundas com desempenho pior devido aos gradientes evanescentes Velocidade de inferência lenta
As conexões residuais fornecem uma via direta para o gradiente, permitindo que redes muito profundas treinem efetivamente.
Q3: O max pooling opera:
Calculando a média dos valores em uma janela Tomando o valor máximo dentro de cada janela de pooling Aplicando pesos aprendidos a cada posição
O max pooling seleciona a ativação mais forte em cada janela, reduzindo as dimensões espaciais enquanto retém as características salientes.
Capítulo 14

Redes Neurais Recorrentes

22 min #rnn #lstm #pln

As Redes Neurais Recorrentes (RNNs) processam dados sequenciais mantendo estado interno ao longo dos passos de tempo. Um neurônio recorrente recebe tanto a entrada atual quanto sua saída anterior — criando um laço de realimentação. As RNNs suportam várias configurações: sequência-para-sequência, sequência-para-vetor, vetor-para-sequência e arquiteturas codificador-decodificador.

A Retropropagação Através do Tempo (BPTT) desenrola a rede para o treinamento. As RNNs básicas sofrem de gradientes evanescentes/explosivos através do tempo, limitando as dependências de longo prazo. A LSTM (Hochreiter & Schmidhuber, 1997) resolve isso com células de memória com portões: portão de esquecimento (descarta), portão de entrada (armazena novas informações), portão de saída (controla a saída). O estado da célula atua como uma via expressa para o gradiente. A GRU simplifica com dois portões (reinicialização, atualização), oferecendo desempenho semelhante com menos parâmetros.

Para PLN: os embeddings de palavras (Word2Vec, GloVe) mapeiam palavras para vetores densos onde as relações são capturadas por aritmética vetorial (rei − homem + mulher ≈ rainha). Arquiteturas codificador-decodificador para tradução: o codificador comprime a entrada em um vetor de pensamento; o decodificador gera a saída. Os mecanismos de atenção (inovações posteriores) melhoram dramaticamente isso ao permitir acesso focado ao contexto.

$$ \begin{aligned} \mathbf{f}_{t} & = \sigma(\mathbf{W}_{f} \cdot [\mathbf{h}_{t-1}, \mathbf{x}_{t}] + \mathbf{b}_{f}) \\ \mathbf{i}_{t} & = \sigma(\mathbf{W}_{i} \cdot [\mathbf{h}_{t-1}, \mathbf{x}_{t}] + \mathbf{b}_{i}) \\ \mathbf{o}_{t} & = \sigma(\mathbf{W}_{o} \cdot [\mathbf{h}_{t-1}, \mathbf{x}_{t}] + \mathbf{b}_{o}) \\ \tilde{\mathbf{C}}_{t} & = \tanh(\mathbf{W}_{C} \cdot [\mathbf{h}_{t-1}, \mathbf{x}_{t}] + \mathbf{b}_{C}) \\ \mathbf{C}_{t} & = \mathbf{f}_{t} \odot \mathbf{C}_{t-1} + \mathbf{i}_{t} \odot \tilde{\mathbf{C}}_{t} \\ \mathbf{h}_{t} & = \mathbf{o}_{t} \odot \tanh(\mathbf{C}_{t}) \end{aligned} $$
Pontos-Chave
  • As RNNs mantêm estado ao longo dos passos de tempo por meio de conexões recorrentes com pesos compartilhados
  • A BPTT desenrola a rede através do tempo para o cálculo dos gradientes
  • As RNNs básicas não conseguem capturar dependências de longo prazo (gradientes evanescentes através do tempo)
  • A LSTM resolve isso com células de memória com portões — portões de esquecimento, entrada e saída
  • A GRU simplifica a LSTM com dois portões (reinicialização, atualização) — frequentemente igualmente eficaz
  • Os embeddings de palavras capturam relações semânticas em espaços vetoriais densos
  • As arquiteturas codificador-decodificador lidam com transdução de sequências (tradução, sumarização)
Q1: Problema fundamental das RNNs básicas em sequências longas:
Exigem muita memória Gradientes evanescentes através do tempo impedem o aprendizado de dependências de longo prazo Não conseguem processar sequências de comprimento variável
Os gradientes decaem exponencialmente através dos passos de tempo, tornando impossível aprender dependências além de ~10 passos.
Q2: Na LSTM, o portão de esquecimento controla:
Qual saída enviar Quais informações descartar do estado da célula Qual entrada processar primeiro
O portão de esquecimento (f_t, 0-1 via sigmoide) multiplica o estado da célula, esquecendo seletivamente informações irrelevantes.
Q3: A GRU difere da LSTM principalmente por:
Usar apenas ativações ReLU Fundir os portões de esquecimento+entrada em um único portão de atualização, fundindo o estado da célula com o estado oculto Remover todos os mecanismos de portão
A GRU possui dois portões (reinicialização, atualização) em vez de três, e combina o estado da célula e o estado oculto em um só.
Capítulo 15

Autoencoders

18 min #autoencoder #não-supervisionado #generativo

Os Autoencoders são redes neurais treinadas para copiar sua entrada na sua saída, aprendendo representações eficientes no processo. Eles consistem em um codificador (comprime a entrada para um gargalo latente) e um decodificador (reconstrói a partir do gargalo). Um autoencoder subcompleto — gargalo menor que a entrada — força a captura de características salientes, análogo a um PCA não linear. As restrições impedem o aprendizado da função identidade.

Variantes: Autoencoders empilhados treinam camada por camada. O emparelhamento de pesos (decodificador = transposta do codificador) reduz os parâmetros. Os autoencoders com remoção de ruído adicionam ruído à entrada, mas devem reconstruir o original limpo — forçando características robustas que capturam a distribuição dos dados. Os autoencoders esparsos adicionam penalidade de esparsidade (divergência KL), incentivando representações distribuídas.

Os Autoencoders Variacionais (VAEs) codificam para uma distribuição (média, variância) em vez de um ponto. O decodificador amostra dessa distribuição; a perda inclui reconstrução + divergência KL para a Gaussiana padrão. Isso cria um espaço latente suave e contínuo onde a amostragem e a interpolação produzem novas saídas realistas — unindo autoencoders e modelos generativos probabilísticos. Os autoencoders foram historicamente importantes para o pré-treinamento não supervisionado de redes profundas.

$$ \\text{AE loss: } \\mathcal{L} = \\| \\mathbf{x} - d(e(\\mathbf{x})) \\|^2 \\qquad \\text{Denoising: } \\mathcal{L} = \\| \\mathbf{x} - d(e(\\tilde{\\mathbf{x}})) \\|^2 $$ $$ \\text{VAE loss: } \\mathcal{L} = \\mathbb{E}_{q_{\\phi}(\\mathbf{z}|\\mathbf{x})}[\\log p_{\\theta}(\\mathbf{x}|\\mathbf{z})] - D_{KL}\\bigl(q_{\\phi}(\\mathbf{z}|\\mathbf{x}) \\| p(\\mathbf{z})\\bigr) $$
Pontos-Chave
  • Os autoencoders aprendem representações comprimidas reconstruindo a entrada através de um gargalo
  • AE subcompleto ~ PCA não linear; as restrições impedem o aprendizado da identidade
  • Os AEs com remoção de ruído aprendem características robustas reconstruindo a entrada limpa a partir da entrada corrompida
  • Os AEs esparsos incentivam representações distribuídas e interpretáveis via penalidade de esparsidade
  • Os VAEs codificam para distribuições, permitindo espaços latentes suaves e amostragem generativa
  • Os AEs empilhados foram historicamente utilizados para pré-treinamento não supervisionado de redes profundas
Q1: Um autoencoder subcompleto tem um gargalo:
Igual à dimensão da entrada Menor que a entrada, forçando a compressão das características salientes Maior que a entrada para melhor reconstrução
Um gargalo subcompleto força a rede a aprender representações comprimidas, descartando o ruído.
Q2: O autoencoder com remoção de ruído difere do padrão por:
Usar perda de entropia cruzada Receber entrada corrompida, mas reconstruir o original limpo Ter mais camadas no codificador
Ao treinar para remover ruído, aprendem-se características que capturam a verdadeira variedade dos dados, em vez de memorizar padrões de entrada.
Q3: O que torna os VAEs generativos?
Gargalo maior que os AEs padrão Distribuição latente suave da qual novas amostras podem ser extraídas e decodificadas Treinamento em dados não rotulados
Os VAEs impõem um espaço latente Gaussiano, tornando-o contínuo — amostras aleatórias são decodificadas em novas saídas realistas.
Capítulo 16

Aprendizado por Reforço

24 min #aprendizado-por-reforço #DQN #gradiente-de-política

O Aprendizado por Reforço (RL) é o terceiro grande paradigma de AM: um agente interage com um ambiente, realizando ações e recebendo recompensas. O objetivo do agente: aprender uma política π(a|s) que maximize a recompensa cumulativa por tentativa e erro. Diferentemente do aprendizado supervisionado, não há respostas corretas. O OpenAI Gym fornece ambientes padronizados para avaliação comparativa.

A busca de políticas otimiza diretamente os parâmetros da política — por exemplo, utilizando uma rede neural que emite probabilidades de ação. O problema da atribuição de crédito: quais ações causaram a recompensa final? Os gradientes de política via REINFORCE: aumentam a probabilidade de ações com alta recompensa. Este é um método de Monte Carlo — aguarda o fim do episódio, levando a alta variância.

Os Processos de Decisão de Markov (MDPs) formalizam o RL: (S, A, P, R, γ). O Q-Learning aprende Q(s,a) — retorno esperado da ação a no estado s, seguindo a política ótima. A equação de Bellman impulsiona o aprendizado. As Deep Q-Networks (DQN) (DeepMind, 2013) utilizam uma rede neural profunda para aproximar Q(s,a) a partir de pixels brutos. Duas inovações-chave: replay de experiência (descorrelaciona as amostras de treinamento) e redes-alvo (alvos Q estáveis). O AlphaGo (2016) combinou redes profundas com a Busca em Árvore de Monte Carlo para derrotar o campeão mundial de Go.

$$ Q(s,a) \\leftarrow Q(s,a) + \\alpha\\Bigl[r + \\gamma \\max_{a'} Q(s',a') - Q(s,a)\\Bigr] $$ $$ \\nabla_{\\theta} J(\\theta) \\approx \\frac{1}{N}\\sum_{n=1}^{N}\\sum_{t=1}^{T_n} \\nabla_{\\theta} \\log \\pi_{\\theta}(a_t^n|s_t^n) \\cdot G_t^n $$ $$ \\text{DQN loss: } \\mathcal{L} = \\bigl(r + \\gamma \\max_{a'} Q_{\\text{target}}(s',a') - Q(s,a)\\bigr)^2 $$

Inovações Revolucionárias da DQN

Replay de Experiência: A amostragem aleatória de transições passadas de um buffer de replay descorrelaciona os dados de treinamento. Rede-Alvo: Uma cópia periodicamente atualizada da Q-network previne o problema do "alvo móvel". Juntas, essas inovações permitiram que o RL escalasse para entradas visuais de alta dimensão pela primeira vez.

Pontos-Chave
  • RL: o agente aprende o comportamento ótimo por meio de interação, recompensas e penalidades
  • Política = mapeamento de estados para ações; pode ser representada por redes neurais
  • Problema da atribuição de crédito: quais ações causaram a recompensa?
  • Gradiente de política REINFORCE: aumenta a probabilidade de ações recompensadoras
  • Q-Learning aprende a função ação-valor via equação de otimalidade de Bellman
  • DQN = rede neural profunda para Q(s,a) + replay de experiência + rede-alvo
  • AlphaGo combinou redes profundas com Busca em Árvore de Monte Carlo para um jogo de Go sobre-humano
Q1: O problema da atribuição de crédito refere-se a:
Qual pesquisador recebe o crédito por um algoritmo Determinar quais ações em uma sequência causaram a recompensa final Atribuir recompensas a agentes em cenários multiagente
Quando uma recompensa chega após muitas ações, o agente deve descobrir quais ações contribuíram para aquele resultado.
Q2: O replay de experiência na DQN resolve:
Velocidade de treinamento lenta Amostras de treinamento consecutivas correlacionadas que desestabilizam o aprendizado Falta de dados de treinamento
Os estados consecutivos no RL são altamente correlacionados. O replay de experiência embaralha as transições passadas, descorrelacionando os lotes.
Q3: Propósito da rede-alvo na DQN:
Classificar estados antes da Q-network Fornecer alvos de valor Q estáveis atualizando com menor frequência Gerar amostras do buffer de replay
Sem uma rede-alvo, os valores Q perseguem suas próprias previsões. A rede-alvo fornece alvos estáveis.
Referência

Matriz de Comparação de Algoritmos

#referência#comparação
AlgoritmoTipoComplexidadeVelocidadeInterpret.Não LinearIdeal Para
Regressão LinearRegO(n²m)RápidaAltaNãoRelações lineares simples
Regressão LogísticaClassO(nm)RápidaAltaNãoLinha de base binária/multiclasse
SVM (RBF)AmbasO(m²~m³)MédiaMédiaSimPequeno-médio, fronteiras complexas
Árvore de DecisãoAmbasO(n·m·log m)RápidaMuito AltaSimInterpretável, não linear
Floresta AleatóriaAmbasO(n·m·log m·B)MédiaMédiaSimPropósito geral, import. de caract.
Gradient BoostingAmbasO(n·m·B)MédiaBaixaSimDados tabulares vencedores de competições
k-NNAmbasO(1)LentaMédiaSimConjuntos pequenos, sem treinamento
Naive BayesClassO(nm)RápidaMédiaNãoClassificação de texto, alta dimensão
MLP / DNNAmbasAltaRápidaMuito BaixaSimPadrões complexos, grandes dados
CNNAmbasMuito AltaRápidaBaixaSimImagens, dados espaciais
RNN / LSTMAmbasAltaMédiaMuito BaixaSimSequências, séries temporais, PLN
PCATransf. Não Sup.O(n²m)RápidaAltaNãoRedução de dimensionalidade
t-SNETransf. Não Sup.O(m²)LentaMédiaSimVisualização (2D/3D)
K-MeansAgrup. Não Sup.O(k·m·n·iter)MédiaMédiaSimAgrupamentos esféricos
DBSCANAgrup. Não Sup.O(m log m)MédiaMédiaSimAgrupamentos de formato arbitrário
◆ Progresso
Capítulos0/16
Quizzes0/48
Labs0/3
XP0