판별 분석의 세 가지 버전 : 차이점 및 사용 방법


26

아무도 차이점을 설명하고 이러한 세 가지 분석을 사용하는 방법에 대한 구체적인 예를 제시 할 수 있습니까?

  • LDA-선형 판별 분석
  • FDA-피셔의 판별 분석
  • QDA-2 차 판별 분석

나는 모든 곳을 검색했지만 이러한 분석을 사용하고 데이터를 계산하는 방법을 볼 수있는 실제 값을 가진 실제 예제를 찾을 수 없었습니다. 실제 예제없이 이해하기 어려운 많은 수식 만 있습니다. 내가 이해하려고 시도했을 때 어떤 방정식 / 수식이 LDA에 속하는지, 어떤 것이 FDA에 속하는지를 구별하기가 어려웠다.

예를 들어 그러한 데이터가 있다고 가정 해 봅시다.

x1 x2 class
1  2  a
1  3  a
2  3  a
3  3  a
1  0  b
2  1  b
2  2  b

그리고 몇 가지 테스트 데이터를 가정 해 봅시다.

x1 x2
2  4
3  5
3  6

그렇다면 이러한 세 가지 접근 방식 모두에서 이러한 데이터를 사용하는 방법은 무엇입니까? 배후의 모든 것을 계산하는 수학 패키지를 사용하지 않고 손으로 모든 것을 계산하는 방법을 보는 것이 가장 좋습니다.

추신 : 나는이 튜토리얼을 찾았습니다 : http://people.revoledu.com/kardi/tutorial/LDA/LDA.html#LDA . LDA 사용법을 보여줍니다.

답변:


23

"피셔의 판별 분석"은 단순히 2 개 클래스의 상황에서 LDA 입니다. 수작업으로 2 개의 클래스 만 계산할 수 있고 분석은 다중 회귀와 직접 관련됩니다. LDA는 여러 클래스의 상황에 대한 Fisher의 아이디어를 직접 확장 한 것으로 고유 대수와 같은 행렬 대수 장치를 사용하여 계산합니다. 따라서 "피셔의 판별 분석"이라는 용어는 오늘날 사용되지 않는 것으로 간주 될 수 있습니다. 대신 "선형 판별 분석"을 사용해야합니다. 도 참조하십시오 . 2 개 이상의 클래스 (다중 클래스)를 사용한 판별 분석 은 알고리즘에 의해 정식 입니다 ( 정규 변수로 구분자를 추출합니다). 희소 용어 "정규 판별 분석"

Fisher는 판별 함수가 계산 된 후 "Fisher 분류 함수"라고하는 것을 사용하여 객체를 분류했습니다. 오늘날 LDA 절차 내에서보다 일반적인 Bayes 접근 방식을 사용하여 객체를 분류합니다.

LDA의 설명에 대한 귀하의 요청에 나는이 내 답변에 당신을 보낼 수 있습니다 LDA에서 추출 , LDA의 분류 , LDA를 관련 절차 중 . 또한 이것 , 이것 , 질문과 답변.

분산 분석에서 등분 산 가정이 필요한 것처럼 LDA에서는 클래스의 등분 산 공분산 행렬 (입력 변수 간)을 가정합니다. 이 가정은 분석의 분류 단계에서 중요합니다. 행렬이 실질적으로 다르면 변동성이 큰 클래스에 관측치가 할당되는 경향이 있습니다. 이 문제를 극복하기 위해 QDA 가 발명되었습니다. QDA는 클래스의 공분산 행렬의 이질성을 허용하는 LDA의 수정입니다.

(박스의 M 테스트에 의해 검출 된) 이질성이 있고 QDA가없는 경우에도 분류 에서 판별 변수의 개별 공분산 행렬 (풀링 된 행렬이 아닌)을 사용하는 방식으로 LDA를 사용할 수 있습니다. . 이것은 방금 지적한 바와 같이 원래 변수 (매트릭스가 다름)가 아닌 판별 변수 사이의 매트릭스이기 때문에 QDA보다 덜 효율적이지만 문제를 부분적으로 해결합니다.

예제 데이터를 직접 분석해 보겠습니다.


@zyxue의 답변 과 의견에 답장

LDA는 FDA가 귀하의 답변에 정의한 것입니다. LDA는 먼저 분리 사이의 간격을 최대화하는 선형 구조 (구별 자)를 추출한 다음이를 사용하여 (가우시안) 분류를 수행합니다. LDA가 판별 변수 추출 작업과 관련이없는 경우 LDA가 가우스 분류 기인 것처럼 보이면 "LDA"라는 이름이 전혀 필요하지 않습니다.

에스에스상기 클래스 내 공분산은 모두 동일하다. 동일성; 사용권은 절대적으로됩니다.)

가우시안 분류기 (LDA의 두 번째 단계)는 베이 즈 규칙을 사용하여 판별에 의해 관측치를 클래스에 할당합니다. 원래의 특징을 직접 활용하는 Fisher 선형 분류 함수라고하는 동일한 결과를 얻을 수 있습니다. 그러나 판별을 기반으로하는 Bayes의 접근 방식은 풀링 된 것을 사용하는 기본 방법 외에도 별도의 클래스 판별 공분산 행렬을 사용할 수 있다는 점에서 약간 일반적입니다. 또한 판별 하위 세트를 기준으로 분류 할 수 있습니다.

클래스가 두 개 뿐인 경우 "잠재적 추출"과 "관찰 분류"가 동일한 작업으로 줄어듦에 따라 LDA의 두 단계 모두 단일 패스로 함께 설명 될 수 있습니다.


필자는 머신 러닝 과정에서 가우시안 2 급 LDA가 가우시안 밀도를 가정하고 베이지안 MPE 규칙을 사용하는 반면 피셔의 LDA는 가우시안 가정을하지 않고 SNR을 최대화하기위한 최적의 기준을 변경한다는 것을 기억합니다. 이것이 당신의 대답과 일치합니까?
Austin

1
@Jake이 답변에 대해서도 관심이 있습니다 : stats.stackexchange.com/questions/87975/… , 결과는 같습니다. 코멘트?
Dole

"피셔의 판별 분석"이 단순히 2 클래스의 상황에서 LDA "라고 확신하십니까?
zyxue

@zyxue, 95 % 확신하지만 어쨌든 나는 더 이상 사용되지 않는 용어를 찾습니다. stats.stackexchange.com/q/190806/3277 에서 각주를 참조하십시오 .
ttnphns

ttnphns @ 참고하시기 바랍니다에 따라 youtu.be/hGKt0yy9q_E?t=3010 , FDA 및 LDA 종종 문헌에서 혼합된다. 두 가지를 구별하는 한 가지 방법 인 FDA는 특징 추출 방법이며 LDA와 QDA는 분류 기술입니다.
zyxue

1

@ttnphns가 제안한 것처럼 FDA가 2 클래스의 LDA라는 데 동의하기가 어렵습니다.

Ali Ghodsi 교수의이 주제에 관한 두 가지 유익하고 아름다운 강의를 추천합니다.

  1. LDA 및 QDA . 또한 통계 학습 요소 ( pdf ) 책 108 페이지 에는 강의와 일치하는 LDA에 대한 설명이 있습니다.
  2. FDA

나에게 LDA와 QDA는 가우시안 가정을 ​​사용한 분류 기술이기 때문에 비슷합니다. 이 둘의 주요 차이점은 LDA가 두 클래스의 피처 공분산 행렬이 동일하다고 가정하여 선형 결정 경계를 생성한다는 것입니다. 대조적으로, QDA는 덜 엄격하며 다른 클래스에 대해 다른 피쳐 공분산 행렬을 허용하므로 2 차 결정 경계가됩니다. 2 차 결정 경계가 어떻게 보이는지에 대한 아이디어 는 scikit-learn 에서 다음 그림을 참조하십시오 .

서브 플롯에 대한 일부 의견 :

  • 맨 위 행 : 공분산 행렬이 실제로 데이터에서 동일 할 때 LDA와 QDA는 동일한 결정 경계로 이어집니다.
  • 하단 행 : 공분산 행렬이 다른 경우 LDA는 가정이 유효하지 않아 성능이 저하되고 QDA는 분류를 훨씬 잘 수행합니다.

반면에 FDA는 가우스 가정과 아무 관련이없는 매우 다른 종입니다. FDA가 시도하는 것은 클래스 간 편차를 최소화하면서 클래스 간 평균 거리를 최대화하는 선형 변환찾는 것 입니다. 두 번째 강의는이 아이디어를 아름답게 설명합니다. LDA / QDA와 달리 FDA는 분류를 수행하지 않지만 FDA에서 찾은 변환 후 얻은 기능은 분류에 사용할 수 있습니다 (예 : LDA / QDA 또는 SVM 등).


2
답변에서 답변에 대한 답변을 참조하십시오. 링크 된 동영상 강의를 보지 않았으므로 동의 할 수 없습니다. 답변에 제공하는 (LDA와 FDA의) 해석 / 정의에 동의하지 않습니다. 그러나 그 두 용어의 정의는 나에게 매우 중요한 주제는 아닙니다. 모든 것이 어떻게 작동하는지 이해하는 것이 더 중요합니다.
ttnphns

2
당신의 이해에서 FDA doesn't do classification, although the features obtained after transformation found by FDA could be used for classification나는 그것이 "LDA의 추출 단계"라고 부르는 것이라고 말할 것입니다. 물론, 추출 된 기능 (구별 기능)-원하는대로 사용할 수 있습니다. 표준 LDA 분류에서는 가우시안 분류기로 사용됩니다.
ttnphns

" LDA가 먼저 선형 구조 (구별 자)를 추출 합니다"라는 문구 가 어디에 있습니까? 결정 경계가 선형이기 때문에 선형 판별이라고 불렀습니다. 이는 피쳐 공분산 행렬이 다른 클래스에 대해 동일하다고 가정 한 결과입니다. 마찬가지로 QDA에는 2 차 결정 경계가 있습니다. 이들은 또한 내장 된 도면에 도시되어있다. 위의 비디오 외에도 통계 학습의 요소 ( pdf . 108 페이지)에서 특징 추출에 대한 언급없이 LDA에 대한 설명을 시작합니다.
zyxue

결국, 나는 우리가 같은 것에 대해 이야기하고 있다고 생각하지만 그것은 단지 이름을 짓는 방법 일뿐입니다. 당신은 LDA = feature_extraction + 분류라고 생각하지만, 내 참조에 따르면 LDA는 분류에 관한 것입니다. 여기서 feature_extraction 부분을 FDA라고합니다. 중요한 것은 여기에 관련된 클래스의 수와 관련이 없습니다. LDA와 FDA는 둘 이상의 클래스를 처리 할 수 ​​있습니다.
zyxue

우리는 우리가 사용하는 정의를 고수 할 수도 있습니다. 어쨌든, "선형 구성"과 "선형 결정 경계"는 DA의 맥락에서 관련되어 있으며, 그것들은 거의 같은 것입니다. 결정 테두리가있는 그림을 직선으로보십시오. 너무 많은 클래스, 타원을 구형으로 변환하면 판별 함수가 경계에 정확하게 수직이됩니다. 실제로, 여기서 "1 차"는 판별 함수, 변수, 차원이며, 결정 경계는 방향에 따라 공간의 경계입니다. 12 월 경계는 "보조"입니다.
ttnphns
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.