Eu acho que a chave da magia é a suavidade. Minha longa resposta a seguir é simplesmente explicar sobre essa suavidade. Pode ou não ser uma resposta que você espera.
Resposta curta:
Dado um kernel definido positivo , existe seu espaço correspondente de funções . As propriedades das funções são determinadas pelo kernel. Acontece que se é um kernel gaussiano, as funções em são muito suaves. Portanto, uma função aprendida (por exemplo, uma função de regressão, componentes principais no RKHS e no PCA do kernel) é muito suave. Geralmente, a suposição de suavidade é sensata para a maioria dos conjuntos de dados que queremos abordar. Isso explica por que um núcleo gaussiano é mágico.H k HkHkH
Resposta longa por que um kernel gaussiano oferece funções suaves:
Um kernel definido positivo define (implicitamente) um produto interno
para o vetor de característica construído a partir da sua entrada , e
é um espaço de Hilbert. A notação
significa um produto interno entre e . Para nosso propósito, você pode imaginar como o espaço euclidiano usual, mas possivelmente com um número inifinito de dimensões. Imagine o vetor usual que é infinitamente longo comok ( x , y ) = ⟨ φ ( x ) , φ ( y ) ⟩ H φ ( x ) x H ⟨ φ ( x ) , φ ( y ) ⟩ φ ( x ) φ ( y ) H ϕ ( x ) = ( ϕ 1 ( xk(x,y)k(x,y)=⟨ϕ(x),ϕ(y)⟩Hϕ(x)xH⟨ϕ(x),ϕ(y)⟩ϕ(x)ϕ(y)H H f ( x ) = ⟨ f , φ ( x ) ⟩ f ( x ) f x φ ( x ) f ( x ) kϕ(x)=(ϕ1(x),ϕ2(x),…). Nos métodos do kernel, é um espaço de funções chamado reproduzir o espaço Hilbert do kernel (RKHS). Esse espaço tem uma propriedade especial chamada `` propriedade de reprodução '', que é . Isso diz que, para avaliar , primeiro você constrói um vetor de recurso (infinitamente longo, conforme mencionado) para . Então você constrói seu vetor de característica para indicado por (infinitamente longo). A avaliação de é feita usando um produto interno dos dois. Obviamente, na prática, ninguém construirá um vetor infinitamente longo. Como nos preocupamos apenas com o seu produto interno, apenas avaliamos diretamente o kernelHf(x)=⟨f,ϕ(x)⟩f(x)fxϕ(x)f(x)k. Ignorar a computação de recursos explícitos e computar diretamente seu produto interno é conhecido como "truque do kernel".
Quais são os recursos?
Eu ficava dizendo os recursos sem especificar o que são. Dado um kernel , os recursos não são exclusivos. Mas
é determinado exclusivamente. Para explicar a suavidade das funções, vamos considerar os recursos de Fourier. Suponha um kernel invariável de tradução , significando
, isto é, o kernel depende apenas da diferença dos dois argumentos. O kernel gaussiano tem essa propriedade. Vamos denotar a transformada de Fourier de .ϕ1(x),ϕ2(x),…k⟨ϕ(x),ϕ(y)⟩kk(x,y)=k(x−y)k^k
Nesse ponto de vista de Fourier, os recursos de
são dados por . Isto está dizendo que a representação do recurso de sua função
é dada por sua transformação de Fourier dividida pela transformação de Fourer do kernel . A representação do recurso de , que é
é
em que . Pode-se mostrar que a propriedade de reprodução é válida (um exercício para os leitores).ffkxφ(x)(⋯,√f:=(⋯,f^l/k^l−−√,⋯)fkxϕ(x)i=√(⋯,k^l−−√exp(−ilx),⋯)i=−1−−−√
Como em qualquer espaço de Hilbert, todos os elementos pertencentes ao espaço devem ter uma norma finita. Vamos considerar a norma ao quadrado de um :f∈H
∥f∥2H=⟨f,f⟩H=∑∞l=−∞f^2lk^l.
Então, quando essa norma é finita, ou seja, pertence ao espaço? É quando cai mais rápido que para que a soma converja. Agora, a transformação de Fourier de um kernel gaussianoff^2lk^l k(x,y)=exp(−∥x−y∥2σ2)
é outro gaussiano onde diminui exponencialmente rapidamente com . Portanto, se estiver nesse espaço, sua transformação de Fourier deve cair ainda mais rápido que a de . Isso significa que a função terá efetivamente apenas alguns componentes de baixa frequência com pesos altos. Um sinal com apenas componentes de baixa frequência não `` mexe '' muito. Isso explica por que um kernel gaussiano oferece uma função suave.k^llfk
Extra: Que tal um kernel de Laplace?
Se você considerar um kernel de Laplace ,
sua transformação de Fourier é uma distribuição Cauchy que cai muito mais lentamente que o exponencial função na transformada de Fourier de um núcleo gaussiano. Isso significa que uma função terá mais componentes de alta frequência. Como resultado, a função dada por um kernel Laplace é `` mais áspera '' do que a dada por um kernel gaussiano.k(x,y)=exp(−∥x−y∥σ)f
O que é uma propriedade do kernel gaussiano que outros kernels não possuem?
Independentemente da largura gaussiana, uma propriedade é que o kernel gaussiano é `` universal ''. Intuitivamente, isso significa que, dada uma função contínua limitada (arbitrária), existe uma função tal que e
estão próximos (no sentido de até precisão arbitrária necessária. Basicamente, isso significa que o kernel Gaussiano fornece funções que podem aproximar arbitrariamente bem as funções "agradáveis" (limitadas, contínuas). Os núcleos Gaussian e Laplace são universais. Um núcleo polinomial, por exemplo, não é.gf∈Hfg∥⋅∥∞)
Por que não colocamos a norma em, digamos, um PDF Cauchy e esperamos os mesmos resultados?
Em geral, você pode fazer o que quiser, desde que o resultante
seja definido positivamente. Definitividade positiva é definida como
para todos , e todos os
(conjunto de números naturais) . Se não for positivo definido, ele não corresponderá a um espaço interno do produto. Toda a análise é interrompida porque você nem possui um espaço de funções
conforme mencionado. No entanto, pode funcionar empiricamente. Por exemplo, o núcleo hiperbólico da tangente (veja o número 7 nesta página )k∑Ni=1∑Nj=1k(xi,xj)αiαj>0αi∈R{xi}Ni=1N∈NkH
k(x,y)=tanh(αx⊤y+c)
que se destina a imitar unidades de ativação sigmóide em redes neurais, é apenas definitivo positivo para algumas configurações de e . Ainda foi relatado que funciona na prática.αc
E quanto a outros tipos de recursos?
Eu disse que os recursos não são únicos. Para o kernel gaussiano, outro conjunto de recursos é dado pela expansão da Mercer . Veja a Seção 4.3.1 do famoso livro de processo Gaussiano . Nesse caso, os recursos são polinômios Hermite avaliados em .ϕ(x)x