본문 바로가기

개념 정리

선형 판별분석 LDA Linear Discriminant Analysis

전통적인 선형 학습법, 훈련 데이터 세트를 정하고, 샘플을 하나의 직선 위에 투영시키는 것, 같은 클래스에 속하는 샘플들을 가능한 한 가까운 투영점에 놓고 서로 다른 클래스에 속한 샘플들은 투영점에서 최대한 먼 위치에 위치하도록 한다. 

새로운 데이터에 대하여 분류를 진행할 때 해당 직선상에 투영되도록 하며 투영된 위치에 따라 해당 데이터의 클래스를 분류한다.

데이터 세트 D에서 X, u, E 를 각각 클래스의 집합, 평균벡터, 공분산 행렬로 정의

만약 데이터를 직선 w 위에 투영한다면 두 클래스의 샘플들의 중심은 직선상의 wu 에 투영된다. 만약 모든 샘플들이 직선상으로 투영된다면 두 클래스 샘플의 공분산은 wEw 로 나타낼 수 있다. 

같은 클래스 샘플들의 투영점을 최대한 가까이 하려면 같은 클래스에 속한 샘플들의 투영점의 공분산을 최대한 작게 만들어주면 된다. 

또한, 다른 클래스에 속한 샘플들의 투영점을 최대한 멀리 두려면 각 클래스 중심점 간의 거리를 최대한 멀게 만들면 된다.

데이터 세트

투영되는 샘플의 값

두 클래스의 공분산, 이 두 합을 최대한 작게 만들어 클래스 샘플들의 투영점을 가까이 한다. 

다른 클래스의 투영점을 최대한 멀리 두기 위해 아래 식을 최대한 크게 만들어야 한다. 

위 두 목표를 동시에 달성하기 위해서는 다음 식을 최대화해야 한다.

집단 내 산포행렬은 다음과 같이 정의한다.

집단 간 산포행렬은 다음과 같이 정의한다.

따라서 최대화 식을 다시 쓸 수 있다.

위 식은 LDA 알고리즘이 최대화하려는 목표가 된다. 즉 Sb 와 Sw 의 일반화된 레일리 몫이다.

그렇다면 w는 어떻게 계산할까? 위 식을 보면 분모와 분자가 모두 w에 관한 이차 항이다. 따라서 위 식의 해와 w의 길이는 무관하며 방향만 관련있다.

일반성을 잃지 않고 without loss of generality, 분모의 값이 1이라면 식은 아래 식과 같아진다.

라그랑주 승수법 Lagrange multiplier methods 에 의해 위 식은 아래 식과 같다.

라그랑주 곱셈자이다. 보면 Sbw 의 방향이 u0-u1 임을 알 수 있다.

위 식을 만들어 대입하면 아래 식을 얻을 수 있다.
 
수치해의 안정성을 고려하면, 실제로는 Sw 에 대해 특잇값 분해 SVD, Singular Value Decomposition 을 한다. 

시그마는 하나의 대각 행렬이며, 대각 원소는 Sw의 특잇값이다. 

위 식을 통해 Sw^-1 을 구한다.

 

'개념 정리' 카테고리의 다른 글

커널 선형 차원 축소  (0) 2022.11.16
주성분 분석 Principal Component Analysis, PCA  (1) 2022.11.16
임베딩  (0) 2022.11.16
k-최근접 이웃  (0) 2022.11.15
재귀 신경망, 순환 신경망  (0) 2022.11.14