¿Cuál es la diferencia entre las máquinas de vectores de soporte y el análisis discriminante lineal?
¿Cuál es la diferencia entre las máquinas de vectores de soporte y el análisis discriminante lineal?
Respuestas:
LDA: Supone: los datos se distribuyen normalmente. Todos los grupos están distribuidos de manera idéntica, en caso de que los grupos tengan matrices de covarianza diferentes, LDA se convierte en Análisis Discriminante Cuadrático. LDA es el mejor discriminador disponible en caso de que se cumplan todos los supuestos. QDA, por cierto, es un clasificador no lineal.
SVM: generaliza el hiperplano de separación óptima (OSH). OSH supone que todos los grupos son totalmente separables, SVM utiliza una 'variable de holgura' que permite una cierta superposición entre los grupos. SVM no hace suposiciones sobre los datos, lo que significa que es un método muy flexible. La flexibilidad, por otro lado, a menudo dificulta la interpretación de los resultados de un clasificador SVM, en comparación con LDA.
La clasificación SVM es un problema de optimización, LDA tiene una solución analítica. El problema de optimización para el SVM tiene una formulación dual y una formulación primaria que permite al usuario optimizar sobre el número de puntos de datos o el número de variables, dependiendo de qué método sea el más factible computacionalmente. SVM también puede utilizar núcleos para transformar el clasificador SVM de un clasificador lineal a un clasificador no lineal. Use su motor de búsqueda favorito para buscar el 'truco del núcleo SVM' para ver cómo SVM utiliza los núcleos para transformar el espacio de parámetros.
LDA utiliza todo el conjunto de datos para estimar las matrices de covarianza y, por lo tanto, es algo propenso a los valores atípicos. SVM se optimiza sobre un subconjunto de datos, que son aquellos puntos de datos que se encuentran en el margen de separación. Los puntos de datos utilizados para la optimización se denominan vectores de soporte, porque determinan cómo el SVM discrimina entre grupos y, por lo tanto, admiten la clasificación.
Hasta donde sé, SVM no discrimina bien entre más de dos clases. Una alternativa robusta y atípica es utilizar la clasificación logística. LDA maneja bien varias clases, siempre que se cumplan los supuestos. Sin embargo, creo (advertencia: afirmación terriblemente infundada) que varios puntos de referencia antiguos encontraron que LDA generalmente funciona bastante bien en muchas circunstancias y LDA / QDA a menudo son métodos de goto en el análisis inicial.
. SVM no puede realizar la selección de funciones.
En resumen: LDA y SVM tienen muy poco en común. Afortunadamente, ambos son tremendamente útiles.
SVM se enfoca solo en los puntos que son difíciles de clasificar, LDA se enfoca en todos los puntos de datos. Dichos puntos difíciles están cerca del límite de decisión y se denominan vectores de soporte. . El límite de decisión puede ser lineal, pero también, por ejemplo, un núcleo RBF o un núcleo polinomial. Donde LDA es una transformación lineal para maximizar la separabilidad.
LDA supone que los puntos de datos tienen la misma covarianza y se supone que la densidad de probabilidad se distribuye normalmente. SVM no tiene tal suposición.
LDA es generativa, SVM es discriminativa.
Las máquinas de vectores de soporte encuentran un separador lineal (combinación lineal, hiperplano) que separa las clases con el menor error, y elige el separador con el margen máximo (el ancho que el límite podría aumentarse antes de llegar a un punto de datos).
Por ejemplo, ¿qué separador lineal separa mejor las clases?
El que tiene el margen máximo:
El análisis discriminante lineal encuentra los vectores medios de cada clase, luego encuentra la dirección de proyección (rotación) que maximiza la separación de medias:
También tiene en cuenta la varianza dentro de la clase para encontrar una proyección que minimice la superposición de distribuciones (covarianza) mientras maximiza la separación de medias: