He estado leyendo acerca de los métodos del núcleo, donde se asignan original $N$ puntos de datos a una función de espacios, calcular el núcleo o matriz de gram y un enchufe que la matriz en un estándar, algoritmo lineal. Todo esto suena bien cuando la característica de que el espacio es infinito dimensional o de lo contrario muy alto dimensiones (mucho mucho más grande de lo $N$), PERO el núcleo de la matriz en sí es también bastante grande en $N \times N$, lo que significa que si se duplica la cantidad de puntos que usted cuádruple de la cantidad de memoria necesaria. ¿Esto significa que el núcleo de los métodos no se adaptan bien a conjuntos de datos más grandes? O no es necesario calcular el núcleo de la matriz y tener toda la cosa en la memoria para la mayoría de los algoritmos?
Respuestas
¿Demasiados anuncios?No es necesario tener todo el núcleo de la matriz en memoria en todo momento, pero por supuesto que pagar un precio de posibilidad de las entradas si no. Métodos del núcleo son muy eficientes en el trato con entrada de alta dimensionalidad gracias al núcleo truco, pero, como usted bien nota que no escala que fácilmente a un gran número de instancias de formación.
SVM no lineal, por ejemplo, tiene un $\Omega(n^2)$ entrenamiento complejidad ($n$ número de casos). Esto no es ningún problema para conjuntos de datos de hasta unos pocos millones de casos, pero después de que ya no es posible. En ese punto, aproximaciones puede ser utilizado como la de tamaño fijo núcleos o conjunto de pequeñas SVM modelos de base.
Hay una rica historia de la literatura acerca de tratar con grandes núcleos.
"Al azar características a gran escala del núcleo máquinas" por Rahimi y Recht es un hito importante. Se insertan los datos de entrada en una dimensión inferior en un estudio aleatorizado de moda para lograr la escalabilidad. Este trabajo ha generado más interesantes obras en el trato con diferentes tipos de kernels etc.
El Nystrom basadas en el método de enfoque es otra manera de tratar con grandes núcleos. De nuevo, este enfoque ha sido abordado por varios trabajos.
Recientemente, Divide y vencerás núcleo SVM ha abordado este problema en la configuración distribuida. Echa un vistazo: www.cs.utexas.edu/~cjhsieh/dcsvm/