¿Cuál es la diferencia entre las máquinas de vectores de apoyo y el análisis discriminante lineal?
Respuestas
¿Demasiados anuncios?LDA: Supone: que los datos se distribuyen normalmente. Todos los grupos están idénticamente distribuidos, en caso de que los grupos tengan diferentes matrices de covarianza, el LDA se convierte en un Análisis Discriminante Cuadrático. El LDA es el mejor discriminador disponible en caso de que se cumplan todos los supuestos. El QDA, por cierto, es un clasificador no lineal.
SVM: Generaliza el Hiperplano de Separación Óptima (OSH). El OSH supone que todos los grupos son totalmente separables, mientras que la SVM utiliza una "variable de holgura" que permite un cierto grado de solapamiento entre los grupos. La SVM no hace ninguna suposición sobre los datos, lo que significa que es un método muy flexible. Por otro lado, la flexibilidad hace que a menudo sea más difícil interpretar los resultados de un clasificador SVM, en comparación con el LDA.
La clasificación SVM es un problema de optimización, LDA tiene una solución analítica. El problema de optimización para la SVM tiene una formulación dual y otra primal que permite al usuario optimizar sobre el número de puntos de datos o el número de variables, dependiendo de qué método es el más factible computacionalmente. La SVM también puede hacer uso de kernels para transformar el clasificador SVM de un clasificador lineal en un clasificador no lineal. Utilice su motor de búsqueda favorito para buscar 'SVM kernel trick' para ver cómo SVM hace uso de los kernels para transformar el espacio de parámetros.
El LDA hace uso de la todo conjunto de datos para estimar las matrices de covarianza y, por tanto, es algo propenso a los valores atípicos. La 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, ya que determinan la forma en que la SVM discrimina entre los grupos, y por lo tanto apoyan la clasificación.
Por lo que sé, la SVM no discrimina bien entre más de dos clases. Una alternativa robusta a los valores atípicos es utilizar la clasificación logística. LDA maneja bien varias clases, siempre que se cumplan los supuestos. Creo, sin embargo (advertencia: afirmación terriblemente infundada) que varios benchmarks antiguos encontraron que LDA suele funcionar bastante bien en muchas circunstancias y LDA/QDA son a menudo métodos goto en el análisis inicial.
El LDA puede utilizarse para la selección de características cuando $p>n$ con LDA disperso: https://web.stanford.edu/~hastie/Papers/sda_resubm_daniela-final.pdf . La SVM no puede realizar la selección de características.
En resumen: LDA y SVM tienen muy poco en común. Por suerte, ambos son tremendamente útiles.
Respuesta corta y dulce:
Las respuestas anteriores son muy exhaustivas, así que aquí hay una descripción rápida de cómo funcionan LDA y SVM.
Máquinas de vectores de apoyo encontrar un separador lineal (combinación lineal, hiperplano) que separe las clases con el menor error, y elige el separador con el máximo margen (la anchura que podría aumentar el límite antes de chocar con un punto de datos).
Por ejemplo, ¿qué separador lineal separa mejor las clases?
El que tiene el máximo margen:
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 las medias:
También tiene en cuenta la varianza dentro de la clase para encontrar una proyección que minimice el solapamiento de las distribuciones (covarianza) y maximice la separación de las medias:
SVM se centra sólo en los puntos difíciles de clasificar, LDA se centra en todos los puntos de datos. Estos puntos difíciles están cerca del límite de decisión y se denominan Vectores de apoyo . El límite de decisión puede ser lineal, pero también, por ejemplo, un núcleo RBF, o un núcleo polinómico. Donde LDA es una transformación lineal para maximizar la separabilidad.
El LDA asume que los puntos de datos tienen la misma covarianza y se supone que la densidad de probabilidad se distribuye normalmente. La SVM no tiene esta suposición.
LDA es generativo, SVM es discriminativo.
0 votos
¿Cree que todas las SVM son lineales?
1 votos
Posible duplicado de Ayúdenme a entender las máquinas de vectores de apoyo
3 votos
LDA intenta maximizar la distancia entre las medias de los dos grupos, mientras que SVM intenta maximizar el margen entre los dos grupos.,