Aproximação da função universal


15

É conhecido pelo teorema da aproximação universal que uma rede neural com até uma única camada oculta e uma função de ativação arbitrária pode aproximar-se de qualquer função contínua.

Que outros modelos existem também que são aproximadores de funções universais


Entrei neste site para votar novamente nesta pergunta e em algumas das respostas.
Prasad Raghavendra

Respostas:


20

Isso é tratado extensivamente na literatura estatística, sob o tópico de regressão. Duas referências padrão aqui são o livro de Wasserman "todas as estatísticas não paramétricas" e "introdução à estimativa não paramétrica" ​​de Tsybakov. Vou falar brevemente sobre algumas das coisas padrão e tentar fornecer indicadores fora das estatísticas (este é um tópico comum e diferentes campos têm culturas diferentes: provar tipos diferentes de teoremas, fazer suposições diferentes).

  1. (Regressores de kernel, às vezes chamados de Nadaraya-Watson Estimator.) Aqui você escreve a função a qualquer momento como uma combinação ponderada de valores próximos. Mais concretamente, como isso está na literatura estatística, você normalmente supõe que tenha alguns exemplos extraídos de alguma distribuição e conserte algum kernel K (pode pensar nisso como um Gaussian, mas média zero é o que mais importa), e escrever f ( x ) : = Σ i f ( x i((xEu,f(xEu)))Eu=1nK ondecn(que são mais sensíveis a pequenas distâncias comonaumenta). A garantia é que, comon, um critério probilístico de distorção (expectativa de sup-norma, alta probabilidade, seja qual for) seja zero. (Dificilmente importa comoK separece - importa mais como você escolhecn.)

    f^(x): =Euf(xEu)(K(cn(x-xEu))jK(cn(x-xj))),
    cnnnKcn
  2. (Métodos de base.) Uma coisa semelhante é escolher uma família de "funções básicas", como Wavelets ou funções lineares por partes, mas realmente qualquer coisa que forme uma base (possivelmente incompleta) para o espaço vetorial e determine um valor linear linear ponderado. combinação de elementos dimensionados e traduzidos. As técnicas aqui diferem drasticamente de (1.); em vez de descartar as funções básicas centralizadas nos pontos de dados, você calcula cuidadosamente o peso e a localização de cada uma para minimizar algum critério de distorção. (Normalmente, sua quantidade é fixada a priori.) Uma abordagem está "perseguição", onde avidamente adicionar novas funções ao tentar minimizar alguns erro de aproximação entre f e feu2f^f. Para entender a diversidade de abordagens aqui, um artigo interessante é a "aproximação uniforme de funções com bases aleatórias", de Rahimi & Recht. Talvez eu deva dizer que o avô de todos esses é a expansão de Fourier; há muito material bom nisso no livro de Mallat sobre Wavelets.

  3. (Métodos de árvore.) Outra maneira é olhar para uma função como uma árvore; em cada nível, você está trabalhando com alguma partição do domínio e retorna, por exemplo, o ponto médio. (Cada remoção da árvore também fornece uma partição.) No limite, a finura dessa partição não discretiza mais a função, e você a reconstruiu exatamente. A melhor forma de escolher esta partição é um problema difícil. (Você pode pesquisar no Google em "árvore de regressão".)

  4. (Métodos polinomiais; veja também splines e outras técnicas de interpolação.) Pelo teorema de Taylor, você sabe que pode aproximar-se arbitrariamente de funções bem comportadas. Isso pode parecer uma abordagem muito básica (ou seja, basta usar o polinômio de interpolação de Lagrange), mas onde as coisas ficam interessantes é decidir qualpontos para interpolar. Isso foi investigado extensivamente no contexto da integração numérica; você pode encontrar algumas matemáticas incríveis nos tópicos de "quadratura de clenshaw-curtis" e "quadratura gaussiana". Estou jogando isso aqui porque os tipos de suposições e garantias aqui são tão drasticamente diferentes do que aparece acima. Eu gosto desse campo, mas esses métodos sofrem muito com a maldição da dimensão, pelo menos acho que é por isso que eles são menos discutidos do que costumavam ser (se você faz integração numérica com o mathematica, acho que faz quadratura para domínios univariados, técnicas de amostragem para domínios multivariados).

Considerando várias restrições à sua classe de função, você pode instanciar o acima para obter todos os tipos de outros cenários amplamente usados. Por exemplo, com funções com valor booleano, o limiar (1) será muito parecido com um estimador de vizinho mais próximo ou um SVM com algum kernel local (gaussiano). Muitas das coisas acima sofrem com a maldição da dimensão (os limites exibem dependência exponencial da dimensão). No aprendizado de máquina, você contorna isso restringindo explicitamente sua classe a alguma família (por exemplo, "métodos paramétricos) ou por uma restrição implícita, geralmente algo que relaciona a qualidade dos aproximadores à complexidade da função de destino (ou seja, um análogo do fraco pressuposto de aprendizagem ao impulsionar).

f:RdR

f(x)=j=0 02dhj(Eu=1dgj,Eu(xEu)),
gj,Eu:RR e hj:RRé (univariado) contínuo. Observe que, diferentemente das redes neurais, og'areia htodos podem diferir. Mas mesmo assim, dado que existem apenasΘ(d2) funções flutuando, acho isso totalmente incrível.

(Você só perguntou sobre classes de função, mas achei que você também estaria interessado em métodos. Se não .. oops)


"Desde 1957!", É esse o exponencial de 1957, então é do futuro ?! :)
nbro
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.