RBF Gaussiano vs. Kernel Gaussiano


18

Qual é a diferença entre fazer regressão linear com uma função de base radial gaussiana (RBF) e fazer regressão linear com um núcleo gaussiano?


Bem-vindo ao site, @ user35965. Soletre suas siglas. Por "RBF", você quer dizer função de base radial ?
gung - Restabelece Monica

2
Sim, é exatamente o que eu quis dizer. Devidamente anotado para referência futura.
user35965

Respostas:


19

A única diferença real está na regularização aplicada. Uma rede RBF regularizada normalmente usa uma penalidade com base na norma quadrática dos pesos. Para a versão do kernel, a penalidade normalmente está na norma quadrática dos pesos do modelo linear, implicitamente construído no espaço de recurso induzido pelo kernel. A principal diferença prática que isso faz é que a penalidade para a rede RBF depende dos centros da rede RBF (e, portanto, da amostra de dados usada), enquanto que para o kernel RBF, o espaço de recurso induzido é o mesmo, independentemente da amostra de dados, portanto, a penalidade é uma penalidade na função do modelo, e não na sua parametrização .

Em outras palavras, para ambos os modelos, temos

f(x)=i=1αiK(xi,x)

Para a abordagem de rede RBF, o critério de treinamento é

eu=Eu=1(yEu-f(xEu))2+λ__α__2

Para o método de kernel RBF, temos que , e w = Σ l de i = 1 α i φ ( x i ) . Isso significa que uma penalidade de norma quadrática nos pesos do modelo no espaço de recurso induzido, w pode ser escrita em termos dos parâmetros duplos, α comoK(x,x)=ϕ(x)ϕ(x)w=i=1αiϕ(xi)wα

w2=αTKα,

onde é a matriz de avaliações em pares do kernel para todos os padrões de treinamento. O critério de treinamento é entãoK

.L=i=1(yif(xi))2+λαTKα

A única diferença entre os dois modelos é o no termo de regularização.K

A principal vantagem teórica da abordagem do kernel é que ela permite interpretar um modelo não linear como um modelo linear após uma transformação não linear fixa que não depende da amostra de dados. Assim, qualquer teoria estatística de aprendizagem existente para modelos lineares é transferida automaticamente para a versão não linear. No entanto, tudo isso quebra assim que você tenta ajustar os parâmetros do kernel; nesse ponto, voltamos ao mesmo ponto teoricamente falando que estávamos com as redes neurais RBF (e MLP). Portanto, a vantagem teórica talvez não seja tão grande quanto gostaríamos.

É provável que faça alguma diferença real em termos de desempenho? Provavelmente não muito. Os teoremas do "sem almoço grátis" sugerem que não há superioridade a priori de nenhum algoritmo sobre todos os outros, e a diferença na regularização é bastante sutil, portanto, se houver dúvida, tente os dois e escolha o melhor de acordo com, por exemplo, a validação cruzada.


1
α2=αTIααTKα for the kernel machine. They would become more similar as the width of the basis function approaches zero as K would approach I. I think this is essentially because K is accounting for the correlation between basis functions.
Dikran Marsupial

@CagdasOzgenc The way I look at it is that the K in the regulariser weights the penalisation differently for each basis vector, and the penalty depends on the selection of the other basis vectors. This weight depends on their correlations, so if you pick a different sample, the weights change to compensate. The other way to look at it is that the model is defined in a feature space determined by ϕ(x), which doesn't depend on the choice of basis vectors (providing they span the space containing the data).
Dikran Marsupial

@CagdasOzgenc Sure we can transform the space of the basis functions by an eigen-decomposition of K and regain a α2 style regulariser (indeed that is a useful trick in optimising the regularisation parameter - doi.org/10.1016/j.neunet.2007.05.005). However that transformation eliminates the dependency of the original choice of basis function. For the two things to be equal would require αTKα=μαTIα, which is not generally true (especially not for the RBF kernel).
Dikran Marsupial

Thank you. I will reflect on this will get back to you. At the moment it seems I am not at your level of understanding. I need to do more thinking :).
Cagdas Ozgenc

@CagdasOzgenc no problem, most of the standard texts explain it through eigenfunctions of the kernel function, which makes my brain hurt as well! ;o)
Dikran Marsupial
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.