Para datos lineales supuesto, esto no es útil, pero para los no-lineal de los datos, esto parece siempre útil. El uso de clasificadores lineales es mucho más fácil que la de los no-lineal en términos de tiempo de entrenamiento y la escalabilidad.
@BartoszKP ya se ha explicado ¿por qué es el kernel truco útil. Para abordar plenamente su pregunta, sin embargo, me gustaría señalar, que kernelization es no es la única opción para tratar con los no linealmente separables de datos.
Hay al menos tres buenas, las alternativas comunes para delinearization de la modelo:
- Neutal de red basados en los métodos, donde agregar uno (o más) de las capas de unidades de procesamiento, capaz de transformar sus datos en el linealmente separables caso. En el caso más simple es una sigmoide basado en la capa, la cual añade la no-linealidad del proceso. Una vez que se inicializa aleatoriamente que están recibiendo actualizaciones durante el gradiente basado en la optimización de la capa superior (la que realmente resuelve el problema de programación lineal).
- En particular, en lo profundo de las técnicas de aprendizaje puede ser utilizado para preparar los datos para su posterior clasificación lineal. Es idea muy similar a la anterior, pero aquí el primer tren de procesamiento capas con el fin de encontrar un buen punto de partida para el ajuste fino a partir de la formación de algunas modelo lineal.
- Al azar de las proyecciones - usted puede probar (no lineal) de las proyecciones de algunos predefinidos espacio y tren clasificador lineal en la parte superior de ellos. Esta idea está muy explotado en los llamados extremos de la máquina de aprendizaje, donde muy eficiente lineal solucionadores se utilizan para entrenar un clasificador simple aleatorio proyecciones, y lograr un rendimiento muy bueno (no lineal problemas de clasificación y regresión, echa un vistazo por ejemplo extremas de aprendizaje de máquinas).
Para resumir - kernelization es un gran delinearization técnica, y usted puede utilizarlo, cuando el problema es no lineal, pero esto no debe ser ciega "si entonces" appraoch. Este es sólo uno de al menos algunos métodos interesantes, que pueden conducir a diferentes resultados, dependiendo del problema y de los requisitos. En particular, el OLMO tiende a encontrar muy similar a las soluciones dadas por kernelized SVM, mientras que al mismo tiempo pueden ser entrenados filas de magnitud más rápido (por lo que se amplía mucho mejor que kernelized SVMs).