Support Vector Machines와 Linear Discriminant Analysis의 차이점은 무엇입니까?
Support Vector Machines와 Linear Discriminant Analysis의 차이점은 무엇입니까?
답변:
LDA : 가정 : 데이터가 정규 분포입니다. 그룹이 서로 다른 공분산 행렬을 갖는 경우 모든 그룹이 동일하게 분포됩니다. LDA는 2 차 판별 분석이됩니다. LDA는 모든 가정이 실제로 충족되는 경우 사용할 수있는 최고의 차별 자입니다. 그런데 QDA는 비선형 분류기입니다.
SVM : 최적 분리 하이퍼 플레인 (OSH)을 일반화합니다. OSH는 모든 그룹이 완전히 분리 가능하다고 가정하고 SVM은 그룹간에 일정량의 겹침을 허용하는 '느슨한 변수'를 사용합니다. SVM은 데이터에 대해 전혀 가정하지 않으므로 매우 유연한 방법입니다. 반면에 유연성으로 인해 LDA에 비해 SVM 분류기의 결과를 해석하기가 더 어려워집니다.
SVM 분류는 최적화 문제이며 LDA에는 분석 솔루션이 있습니다. SVM에 대한 최적화 문제에는 사용자가 가장 계산 가능한 방법에 따라 데이터 포인트 수 또는 변수 수를 최적화 할 수있는 이중 및 기본 공식이 있습니다. SVM은 커널을 사용하여 SVM 분류기를 선형 분류기에서 비선형 분류기로 변환 할 수도 있습니다. 자주 사용하는 검색 엔진을 사용하여 'SVM 커널 트릭'을 검색하여 SVM이 어떻게 커널을 사용하여 매개 변수 공간을 변환하는지 확인하십시오.
LDA는 공분산 행렬을 추정하기 위해 전체 데이터 세트를 사용 하므로 특이 치에 다소 취약합니다. SVM은 데이터의 하위 집합 (분리 마진에있는 데이터 지점)에 대해 최적화됩니다. 최적화에 사용되는 데이터 포인트는 SVM이 그룹을 구별하는 방식을 결정하여 분류를 지원하기 때문에 지원 벡터라고합니다.
내가 아는 한, SVM은 실제로 두 개 이상의 클래스를 잘 구별하지 못합니다. 특이한 강력한 대안은 물류 분류를 사용하는 것입니다. LDA는 가정이 충족되는 한 여러 클래스를 잘 처리합니다. 그래도 몇 가지 오래된 벤치 마크에서 LDA가 일반적으로 많은 상황에서 상당히 잘 수행되고 LDA / QDA가 초기 분석의 방법으로 사용된다는 것을 알았습니다 (경고 : 입증되지 않은 주장).
간단히 말해 LDA와 SVM은 공통점이 거의 없습니다. 운 좋게도 둘 다 매우 유용합니다.
서포트 벡터 머신 은 오류가 가장 적은 클래스를 구분하는 선형 구분 기호 (선형 조합, 초평면)를 찾고 최대 여백 (데이터 포인트에 도달하기 전에 경계를 늘릴 수있는 너비)이있는 구분 기호를 선택합니다.
예를 들어 어떤 선형 분리기가 클래스를 가장 잘 분리합니까?
최대 마진을 가진 것 :
선형 판별 분석 은 각 클래스의 평균 벡터를 찾은 다음 평균의 분리를 최대화하는 투영 방향 (회전)을 찾습니다.
또한 평균의 분리를 최대화하면서 분포의 중첩 (공분산)을 최소화하는 예측을 찾기 위해 클래스 내 분산을 고려합니다.