Aplicando o "truque do kernel" a métodos lineares?

20

O truque do kernel é usado em vários modelos de aprendizado de máquina (por exemplo, SVM ). Foi introduzido pela primeira vez no artigo "Fundamentos teóricos do método da função potencial no aprendizado de reconhecimento de padrões" em 1964.

A definição da Wikipedia diz que é

um método para usar um algoritmo de classificador linear para resolver um problema não linear, mapeando as observações não lineares originais em um espaço de maior dimensão, onde o classificador linear é usado posteriormente; isso torna uma classificação linear no novo espaço equivalente à classificação não linear no espaço original.

Um exemplo de modelo linear que foi estendido a problemas não lineares é o PCA do kernel . O truque do kernel pode ser aplicado a qualquer modelo linear ou possui certas restrições?

Shane
fonte
1
BTW, os kernels não são realmente essenciais para os SVMs. O "coração" do SVM é o princípio da maximização da margem flexível. Ir à representação do kernel faz com que o problema seja dimensionalizado em O (m ^ 2) em vez de O (d), em que m é o número de exemplos ed é a dimensão do espaço de recursos, portanto, se m ^ 2 for maior que d, você poderá melhor acabar com kernels jmlr.csail.mit.edu/papers/v6/keerthi05a.html
Yaroslav Bulatov
@Yaroslav: Obrigado pela referência. Você conhece alguma implementação desse "Método Newton Finito Modificado"?
Shane
não, mas as páginas de keerthi e Langford têm links para alguns softwares que podem estar relacionados, uma vez que ambos trabalharam no Yahoo Research
Yaroslav Bulatov

Respostas:

17

O truque do kernel pode ser aplicado apenas a modelos lineares onde os exemplos na formulação do problema aparecem como produtos pontuais (Support Vector Machines, PCA, etc).

ebony1
fonte
Obrigado pela resposta. @mbq @ ebony1: IMO, precisamos fazer um esforço maior para publicar perguntas mais sérias sobre aprendizado de máquina no site, a fim de atrair mais dessa comunidade.
Shane
@ Shane Concordo plenamente, mas e quanto a outro site de SO, como metaoptimize.com/qa ?
chl
@chl: Isso também é uma opção, mas não faz parte do StackExchange (é controlado por uma pessoa e em um software diferente) e eu pessoalmente prefiro que essas comunidades de análise de dados se misturem em um só lugar.
Shane
@ Shane Bem, ok, faz sentido.
chl
há também Machine Learning pilha proposta de troca area51.stackexchange.com/proposals/7607/machine-learning
Yaroslav Bulatov
2

@ ebony1 fornece o ponto-chave (+1), eu era co-autor de um artigo discutindo como fazer o kernel de modelos lineares generalizados, por exemplo, regressão logística e regressão de Poisson, é bem direto.

GC Cawley, GJ Janacek e NLC Talbot, máquinas generalizadas do kernel, em Anais da Conferência Conjunta Internacional IEEE / INNS sobre Redes Neurais (IJCNN-2007), páginas 1732-1737, Orlando, Flórida, EUA, 12 a 17 de agosto de 2007. ( www , pdf )

Também escrevi uma caixa de ferramentas MATLAB (com qualidade de pesquisa) (infelizmente não há instruções), que você pode encontrar aqui .

Ser capaz de modelar a distribuição de destino é bastante útil na quantificação da incerteza, etc., por isso é uma adição útil (se bem que incremental) aos métodos de aprendizado do kernel.

Dikran Marsupial
fonte