Eu prefácio isso dizendo que nem sempre é claro o que se quer dizer com "não paramétrico" ou "semiparamétrico" etc. Nos comentários, parece provável que o whuber tenha alguma definição formal em mente (talvez algo como escolher um modelo de alguma família onde é de dimensão infinita), mas eu vou ser bem informal. Alguns podem argumentar que um método não paramétrico é aquele em que o número efetivo de parâmetros que você usa aumenta com os dados. Eu acho que há um vídeo no videolectures.net onde (eu acho) Peter Orbanz dá quatro ou cinco tomadas diferentes sobre como podemos definir "não paramétrico". { M θ : θ ∈ Θ } ΘMθ{ Mθ: θ ∈ Θ }Θ
Como acho que sei que tipo de coisas você tem em mente, por simplicidade, assumirei que você está falando sobre o uso de processos gaussianos para regressão, de uma maneira típica: temos dados de treinamento estamos interessados em modelar a média condicional . Escrevemos
e talvez tenhamos a ousadia de assumir que os são iid e normalmente distribuídos, . será unidimensional, mas tudo será transferido para dimensões superiores.E ( Y | X( YEu, XEu) , I = 1 , . . . , nY i = f ( X i ) + ϵ i ϵ i ϵ i ∼ N ( 0 , σ 2 ) X iE(Y|X=x):=f(x)
Yi=f(Xi)+ϵi
ϵiϵi∼N(0,σ2)Xi
Se nosso pode aceitar valores em um continuum, então pode ser pensado como um parâmetro de (infinita) dimensão infinita. Portanto, no sentido em que estamos estimando um parâmetro de dimensão infinita , nosso problema é não paramétrico. É verdade que a abordagem bayesiana tem alguns parâmetros flutuando aqui e ali. Mas, na verdade, é chamado não paramétrico, porque estamos estimando algo de dimensão infinita. Os anteriores do GP que usamos atribuem massa a todas as vizinhanças de todas as funções contínuas, para que possam estimar arbitrariamente qualquer função contínua. f ( ⋅ )Xif(⋅)
As coisas na função turbulentos estão desempenhando um papel semelhante ao dos parâmetros de suavização nos estimadores frequentistas habituais - para que o problema a não ser absolutamente impossível nós temos que assumir que há alguma estrutura que nós esperamos ver exposição. Os bayesianos conseguem isso usando um prior no espaço de funções contínuas na forma de um processo gaussiano. De uma perspectiva bayesiana, estamos codificando crenças sobre , assumindo que é extraído de um GP com função de covariância. O prior penaliza efetivamente as estimativas de por ser muito complicado.f f fffff
Editar para problemas computacionais
A maioria (tudo?) Dessas coisas está no livro do Processo Gaussiano de Rasmussen e Williams.
Questões computacionais são complicadas para os GPs. Se prosseguirmos com niavelidade, precisaremos de memória de tamanho apenas para manter a matriz de covariância e (ao que parece operações para invertê-la. Existem algumas coisas que podemos fazer para tornar as coisas mais viáveis. Uma opção é notar que o indivíduo que realmente precisamos é , a solução para onde é a matriz de covariância. O método dos gradientes conjugados resolve isso exatamente nos cálculos de , mas se nos satisfizermos com uma solução aproximada, poderíamos terminar o algoritmo do gradiente conjugado após etapas e fazê-lo emO ( NO(N2)v ( K + σ 2 I ) v = Y K O ( N 3 ) k O ( k N 2 ) KO(N3)v(K+σ2I)v=YKO(N3)kO(kN2)cálculos. Também não precisamos necessariamente armazenar toda a matriz uma só vez.K
Então, passamos de para , mas isso ainda escala quadraticamente em , portanto, podemos não ser felizes. A próxima melhor coisa a fazer é trabalhar com um subconjunto de dados, digamos, do tamanho onde inverter e armazenar uma matriz não é tão ruim. Obviamente, não queremos apenas jogar fora os dados restantes. A abordagem do subconjunto de regressores observa que podemos derivar a média posterior do nosso GP como uma regressão de nossos dados em funções dependentes de dados determinadas por nossa função de covariância; então jogamos fora todos menos deles e reduzimos para cálculos.O ( k N 2 ) N m m × m S N m O ( m 2 N )O(N3)O(kN2)Nmm×mYNmO(m2N)
Existem algumas outras opções em potencial. Poderíamos construir uma aproximação de baixo escalão para e definir onde é e de escalão ; ele vira invertendo , neste caso, pode ser feito em vez invertendo . Outra opção é escolher a função de covariância como esparsa e usar métodos de gradiente conjugado - se a matriz de covariância for muito esparsa, isso poderá acelerar substancialmente os cálculos.K = Q Q T Q n × q q K + σ 2 I Q T Q + σ 2 IKK=QQTQn×qqK+σ2IQTQ+σ2I