Qual é a diferença entre SVM e LDA?

17

Qual é a diferença entre Máquinas de vetores de suporte e Análise discriminante linear?

Daulton Gray
fonte
Você acha que todos os SVMs são lineares?
1
Possível duplicado de me ajudar a entender Support Vector Machines
Xi'an
1
O LDA tenta maximizar a distância entre as médias dos dois grupos, enquanto o SVM tenta maximizar a margem entre os dois grupos.,

Respostas:

18

LDA: Supõe: os dados são normalmente distribuídos. Todos os grupos são distribuídos de forma idêntica, caso os grupos possuam matrizes de covariância diferentes, a LDA se torna Análise Quadrática Discriminante. O LDA é o melhor discriminador disponível, caso todas as premissas sejam realmente atendidas. QDA, a propósito, é um classificador não linear.

SVM: generaliza o hiperplano de separação ideal (OSH). O OSH assume que todos os grupos são totalmente separáveis, o SVM utiliza uma 'variável de folga' que permite uma certa quantidade de sobreposição entre os grupos. O SVM não faz nenhuma suposição sobre os dados, o que significa que é um método muito flexível. Por outro lado, a flexibilidade dificulta a interpretação dos resultados de um classificador SVM, em comparação com o LDA.

A classificação SVM é um problema de otimização, a LDA possui uma solução analítica. O problema de otimização para o SVM possui uma formulação dupla e primária que permite ao usuário otimizar o número de pontos de dados ou o número de variáveis, dependendo de qual método é o mais viável computacionalmente. O SVM também pode usar kernels para transformar o classificador SVM de um classificador linear em um classificador não linear. Use seu mecanismo de pesquisa favorito para pesquisar 'truque do kernel do SVM' e ver como o SVM usa os kernels para transformar o espaço dos parâmetros.

A LDA utiliza todo o conjunto de dados para estimar matrizes de covariância e, portanto, é um pouco propenso a discrepâncias. O SVM é otimizado em um subconjunto de dados, que são os pontos de dados que ficam na margem de separação. Os pontos de dados usados ​​para otimização são chamados vetores de suporte, porque determinam como o SVM discrimina entre os grupos e, portanto, suportam a classificação.

Até onde eu sei, o SVM realmente não discrimina bem entre mais de duas classes. Uma alternativa robusta e discrepante é usar a classificação logística. O LDA lida bem com várias classes, desde que as suposições sejam atendidas. Acredito, no entanto (aviso: alegação terrivelmente infundada), que vários benchmarks antigos descobriram que o LDA geralmente tem um desempenho muito bom sob muitas circunstâncias e que o LDA / QDA geralmente é usado como método na análise inicial.

p>n

Em resumo: LDA e SVM têm muito pouco em comum. Felizmente, ambos são tremendamente úteis.

Beyer
fonte
A Análise discriminante de Fisher, que é um tipo específico de LDA, não requer distribuição normal nos conjuntos de dados ou a mesma co-conformidade.
Code Pope
4

O SVM se concentra apenas nos pontos difíceis de classificar, o LDA se concentra em todos os pontos de dados. Esses pontos difíceis estão próximos do limite de decisão e são chamados de vetores de suporte . O limite de decisão pode ser linear, mas também, por exemplo, um núcleo RBF ou um núcleo polinomial. Onde LDA é uma transformação linear para maximizar a separabilidade.

A LDA assume que os pontos de dados têm a mesma covariância e a densidade de probabilidade é normalmente distribuída. SVM não tem essa suposição.

LDA é generativo, SVM é discriminativo.

hh32
fonte
2

Resposta curta e doce:

As respostas acima são muito completas, então aqui está uma descrição rápida de como o LDA e o SVM funcionam.

As máquinas de vetores de suporte encontram um separador linear (combinação linear, hiperplano) que separa as classes com o menor erro e escolhe o separador com a margem máxima (a largura que o limite pode ser aumentado antes de atingir um ponto de dados).

Por exemplo, qual separador linear melhor separa as classes?

insira a descrição da imagem aqui

Aquele com a margem máxima:

insira a descrição da imagem aqui

A análise discriminante linear encontra os vetores médios de cada classe e, em seguida, encontra a direção da projeção (rotação) que maximiza a separação de médias:

insira a descrição da imagem aqui

Também leva em consideração a variação dentro da classe para encontrar uma projeção que minimize a sobreposição de distribuições (covariância) enquanto maximiza a separação de meios:

insira a descrição da imagem aqui

Renel Chesak
fonte