Applicare il "trucco del kernel" ai metodi lineari?


20

Il trucco del kernel viene utilizzato in diversi modelli di machine learning (ad es. SVM ). È stato introdotto per la prima volta nel documento "Fondamenti teorici del potenziale metodo di funzione nell'apprendimento del riconoscimento di schemi" nel 1964.

La definizione di Wikipedia dice che lo è

un metodo per utilizzare un algoritmo di classificazione lineare per risolvere un problema non lineare mappando le osservazioni non lineari originali in uno spazio di dimensioni superiori, dove successivamente viene utilizzato il classificatore lineare; ciò rende una classificazione lineare nel nuovo spazio equivalente alla classificazione non lineare nello spazio originale.

Un esempio di un modello lineare che è stato esteso a problemi non lineari è il kernel PCA . Il trucco del kernel può essere applicato a qualsiasi modello lineare o ha alcune restrizioni?


1
A proposito, i kernel non sono davvero essenziali per SVM. Il "cuore" di SVM è il principio della massimizzazione del margine morbido. Andare alla rappresentazione del kernel rende la dimensionalità del tuo problema O (m ^ 2) invece di O (d) dove m è il numero di esempi e d è la dimensione del tuo spazio delle caratteristiche, quindi se m ^ 2 è più di d, potresti essere meglio eliminare i kernel jmlr.csail.mit.edu/papers/v6/keerthi05a.html
Yaroslav Bulatov

@Yaroslav: grazie per il riferimento. Sei a conoscenza di implementazioni di quel "Metodo Newton finito modificato"?
Shane,

no, ma le pagine di Keerthi e Langford contengono collegamenti ad alcuni software che potrebbero essere correlati, dal momento che entrambi hanno lavorato presso Yahoo Research
Yaroslav Bulatov

Risposte:


17

Il trucco del kernel può essere applicato solo a modelli lineari in cui gli esempi nella formulazione del problema compaiono come prodotti a punti (Support Vector Machines, PCA, ecc.).


Grazie per la risposta. @mbq @ ebony1: IMO dobbiamo fare uno sforzo maggiore per pubblicare sul sito domande più serie sull'apprendimento automatico, al fine di attirare più di quella comunità.
Shane,

@Shane Sono completamente d'accordo, ma che dire di altri siti SO come metaoptimize.com/qa ?
chl

@chl: Anche questa è un'opzione, ma non fa parte di StackExchange (è controllato da una persona e su software diverso) e personalmente preferirei che queste diverse comunità di analisi dei dati si mescolassero in un unico posto.
Shane,

@Shane Beh, ok ha senso.
chl

c'è anche la proposta di scambio di stack di Machine Learning area51.stackexchange.com/proposals/7607/machine-learning
Yaroslav Bulatov


2

@ ebony1 fornisce il punto chiave (+1), sono stato coautore di un articolo che discute come kernelizzare i modelli lineari generalizzati, ad esempio la regressione logistica e la regressione di Poisson, è piuttosto semplice.

GC Cawley, GJ Janacek e NLC Talbot, Macchine kernel generalizzate, in Atti della Conferenza congiunta internazionale IEEE / INNS sulle reti neurali (IJCNN-2007), pagine 1732-1737, Orlando, Florida, USA, 12-17-17 agosto 2007. ( www , pdf )

Ho anche scritto una cassetta degli attrezzi MATLAB (qualità della ricerca) (purtroppo nessuna istruzione), che puoi trovare qui .

Essere in grado di modellare la distribuzione target è piuttosto utile nella quanificazione dell'incertezza, ecc. Quindi è un'utile (seppur incrementale) aggiunta ai metodi di apprendimento del kernel.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.