Teoria do aprendizado Marcelo K. Albertini 7 de Agosto de 2014
2/37 Teoria do aprendizado Teoremas não existe almoço grátis Viés e variância Aprendizado PAC Dimensão VC Máquinas de vetores suporte
3/37 Teoremas não existe almoço grátis Acc G (L) = acurácia de generalização do algoritmo L = acurácia de L em exemplos de teste F = conjunto de todos possíveis conceitos, y = f ( x) Teorema Para qualquer algoritmo de aprendizado L 1 F Acurácia G (L) = 1 2 F considerando a distribuição completa dos dados D e todos os possíveis conceitos F.
4/37 Teoremas não existe almoço grátis 1 F Acc G (L) = 1 2 F Acc G (L) = acurácia de generalização de L = acurácia de L em teste F = conj. de possíveis conceitos, y = f ( x) Ideia da prova Dado qualquer conjunto de treino S: para todo conceito f onde Acc G (L) = 1 2 + δ, existe um conceito f onde Acc G (L) = 1 2 δ. x S, f ( x) = f ( x) = y x / S, f ( x) = f ( x)
5/37 Teoremas não existe almoço grátis Corolário Para quaisquer dois algoritmos de aprendizado L 1 e L 2 : Se problema de aprendizado tal que Acc G (L 1 ) > Acc G (L 2 ) Então problema de aprendizado tal que Acc G (L 2 ) > Acc G (L 1 )
6/37 Significado prático Não espere que um algoritmo será sempre o melhor Tentar diferentes abordagens e comparar Mas, como dizer que uma rede de perceptrons será pior que apenas um perceptron? Overfitting
7/37 Viés e variância Decomposição viés-variância é peça-chave para entender algoritmos de aprendizado Ajuda explicar porque algoritmos simples podem superar algoritmos sofisticados Ajuda explicar porque mistura de modelos supera modelos simples Ajuda entender e evitar overfitting Decomposição padrão para perda quadrática Podem ser generalizados para perda zero-um
8/37 Definições Conjunto de treino: {( x 1, t 1 ),..., ( x n, t n )} Algoritmo de aprendizado y = f ( x) Medidas de perda avaliam a qualidade de predições Perda quadrática: L(t, y) = (t y) 2 Perda absoluta: L(t, y) = t y Perda zero-um: L(t, y) = 0 se y = t, 1 caso contrário Exemplo sobre viés e variância com dardos Perda = Viés + Variância + Ruído Nesta aula, ignoramos o ruído
Viés no aprendizado 9/37
Variância no aprendizado 10/37
11/37 Decomposição para perda quadrática Definição: E[y] = ȳ Podemos decompor a função de perda quadrática: (t y) 2 = (t ȳ + ȳ y) 2 = (t ȳ) 2 + (ȳ y) 2 + 2(t ȳ)(ȳ y) E[(t y) 2 ] = (t ȳ) 2 + E[(ȳ y) 2 ] Perda esperada = Viés + Variância A expectativa é sobre o conjunto de treino.
12/37 Como generalizar para outras funções de perda? E[(t y) 2 ] = (t ȳ) 2 + E[(ȳ y) 2 ] Para funções da forma (a b) 2 temos perda L(a, b) E[(t y) 2 ] E[L(t, y)] Perda esperada (t ȳ) 2 L(t, ȳ) Viés E[(ȳ y) 2 ] E[L(ȳ, y)] Variância
13/37 O que ȳ deve ser no caso da generalização? Predição principal Predição com menor perda média relativa a todas predições ȳ L = arg min y E[L(y, y )] Perda quadrática: ȳ = Média Perda absoluta: ȳ = Mediana Perda zero-um: ȳ = Moda
14/37 Definições generalizadas Viés: Perda causada pela predição principal = L(t, ȳ) Variância: perda média causada pela predição relativa à predição principal = E[L(ȳ, y)] Essas definições tem todas as propriedades necesárias. Por exemplo, para perda zero-um Viés = { 0 se predição principal está correta 1 caso contrário Variância = P(Predição Pred. principal) = P(y ȳ)
15/37 Como decompor perda zero-um? Assumir problema com 2 classes. Viés = 0 Perda = Viés + Variância Perda = P(y t) Variância = P(y ȳ) Viés = 0 y = t Viés = 1 Perda = Viés - Variância Perda = P(y t) = 1 P(y = t) = 1 P(y ȳ) porque se ȳ t então y = t y ȳ. Aumentar variância pode reduzir erro!
16/37 Generalização Perda = Viés + cvariância onde c = 1 se Viés = 0, caso contrário Se aplica para Perda quadrática: c = 1 Problemas com 2 classes: c = 1 Problemas multiclasses: c = P(y = t y ȳ) Custos variáveis: c = L(t, ȳ/l(ȳ, t)
17/37 Funções de perda métrica E sobre funções de perda em que a decomposição não se aplica? Para qualquer função de perda métrica: Perda Viés + Variância Perda max{viés Variância, Variância Viés}
18/37 Aprendizado PAC PAC learning = Probably approximately correct, ou seja, provavelmente aproximadamente correto Overfitting acontece porque erro de treino é uma estimativa ruim para o erro de generalização Podemos concluir algo sobre o erro de generalização a partir do erro de treino? Overfitting acontece quando o algoritmo de aprendizado não recebe exemplos o suficiente Podemos estimar quantos exemplos são o suficiente?
19/37 A definição do problema Conjunto de instâncias X Conjunto de hipóteses H Classificadores Conjunto de possíveis conceitos-alvo C Conceitos são funções booleanas Exemplos de treino gerados por uma distribuição de probabilidades D em X Algoritmo de aprendizado observa sequência D de exemplos de treino x, c( x), para algum conceito-alvo c C Instâncias x são obtidas da distribuição D Algoritmo de aprendizado provê valor-alvo c( x) para cada instância
20/37 Algoritmo de aprendizado deve produzir uma hipótese h estimando c h é avaliado por seu desempenho nas instâncias obtidas de D Nota: instâncias são probabiĺısticas e sem ruídos nas classificações
Erro verdadeiro de uma hipótese Figura: Em um espaço de instâncias X Definição: erro verdadeiro Erro é de uma hipótese h Escrito como erro D (h) Definido como uma probabilidade de classificação errada erro D (h) P x D [c(x) h(x)] 21/37
22/37 Duas noções de erro Erro de treino de hipótese h com respeito ao conceito-avo c Frequência de h(x) c(x) nos exemplos de treino Erro verdadeiro de h com respeito a c Frequência de h(x) c(x) em instâncias futuras Nossos problemas Podemos obter informações sobre o erro verdadeiro de h dado o erro de treino de h? Primeiro considere quando erro de treino de h é zero
23/37 Espaços de versões Espaço de versão VS H,D é um subconjunto de hipóteses em H consistente com exemplos de treino D Figura: Em um espaço de hipóteses H, r é o erro de treino e error é o erro verdadeiro.
24/37 Quantos exemplos são o suficiente? Teorema Se espaço de hipóteses H é finito E se D for uma sequência de m exemplos aleatórios do conceito-alvo C Então para algum 0 ɛ 1 a probabilidade de VSH,D conter uma hipótese com erro maior que ɛ é menor que H exp ɛm O porquê: P(1 hipót. c/ erro > ɛ consistente c/ 1exemplo) < 1 ɛ exp ɛ P(1 hipót. c/ erro > ɛ consistente c/ mexemplos) < exp ɛm P(1de H hipót. consistentes c/ mexemplos) < H exp ɛm
25/37 Algoritmos Consistentes Algoritmos de aprendizado consistentes segundo os resultados anteriores, produzirão hipóteses com error(h) ɛ Se queremos que essa probabilidade seja no máximo δ H exp ɛm δ Então m 1 (log H + log(1/δ)) ɛ
Aprendizado de conjunções Quantos exemplos para garantir com prob. (1 δ) que toda hipótese h em VS H,D tem erro erro D (h) ɛ? Usar o teorema m 1 (log H + log(1/δ)) ɛ Supondo que H contém conjunções de restrições de até n atributos booleanos. Então H = 3 n e m 1 ɛ (log 3n + log(1/δ)) 1 ɛ (n log 3 + log(1/δ)) 26/37
27/37 Exemplo: JogarTenis 1 atributo com 3 valores (apar^encia) 9 atributos com 2 valores (temp., umidade,... Linguagem: conjunção de atributos ou nulo H = 4 3 9 + 1 = 78733 Garantir erro com prob. 95% m 1 (log 78733 + log(1/δ)) ɛ VS tem somente hipót. com erro D (h) 10% Então, é suficente ter m exemplos m 1 (log 78733 + log(1/0.05)) = 143 0.1 Exemplos no domínio: 3 2 9 = 1536
28/37 Aprendizado PAC Considere uma classe C de possíveis conceitos-alvo definidos sobre um conjunto de instâncias X de tamanho n, e um algoritmo de aprendizado L usando espaço de hipóteses H. Definição C é PAC-aprendível por L usando H se e somente se para todo c C, distribuições D sobre X, ɛ tal que 0 < ɛ < 1/2, e δ tal que 0 < δ < 1/2, alg. de aprendizado L irá com probabilidade pelo menos (1 δ) produzir uma hipótese h H tal que erro D (h) ɛ, em tempo que é polinomial em relação a 1/ɛ, a 1/δ e ao tamanho de c.
29/37 Aprendizado agnóstico Até agora, assumimos que c H Em aprendizado agnóstico: não assumir c H O que podemos afirmar nesse caso? Limites de Hoeffding: Pr(erro D(h) > erro D (h) + ɛ) e 2mɛ2 Para o espaço de hipóteses H: P(erro D(h best ) > erro D (h best ) + ɛ) H e 2mɛ2 Qual é a complexidade amostral nesse caso? m 1 (log H + log(1/δ)) 2ɛ 2
30/37 Dimensão VC O que podemos dizer sobre hipóteses com parâmetros numéricos? Ou seja, espaços de hipóteses infinitos Solução: usar dimensão VC em vez de log H
31/37 Dividindo um conjunto de instâncias Definição: uma dicotomia de um conjunto S é uma partição de S em dois subconjuntos disjuntos Definição: um conjunto de instâncias S é dividida pelo espaço de hipóteses H se e somente se para toda dicotomia de S existe alguma hipótese em H consistente com essa dicotomia
32/37 Três instâncias divididas Figura: Espaço de instâncias X
33/37 A dimensão de Vapnik-Chervonenkis Definição A dimensão de Vapnik-Chervonenkis, VC(H), do espaço de hipóteses H definido sobre o espaço de instâncias X é o tamanho do maior subconjunto finito de X que pode ser dividido por H. Se conjuntos arbitrariamente grandes de X pode ser dividido por H, então VC(H).
34/37 Dimensão VC de superfícies de decisão linear Figura: Dimensão VC de hiperplano em um espaço d-dimensional é d + 1.
35/37 Complexidade amostral a partir da dimensão VC Quantas amostras sorteadas aleatoriamente são suficientes para garantir um erro de no máximo ɛ com probabilidade pelo menos (1 δ)? m 1 ɛ (4 log 2(2/δ) + 8VC(H) log 2 (13/ɛ))
Support Vector Machines - Máquinas de vetores-suporte 36/37
37/37 Support Vector Machines - Máquinas de vetores-suporte Muitos hiperplanos diferentes podem separar exemplos positivos de negativos Escolhe-se o hiperplano com margem máxima Margem: distância mínima entre plano e exemplos Limite na dimensão VC diminui de acordo com a margem Vetores de suporte: exemplos que determinam o plano E[erro D (h)] E[num.vetoresdesuporte] num.vetoresdetreino 1 Dados com ruído: usar variáveis de folga Evita overfitting mesmo em espaços de alta-dimensionalidade: e.g. textos e imagens Não-linear: estender dados em atributos derivados