Introdução Sparse Bayesian Learning : Regressão Sparse Bayesian Learning para Classificação Exemplos Sparsity Usando RVMs Conclusões

Documentos relacionados
Técnicas computacionais em probabilidade e estatística II

SUPPORT VECTOR MACHINE - SVM

Aprendizado de Máquina (Machine Learning)

2. Redes Neurais Artificiais

Uma Introdução a SVM Support Vector Machines. Obs: Baseada nos slides de Martin Law

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

Máquinas de Vetores de Suporte

ESTATÍSTICA COMPUTACIONAL

Métodos para Classificação: - Naïve Bayes.

CC-226 Aula 07 - Estimação de Parâmetros

Modelos Lineares Generalizados - Estimação em Modelos Lineares Generalizados

Disciplina de Modelos Lineares Professora Ariane Ferreira

SME0300 Cálculo Numérico Aula 4

Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação

Influencia de Distribuições a priori na Analise Bayesiana em dados de contagem

Métodos iterativos para sistemas lineares.

ESTATÍSTICA COMPUTACIONAL

Máquinas de Vetores de Suporte

Métodos Computacionais para inferência estatística

Modelos Bayesianos. Ernesto F. L. Amaral Magna M. Inácio

Redes Neurais Artificiais

Modelos de regressão para dados correlacionados. Cibele Russo

Markov Switching Models. Profa. Airlane Alencar. Depto de Estatística - IME-USP. lane. Ref: Kim e Nelson (1999) e Hamilton (1990)

ESTATÍSTICA COMPUTACIONAL

Adriana da Costa F. Chaves. Máquina de Vetor Suporte (SVM) para Classificação Binária 2

Método do Lagrangiano aumentado

Aula 1: k-nearest Neighbors

Teoria do aprendizado

Marina Andretta. 17 de setembro de Baseado no livro Numerical Optimization, de J. Nocedal e S. J. Wright.

Descoberta de conhecimento em redes sociais e bases de dados públicas

Disciplina: Processamento Estatístico de Sinais (ENGA83) - Aula 03 / Detecção de Sinais

Thiago Zavaschi Orientador: Alessandro Koerich Programa de Pós-Graduação em Informática (PPGIa) Pontifícia Universidade

RESOLUÇÃO Nº 01/2016

Gibbs Sampler para ANOVA e Misturas

INF 1771 Inteligência Artificial

p( y θ ) depende de um parâmetro desconhecido θ.

Cap. 8 - Intervalos Estatísticos para uma Única Amostra

ESTATÍSTICA COMPUTACIONAL

Teste de % de defeituosos para 1 amostra

Classificação: 1R e Naïve Bayes. Eduardo Raul Hruschka

IND 1115 Inferência Estatística Aula 6

Minera c ao de Dados Aula 6: Finaliza c ao de Regress ao e Classifica c ao Rafael Izbicki 1 / 33

Estatísticas Inferenciais Distribuições Amostrais. Estatística

Tópicos Especiais: Inteligência Artificial REDES NEURAIS

Aprendizado de Máquina. Conteudo. Terminologia. Notes. Notes. Notes. Notes. Aprendizagem Bayesiana. Luiz Eduardo S. Oliveira

MAT 461 Tópicos de Matemática II Aula 8: Resumo de Probabilidade

Ricardo Ehlers Departamento de Matemática Aplicada e Estatística Universidade de São Paulo

Agrupamento de dados. Critério 1: grupos são concentrações de dados k-means Critério 2: grupos são conjuntos de elementos próximos entre si espectral

θ depende de um parâmetro desconhecido θ.

A Bayesian Reassessment of Nearest-Neighbor Classification (2009)

Classificadores Lineares

Aula 2 Uma breve revisão sobre modelos lineares

Rede RBF (Radial Basis Function)

Inferência Bayesiana - Aula 1 -

Introdução a Inferência Bayesiana

Inferência Bayesiana

MOQ 13 PROBABILIDADE E ESTATÍSTICA. Professor: Rodrigo A. Scarpel

Probabilidades e Estatística MEEC, LEIC-A, LEGM

3 Redes Neurais Artificiais

INTRODUÇÃO A INFERÊNCIA BAYESIANA. Beatriz Cristina Flamia de Azevedo (PIBIC Jr./ Fundação Araucária - UTFPR),

CC-226 Introdução à Análise de Padrões

UNIVERSIDADE FEDERAL DO ABC

INF 1771 Inteligência Artificial

Aprendizagem Bayesiana

Máquinas de Vetores de Suporte - Support Vector Machines (SVM) Germano Vasconcelos

Aprendizagem de Máquina

Minicurso: Inteligência Artificial Aplicada a Sistemas Elétricos

MOQ-13 PROBABILIDADE E ESTATÍSTICA. Professor: Rodrigo A. Scarpel

Inferência. 1 Estimativa pontual de uma média 2 Estimativa intervalar de uma média. Renata Souza

Redes Neurais (Inteligência Artificial)

Aprendizado Bayesiano

PROCEDIMENTOS NÃO SUPERVISIONADOS E TÉCNICAS DE AGRUPAMENTO (parte 1)

Análise Bayesiana de Dados - Aula 1 -

Cap. 4 - Estimação por Intervalo

Determinação do tamanho amostral: uma abordagem genuinamente Bayesiana

Método de Newton truncado

Inferência Bayesiana Exata para Processos de Cox Level-Set

MÉTODOS NEWTON E QUASE-NEWTON PARA OTIMIZAÇÃO IRRESTRITA

Classificadores. André Tavares da Silva.

Estudo sobre decodificação iterativa usando códigos de treliça

CONHECIMENTOS ESPECÍFICOS

Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Elétrica ENG04037 Sistemas de Controle Digitais

ESTATÍSTICA COMPUTACIONAL

Cálculo Numérico. Santos Alberto Enriquez-Remigio FAMAT-UFU 2015

ESTATÍSTICA COMPUTACIONAL

CE062c - GAMLSS. Silva, J.P; Taconeli, C.A. 09 de outubro, Silva, J.P; Taconeli, C.A. CE062c - GAMLSS 09 de outubro, / 42

Inferências bayesianas com probabilidade

Introdução à probabilidade e estatística II

ANÁLISE DE SÉRIES TEMPORAIS

Aula 8: Árvores. Rafael Izbicki 1 / 33

Informática Parte 19 Prof. Márcio Hunecke

MODELOS DE REGRESSÃO PARA DADOS CONTÍNUOS ASSIMÉTRICOS

Lista 1 - Cálculo Numérico - Zeros de funções

Modelos Lineares Generalizados

DCC008 - Cálculo Numérico

Econometria em Finanças e Atuária

Introdução à probabilidade e estatística II

Informática. Aprendizado de Máquina. Professor Márcio Hunecke.

Modelos de Regressão Linear Simples - parte I

Transcrição:

Seminário de Bayesian statistical learning - Insper Departamento de Estatística Instituto de Matemática e Estatística - Universidade de São Paulo (IME-USP) 18 março, 2016

Estrutura da apresentação 1 Introdução 2 3 4 5 6 7

Introdução Aprendizado supervisionado de vetores input (de preditores) {x n } N n=1 e respostas observados {t n } N n=1, onde t pode ser um número real ou um rótulo de categoria Queremos fazer predições de t n para dados x n, n > N

Introdução Função y(x) definida em todo o espaço de possíveis entradas x Candidatas: y(x; w) = M w i φ i (x) = w T φ(x) Linear nos pesos {w i } i=1 Queremos evitar overfitting

Introdução: SVM Consideramos funções de um tipo correspondente às utilizadas pelo SVM y(x; w) = N w i K (x, x i ) + w 0 i=1 Uma função de base por cada registro nos dados de aprendizado Tentamos minimizar erro nos dados de treinamento/aprendizado e simultaneamente maximizar a margem entre as categorias Evita overfitting construindo modelo esparso com poucas funções K : aquelas associadas a support vectors na fronteira ou no lado errado dela

Overfitting Introdução Overfitting: resultado muito bom nos dados de aprendizado, potencialmente muito ruim para futuros dados

Introdução:Desvantagens do SVM O SVM já foi aplicado e produziu (e produz) resultados, mas a tecnologia tem algumas desvantagens: SVMs produzem modelos relativamente esparsos, mas o número de support vectors cresce linearmente com a quantidade de dados de aprendizado Pós-processamento freqüentemente necessário para reduzir a complexidade computacional

Introdução:Desvantagens do SVM Predições não são probabilísticas - estimativa pontual em regressão e decisão binária hard em classificação Regressão : error bars Classificação: precisamos de probabilidades a posteriori para adaptação a diferentes prioris de categoria e custos asimétricos de erros de classificação Existem estimativas de posterioris para SVMs, mas não são confiáveis Precisamos de estimativas para C, o parâmetro que controla o peso relativo de erros e margem e, para regressão, o parâmetro de sensibilidade ɛ. - Temos que usar validação cruzada - custo computacional e de dados K (x, x i ) restritas

Introdução: Desvantagens do SVM

Introdução: Desvantagens do SVM O SVM já foi aplicado e produziu (e produz) resultados, mas a tecnologia tem algumas desvantagens: SVMs produzem modelos relativamente esparsos, mas o número de support vectors cresce linearmente com a quantidade de dados de aprendizado Pós-processamento freqüentemente necessário para reduzir a complexidade computacional Predições não são probabilísticas - estimativa pontual em regressão e decisão binária hard em classificação Regressão : error bars Classificação: abordagem probabilística necessária - probabilidades a posteriori para adaptação a diferentes prioris de categoria e custos asimétricos de erros de classificação

Especificação do Modelo Modelo de regressão bayesiano e procedimento de inferência Tratamos dados {x n, t n } N n=1 como amostras do modelo com ruído: t n = y(x n ; w) + ɛ n, onde ɛ n N (0, σ 2 ) p(t n x) = N (t n y(x n, σ 2 ) Funções de base φ i (x) = K (x, x i )

Especificação do Modelo Se os t n são independentes, a verossimilhança do conjunto de dados é { p(t w, σ 2 ) = (2πσ 2 ) N/2 exp 1 } t Φw 2, (1) 2σ2 onde t = (t 1,..., t N ) T, w = (w 0,..., w N ) T e Φ é a design matrix de tamanho N (N + 1) Φ = [φ(x 1 ),..., φ(x N )] T, com φ(x n ) = [K (x n, x 1 ), K (x n, x 2 ),..., K (x n, x N )] T

Especificação do Modelo Como temos um parâmetro para cada registro no conjunto de dados, estimativas de máxima verossimilhança levariam a overfitting. Agora poderíamos colocar restrições nos parâmetros, mas adotamos uma abordagem bayesiana e... Introduzimos MAIS (!!) N + 1

Especificação do Modelo Mas esses N + 1 parâmetros a mais são os hiperparâmetros das prioris para w. A preferência por funções suaves (menos complexas) é expressada por prioris normais com média zero (e, portanto, mais probabilidade concentrado perto de zero): p(w α) = N i=0 N (w i 0, α 1 i ) Hiperprioris sobre α e β = σ 2 : N p(α) = Gamma(α i a, b) i=0 p(β) = Gamma(β c, d)

Distribuição Gamma Gamma(α a, b) = Γ (a) 1 b a α a 1 e bα Γ (a) = 0 ta 1 e t dt é a função gamma Para n inteiro e positivo, Γ (n) = (n 1)!

Como o modelo fica esparso Num apêndice do artigo, Tipping considera hiperprioris Gamma em geral, mas na maior parte do artigo, usa a = b = c = d = 0 para hiperprioris uniformes. Esse esquema acaba sendo uma espécie de automatic relevance determination.

Como o modelo fica esparso Usar hiperprioris largas sobre os hiperparâmetros permite que a probabilidade a posteriori fique concentrada em valores grandes de alguns dos α i. O resultado disso é que a probabilidade a posteriori do parâmetro (peso) associado, w i, fica concentrada em zero. Isso significa que podemos ignorar o preditor correspondente x i em nosso modelo.

Inferência Introdução O Teorema de Bayes nos dá a posteriori p(w, α, σ 2 t) = p(t w, α, σ2 )p(w, α, σ 2 ) p(t) Dado um novo ponto de teste x, predições são feitas sobre t em termos da preditiva p(t t) = p(t w, α, σ 2 )p(w, α, σ 2 t)dwdαdσ 2 Na prática, não conseguimos fazer esses cálculos. Precisamos de aproximações.

Inferência Introdução Não podemos calcular a posteriori p(w, α, σ 2 t) porque não sabemos calcular o denominador, p(t) = p(t w, α, σ 2 )p(w, α, σ 2 )dwdαdσ 2 Para contornar esse problema, expressamos a posteriori assim: p(w, α, σ 2 t) = p(w t, α, σ 2 )p(α, σ 2 t) e podemos calcular a integral de normalização p(t α, σ 2 ) = p(t w, σ 2 )p(w, α)dw, uma convolução de normais.

Inferência Introdução A posteriori sobre os pesos w é p(w t, α, σ 2 ) = p(t w, σ2 )p(w α) p(t α, σ 2 ) { p(w t, α, σ 2 ) = (2π) (N+1)/2 Σ 1/2 exp 1 } 2 (w µ)t Σ 1 (w µ), onde a covariância e média a posteriori são e A = diag(α 0, α 1,..., α N ) Σ = (σ 2 Φ T Φ + A) 1 µ = σ 2 ΣΦ T t

Inferência - aproximações Trocamos a posteriori dos hiperparâmetros p(α, σ 2 t) por uma função delta nos valores mais prováveis (moda) α MP e σmp 2 p(t α, σ 2 )δ(α MP, σmp 2 )dαdσ2 p(t α, σ 2 )p(α, σ 2 t)dαdσ 2 Tipping afirma que toda a evidência apresentada no artigo sugere que essa aproximação é boa em geral

Inferência Introdução Aprendizado com relevance vectors acaba sendo a procura pela moda da posteriori dos hiperparâmetros, i.e., a maximização de p(α, σ 2 t) p(t α, σ 2 )p(α)p(σ 2 ) com respeito a α e β. Com hiperprioris uniformes, só precisamos maximizar p(t α, σ 2 ), que podemos calcular: p(t α, σ 2 ) = p(t w, σ 2 )p(w α)dw { = (2π) N/2 σ 2 I+ΦA 1 Φ T 1/2 exp 1 } 2 tt (σ 2 I + ΦA 1 Φ T ) 1 t

Inferência Introdução p(t α, σ 2 ) : marginal likelihood (verossimilhança marginal) ou evidênca dos hiperparâmetros Maximização da verossimilhança marginal: evidence procedure

Otimização dos Hiperparâmetros Não podemos obter de forma fechada (uma equação) os valores de α e σ 2 que maximizam a verossimilhança marginal. Usamos reestimativa iterativa. Quando a derivada da verossimilhança marginal é zero, temos α novo i = γ i µ 2, i onde µ i é o i-ésimo peso médio a posteriori e γ i = 1 = α i Σ ii, onde Σ ii é o i-ésimo elemento diagonal da covariância a posteriori dos pesos w, calculados utilizando valores atuais de α e σ 2.

Otimização dos Hiperparâmetros Maximização da verossimilhança marginal com respeito a σ 2 resulta em (σ 2 ) novo t Φµ 2 = N γ i i

Algoritmo de Aprendizado Aplicamos as fórmulas para αi novo e (σ 2 ) novo e atualizamos as estatísticas a posteriori µ e Σ. Repetimos até satisfazer algum critério de convergência. Na prática, Tipping e seus colaboradores descobrirarm que durante o processo de reestimativa, muitos dos α i ficam grandes ( tendem ao ). p(w i t, α, σ 2 ) fica muito concentrada perto de w i = 0. Podemos podar as funções de base correspondentes.

Algoritmo de Aprendizado Faul e Tipping estudaram a maximização da verossimilhança marginal com respeito aos hiperparâmetros. Provaram que a verossimilhança marginal, considerada como função de um único hiperparâmetro, tem um único máximo que pode ser calculado analiticamente. Sob um critério de sparseness, esse máximo é equivalente a podar esse hiperparâmetro (e a função-base e parâmetro correspondentes) do modelo.

Predições Introdução Quando o procedimento de otimização dos hiperparâmetros converge, fazemos predições baseadas na posteriori sobre os pesos (coeficientes no modelo w), condicionada nos valores α MP e σ 2 MP Podemos calcular a distribuição preditiva. Para um novo x, p(t t, α MP, σ 2 MP ) = p(t w, σ 2 MP )p(w t, α MP, σ 2 MP )dw As duas partes do integrando são normais. Portanto, podemos fazer esse cálculo

Predições Introdução p(t t, α MP, σ 2 MP ) = N (t y, σ 2 ), onde y = µ T φ(x ) σ 2 = σ 2 MP + φ(x )Σφ(x ) A média preditiva é y(x ; µ), as funções de base ponderadas pelos pesos médios µ i - muitos são zero A variância preditiva ( error bars ) tem duas partes: a estimativa do ruído nos dados e a incerteza na predição dos pesos

Classificação Duas categorias - queremos a probabilidade a posteriori de um novo ponto pertencer a cada uma, dado x Aplicamos função sigmóide σ(y) = 1/(1 + e y ) a y(x) e, adotando uma Bernoulli para P(t x), a verossimilhança é P(t w) = N σ(y(x n ; w)) tn [1 σ(y(x n ; w))] 1 tn n=1 Aqui não podemos integrar os pesos analiticamente. Não temos expressões pra posteriori dos pesos p(w t, α), nem pra verossimilhança marginal P(t α). Usamos outra aproximação.

Classificação: algoritmo Pros atuais (fixos) valores de α, encontramos os pesos mais prováveis w MP (a moda). Como p(w t, α) P(t w)p(w α), é equivalente é procurar o máximo, sobre w, de log[p(t w)p(w α)] = com y n = σ(y(x n ; w)). N [t n log y n +(1 t n ) log(1 y n )] 1 2 wt Aw, n=1

Classificação: algoritmo O método de Laplace: aproximação quadrática da log-posteriori perto da sua moda. Tomando duas derivadas da log-posteriori, obtemos w w log p(w t, α) wmp = (Φ T BΦ + A) 1 B = diag(β 1, β 2,..., β N ) com β n = σ(y(x n ))[1 σ(y(x n ))] Isso é invertido para obter a covariância Σ de uma aproximação normal à posteriori sobre presos com moda em w MP

Classificação: algoritmo Usando as estatísticas Σ e w MP da aproximação normal, os hiperparâmetros α são atualizados usando as mesmas expressões usadas em regressão. Na moda de p(w t, α), usando a expressão do slide anterior e o fato w log p(w) t, α) wmp = 0, podemos escrever Σ = (Φ T BΦ + A) 1 w MP = ΣΦ T Bˆt ˆt = Fw + B 1 (t y)

Regressão: função sinc Função sinc(x) = sen(x)/x. Imaginamos um tubo ±ɛ em volta da função Dentro desse tubo, erros não são penalizados Support vectors ficam fora dessa região ou na sua fronteira. Kernel linear spline K (x m, x n ) = 1 + x m x n + x m x n min(x m, x n ) xm+xn 2 min(x m, x n ) 2 + min(xm,xn)3 3 (2) ɛ = 0, 01

Regressão: função sinc Com RVM, modelamos os dados com o mesmo kernel, para definir funções de base φ n (x) = K (x, x n ) Fixa variância do ruído em 0, 01 2 e fazer estimativa só de α. RVM utiliza apenas 9 relevance vectors Erro menor do que SVM

Regressão: função sinc

Regressão: função sinc

Extensões Introdução Função em duas dimensões: y(x 1, x 2 ) = sinc(x 1 ) + 0, 1x 2 Linear em x 2 - difícil de modelar com superposição de funções não-lineares A parte não-linear, sinc(x 1 ), só depende de x 1. x 2 acrescentará apenas ruído

Extensões Introdução

Extensões Introdução

Comparação - Regressão Correção: erros do SVM e RVM para a função sinc são 0.0378, 0.0326; 0.0215, 0.0187

Comparação - Classificação

Priori Sobre os Pesos Pra priori Gamma sobre os hiperparâmetros, podemos integrar sobre α independentemente para cada peso w i, para obter uma priori sobre os pesos: p(w i ) = p(w i α i )p(α i )dα i p(w i ) = ba Γ (a + 1 2 ) (2π) 1/2 Γ (a) (b + w 2 i /2) (a+ 1 2 ) Essa é uma densidade student s t sobre os w i.

Priori Sobre os Pesos

Implementações Com as descrições detalhadas do algoritmo original (no artigo de Tipping de 2001) e do algoritmo mais rápido (no artigo de Tipping e Faul de 2003), é possível escrever um programa para implementar o RVM. Mas não é necessário, pois algumas implementações estão disponíveis Através do site dele, Tipping disponibiliza uma implementação do RVM. Essa implementação utiliza o algoritmo mais rápido descrito no artigo de Tipping e Faul (2003). (continua no próximo slide)

Implementações Ainda há páginas sobre uma biblioteca para C++ chamada Kernel-Machine Library, mas o código não está disponível. Parece que a biblioteca incluía um RVM para regressão. A biblioteca dlib para C++ contém uma implementação do RVM para classificação e para regressão. Utiliza o novo algoritmo do artigo de Tipping e Faul (2003). Exemplo de classificação: http://dlib.net/rvm_ex.cpp.html Exemplo de regressão: http://dlib.net/rvm_regression_ex.cpp.html (continua no próximo slide)

Implementações O pacote kernlab pro R tem uma implementação do RVM para regressão. Veja http://www.inside-r.org/packages/cran/kernlab/ docs/rvm Um programador fez uma versão em python da implementação (para Matlab) de Tipping, utlizando a API scikit-learn. Veja https://github.com/jamesritchie/scikit-rvm

Patente Introdução Tipping e Microsoft patentearam um algoritmo de RVM em 1999. A patente, que pertence à Microsoft, vence em setembro de 2019. http://www.google.com/patents/us6633857 PORÉM... Existem implementações software livre em C++, python e Matlab, essa última sendo GPLv2 e disponível no site de Tipping... (continua no próximo slide)

Patente Introdução Há um comentário numa discussão sobre scikit-learn em que um programador alega ter perguntado para Tipping sobre a patente. Segundo o programador, a patente cobre o algoritmo original, mas não o novo algoritmo descrito no artigo de Tipping e Faul (2003). A existência das implementações software livre faria mais sentido nesse contexto. Parece que todas as implementações mencionadas aqui utilizam o novo algoritmo. https://github.com/scikit-learn/scikit-learn/ issues/1513 Veja o comentário do usuário jhallock7 em 7 de agosto de 2015 ( Aug 7, 2015 ).

Patente Introdução Enviei um e-mail para Tipping, expressando minha preocupação com a patente. Perguntei se o RVM pode ser utliizado num ambiente acadêmico e sob quais condições, e se pode ser utilizado num ambiente de negócios e sob quais condições. Se Tipping responder, atualizarei esta apresentação com a resposta.

Resultados comparáveis com outros métodos de statistical learning Modelos aprendidos são bem esparsos Classificação: obtemos a probabilidade a posteriori de pertencer a uma classe Não há limites no número e tipo de funções de base que podemos usar (mas temos que considerar recursos computacionais)

Referências O artigo principal que li é Tipping, M. E. (2001). Sparse Bayesian learning and the relevance vector machine. Journal of Machine Learning Research 1, 211 244. No site de Tipping, há uma página sobre RVMs: http://miketipping.com/sparsebayes.htm Vários artigos e apresentações sobre RVMs e uma implementação do RVM para Matlab estão disponíveis lá.

Referências Faul, A. C. e M. E. Tipping (2002). Analysis of sparse Bayesian learning. Em T. G. Dietterich, S. Becker, and Z. Ghahramani (Eds.), Advances in Neural Information Processing Systems 14, pp. 383 389. MIT Press. Faul e Tipping consideram alguns detalhes da verossimilhança marginal e sua maximização.

Referências Tipping, M. E. and A. C. Faul (2003). Fast marginal likelihood maximisation for sparse Bayesian models. In C. M. Bishop and B. J. Frey (Eds.), Proceedings of the Ninth International Workshop on Artificial Intelligence and Statistics, Key West, FL, Jan 3-6. Tipping e Faul apresentam um novo algoritmo para a maximização da verossimilhança marginal. Segundo o site de Tipping, o novo algoritmo é mais rápido do que o original do artigo de Tipping de 2001, utiliza menos memória no computador e poda as funções-base analiticamente e não numericamente.