SOA e Predição com Ajuda de Experts

MAC5005 - Fundamentos Matemáticos do Aprendizado Sequencial e Online

Victor S. Portella

IME-USP

2026-03-02

Relembrando - Classificação Binária Online

Para cada rodada \(t = 1, \dotsc, T\):


  • O Adversário escolhe um \(x_t \in \cX\)
  • O Jogador/Algoritmo escolhe uma predição \(p_t \in \cY = \{0,1\}\)
  • O Adversário escolhe e revela o rótulo real \(y_t \in \{0,1\}\)

Assim como no aprendizado estatístico, vamos começar pelo caso realizável:

Temos uma classe de hipóteses \(\cH \subseteq \cY^\cX\) conhecida, e existe \(h^* \in \cH\) tal que \[ y_t = h^*(x_t) \quad \text{para todo}~t \in [T] := \{1, \dotsc, T\}. \]

Importante: não assumimos mais nada sobre o adversário

Pergunta Qual o número máximo de erros que o algoritmo pode fazer?

Relembrando - Algoritmos para \(\cH\) finito

\[ \cV_t := \{ h \in \cH \;\colon\; h(x_s) = y_s~\text{para todo}~s < t \} \]

Na rodada \(t \in [T]\) , O algoritmo CONSISTENTE

  • Escolhe \(h_t \in \cV_t\)
  • Define \(p_t = h_t(x_t)\)

Na rodada \(t \in [T]\) , O algoritmo HALVING

  • Escolhe \(p_t \in \{0,1\}\) que maximiza o tamanho do conjunto \[ \{ h \in \cV_t \colon h(x_t) = p_t\} \]

Para \(p_t\) dado por CONSISTENTE e HALVING (resp.), temos \[ \sum_{t = 1}^T \ones[p_t \neq y_t] \leq |\cH| - 1 \quad \text{e} \quad \sum_{t = 1}^T \ones[p_t \neq y_t] \leq \log_2(|\cH|) \]

Relembrando - Árvores de estratégia

Uma árvore de estratégia (do adversário) é uma árvore binária completa de altura \(T\) com conjunto de vértices é \(v_1, \dotsc, v_{2^{T+1} -1} \in \cX\) com \(v_1\) de raiz.

Arestas e Notação:

  • \(\DESC(v_i,0) := v_{2i}\) (filho esquerdo de \(v\))

  • \(\DESC(v,1) := v_{2i + 1}\) (filho direito de \(v\))

As escolhas do adversário são dadas pela árvore. Começando pela raiz \(v = v_1\)

  • Adversário escolhe \(x_t = v\);
  • Adversário espera \(p_t\), e define \(y_t = |1 - p_t|\);
  • Adversário atualia \(v = \DESC(v, y_t)\).

Relembrando - Dimensão de Littlestone

Uma árvore de estratégia com vértices \((v_1, \dotsc, v_{2^{T + 1}-1})\) é fragmentada por \(\cH\) se para todo \(y \in \{0,1\}^T\) , definindo \(x_1 = v_1\) e \[ x_{t+1} = \DESC(x_{i}, y_i) \quad \text{para todo}~t \in [T-1], \] existe \(h \in \cH\) tal que \(h(x_t) = y_t\) para todo \(t \in [T]\).

Assim como em aprendizado estatístico, a ideia de fragmentação nos leva a uma noção de dimensão de \(\cH\)

A dimensão de Littlestone \(\LDim(\cH)\) de \(\cH\) o maior \(T \in \bN\) tal que existe uma árvore de estratégia de profundiade \(T\) fragmentada por \(\cH\)

Nenhum algoritmo pro jogador contra um adversário realizado por \(\cH\) pode garantir menos que \(\LDim(\cH)\) erros.

Um Algoritmo Ótimo para Classificação Binária Online

Standard Optimal Algorithm (SOA)

O algoritmo ótimo para classificação binária online é idêntico ao HALVING

Na rodada \(t \in [T]\) , o algoritmo SOA

  • Escolhe \(p_t \in \{0,1\}\) que maximiza o tamanho do conjunto maximiza a dimensão de Littlestone de \[ \{ h \in \cV_t \colon h(x_t) = p_t\} \]

Para \(p_t\) dado por SOA, \[ \sum_{t = 1}^T \ones[p_t \neq y_t] \leq \LDim(\cH) \]

No caso realizável, existe um algoritmo que sofre no máximo um número finito de erros em classificação binária online se e só se \(\LDim(\cH) < \infty\)

Comparando \(\LDim(\cH)\) com \(\VC(\cH)\)

Para qualquer \(\cH \subseteq \cX^{\{0,1\}}\), temos que \[ \VC(\cH) \leq \LDim(\cH). \]

Extra - Aprendizado Online e Privado

Classificação Binária Online Agnóstica e Predição com Ajuda de Experts

Predição com Ajuda de Experts

Vamos estudar primeiro Predição com Ajuda de Experts

Para cada rodada \(t = 1, \dotsc, T\):


  • O Jogador/Algoritmo escolhe um expert \(i_t \in [d]\) para seguir
  • O Adversário escolhe custos \(\ell_t \in [0,1]^d\) para os experts
  • O Jogador/Algoritmo sofre o custo \(\ell_t(i)\)

Classificação binária com \(\cH\) finito é um caso especial

Exemplo

Medida de Desempenho: Regret

No pior caso, o jogador erra toda rodada.

Ou seja, numero de erros não é informativo nesse caso.

Alternativa - Regret: comparar custo com o do melhor expert do jogo. \[ \Regret(T) = \sum_{t=1}^T \ell_t(i_t) - \min_{i \in [d]} \sum_{t = 1}^T \ell_t(i) \]

Objetivo: garantir regret sublinear no número de rodadas \(T\) : \[ \frac{\Regret(T)}{T} \longrightarrow 0 \quad \text{quando} \quad T \to \infty. \]

Má noticia: ainda muito dificil!

Impossibilidade de Cover Para qualquer algoritmo, existem custos tais que \[ \Regret(T) \geq T/2. \]

Solução: Aleatorização/Convexificação

Solução: aleatorizar a escolha do jogador

Equivalente a “convexificar” a escolha do jogador

  • O Jogador/Algoritmo escolhe uma distribuição \(p_t \in \Delta_d\) sobre os experts, onde \[ \Delta_d = \Big \{ p \in [0,1]^d \; \colon\; \sum_{i=1}^d p_i = 1 \Big \} \]
  • O Adversário escolhe custos \(\ell_t \in [0,1]^d\) para os experts
  • O Jogador/Algoritmo sofre o custo esperado \(\ell_t^\T p_t\)

Note que, na interpretação de aleatorização da escolha do jogador, o adversário não tem acesso aos “bits aleatórios” do jogador antes de escolher os custos;

Método dos Pesos Multiplicativos/Hedge

MWU(\(T, \eta\)):

Defina \(w_1 := \ones\)

Para \(t = 1, \dotsc, T\):

  • Jogador revela \[p_t = \frac{w_t}{\lVert w_t\rVert_1} \in \Delta_d\]
  • Adversário revela os custos \(\ell_t \in [0,1]^d\) e Jogador sofre custo \(\ell_t^\T p_t\)
  • Jogador atualiza os pesos \(p_{t+1}\) para a próxima rodada: \[ w_{t+1}(i) := w_t(i) \cdot \exp(-\eta \ell_t(i)) \quad \text{para todo}~i \in [d] \]

Para \(\eta > 0\), o algoritmo MWU(\(T, \eta\)) com \(\eta = \sqrt{2 \log d / T}\) garante \[ \Regret(T) \leq \sqrt{2 T \ln d}. \]

Aplicação: Classificação com \(\cH\) finito

Podemos usar MWU para classicação binária online com \(\cH\) finito

Caso “aleatorizado/convexificado”, onde a cada rodada \(t\):

  • O Jogador escolhe faz uma predição \(\hat{y}_t \in [0,1]\)
  • O Adversário revela \(y_t \in \{0,1\}\) e o jogador sofre custo \(|\hat{y}_t - y_t|\)

O regret para classificação binária online com respeito a classe hipóteses \(\cH\) é \[ \Regret(\cH, T) = \sum_{t=1}^T |\hat{y}_t - y_t| - \inf_{h \in \cH} \sum_{t=1}^T |h(x_t) - y_t| \]

Se \(\cH\) é finito, usando MWU o jogador pode garantir \[ \Regret(\cH, T) \leq \sqrt{2T\ln(|\cH|)}. \]