Voglio implementare un algoritmo in un documento che utilizza il kernel SVD per scomporre una matrice di dati. Quindi ho letto materiale sui metodi del kernel e sul kernel PCA ecc. Ma mi è ancora molto oscuro soprattutto quando si tratta di dettagli matematici, e ho alcune domande.
Perché i metodi del kernel? Oppure, quali sono i vantaggi dei metodi del kernel? Qual è lo scopo intuitivo?
Suppone che uno spazio dimensionale molto più elevato sia più realistico nei problemi del mondo reale e in grado di rivelare le relazioni non lineari nei dati, rispetto ai metodi non kernel? Secondo i materiali, i metodi del kernel proiettano i dati su uno spazio di caratteristiche ad alta dimensione, ma non devono calcolare esplicitamente il nuovo spazio di caratteristiche. Invece, è sufficiente calcolare solo i prodotti interni tra le immagini di tutte le coppie di punti dati nello spazio delle caratteristiche. Quindi perché proiettare su uno spazio dimensionale superiore?
Al contrario, SVD riduce lo spazio delle funzionalità. Perché lo fanno in direzioni diverse? I metodi del kernel cercano una dimensione superiore, mentre SVD cerca una dimensione inferiore. Per me sembra strano combinarli. Secondo l'articolo che sto leggendo ( Symeonidis et al. 2010 ), l'introduzione del Kernel SVD anziché SVD può affrontare il problema della scarsità nei dati, migliorando i risultati.
Dal confronto nella figura possiamo vedere che KPCA ottiene un autovettore con varianza più elevata (autovalore) rispetto alla PCA, suppongo? Perché per la più grande differenza tra le proiezioni dei punti sull'autovettore (nuove coordinate), KPCA è un cerchio e PCA è una linea retta, quindi KPCA ottiene una varianza maggiore rispetto a PCA. Quindi significa che KPCA ottiene componenti principali più alti rispetto a PCA?