O que é um kernel e o que o diferencia de outras funções

13

Parece haver muitos algoritmos de aprendizado de máquina que dependem das funções do kernel. SVMs e NNs, para citar apenas dois. Então, qual é a definição de uma função do kernel e quais são os requisitos para que ela seja válida?

Franck Dernoncourt
fonte
5
Eu não diria que NNs dependem de funções do kernel - eles contam com uma função de transferência para alcançar não-linearidade, mas isso não é a mesma coisa que uma função de kernel
tdc

Respostas:

11

Para x, y em S, certas funções K (x, y) podem ser expressas como um produto interno (geralmente em um espaço diferente). K é freqüentemente chamado de kernel ou função do kernel. A palavra kernel é usada de maneiras diferentes em toda a matemática, mas esse é o uso mais comum no aprendizado de máquina.

O truque do kernel é uma maneira de mapear observações de um conjunto geral S para um espaço interno do produto V (equipado com sua norma natural), sem precisar calcular explicitamente o mapeamento, na esperança de que as observações obtenham uma estrutura linear significativa em V Isso é importante em termos de eficiência (computando produtos de ponto em um espaço dimensional muito alto muito rapidamente) e praticidade (podemos converter algoritmos ML lineares em algoritmos ML não lineares).

Para que uma função K seja considerada um kernel válido, ela deve atender às condições de Mercer . Isso em termos práticos significa que precisamos garantir que a matriz do kernel (calculando o produto do kernel de todos os pontos de dados que você possui) sempre será semi-definida positiva. Isso garantirá que a função do objetivo do treinamento seja convexa, uma propriedade muito importante.

carlosdc
fonte
Obrigado @carlosdc, mas receio que você esteja tentando ensinar a esse velho cachorro novos truques. Muito disso está na minha cabeça. Li as condições de Mercer, mas o significado delas no mundo real está perdido para mim. Suponho do exposto que a integral de um kernel deve ser restringida a um valor finito. Essa suposição está correta?
1
A parte em que o objetivo é convexo se a matriz do kernel for PSD depende do objetivo. Isso é verdade para SVMs, mas com processos gaussianos o ponto é que a matriz Kernel é uma matriz de covariância válida e, portanto, invertível.
bayerj
2

De Williams, Christopher KI e Carl Edward Rasmussen. " Processos gaussianos para aprendizado de máquina ", o MIT Press 2, n. 3 (2006). P. 80 .

xXxXR

Além disso, kernel = função do kernel.

Os kernels usados ​​nos algoritmos de aprendizado de máquina geralmente atendem a mais propriedades, como semidefinido positivo.

Franck Dernoncourt
fonte
2

Vai tentar uma explicação menos técnica.

Primeiro, comece com o produto escalar entre dois vetores. Isso mostra como os vetores são "semelhantes". Se os vetores representam pontos no seu conjunto de dados, o produto escalonado informa se eles são semelhantes ou não.

Mas, em alguns (muitos) casos, o produto escalar não é a melhor métrica de similaridade. Por exemplo:

  • Talvez os pontos com produtos de baixo ponto sejam semelhantes por outras razões.
  • Você pode ter itens de dados que não estão bem representados como pontos.

Então, em vez de usar o produto dot, você usa um "kernel", que é apenas uma função que leva dois pontos e fornece uma medida de sua similaridade. Não tenho 100% de certeza de quais condições técnicas uma função deve atender para ser tecnicamente um kernel, mas essa é a ideia.

Uma coisa muito legal é que o kernel pode ajudá-lo a colocar o conhecimento do seu domínio no problema, no sentido de que você pode dizer que dois pontos são os mesmos por causa da razão xyz que surge quando você conhece o domínio.

quadrado
fonte