판별 함수(다중 클래스에 대한 피셔 판별식)
K > 2 개의 클래스가 있는 경우에 대해서 피셔 판별식을 일반화한다. 이때 입력 공간의 각 차원수 D 는 K 보다 크다고 가정, 그리고 D' > 1 개의 선형 특징 y_k = w_k^T x 를 도입할 것이다.
이때 k = 1, ..., D' 다. 이 특징값들을 묶어서 벡터 y 를 표현할 수 있다. 또한 이와 비슷하게 가중치 벡터를 행렬 W 의 열로 고려할 수 있다.
y 의 정의에 편향 매개변수를 포함시키지 않았다. K 다중 클래스의 경우에 클래스 내 공분산 행렬의 일반화된 표현식은 다음과 같이 주어진다.
여기서 다음과 같은 정의들을 사용했다.
그리고 N_k 는 클래스 C_k 내 패턴들의 개수다. 클래스 내 공분산 행렬의 일반화된 식을 구하기 위해 일단 전체 공분산 행렬을 고려해본다.
여기서 m 은 전체 데이터 집합의 평균이다.
전체 공분산 행렬은 주어진 클래스 내 공분산 행렬들의 합과 추가적인 행렬로 분해할 수 있다.
이때 행렬 S_B 는 클래스 간 공분산으로 간주할 수 있다.
이 공분산 행렬들은 원 x 공간상에서 정의되었다. 이제 비슷한 행렬들을 투영된 D' 차원의 y 공간상에서 정의해본다.
클래스 간 공분산이 크고, 클래스 내 공분산이 작을수록 크기가 큰 스칼라 값을 만든다. 기준으로 사용할 수 있는 선택지 중 하나의 예시는 다음과 같다.
이 기준은 투영 행렬 W 에 대한 명시적인 함수로서 다음과 같이 다시 적을 수 있다.
가중칫값들은 S_W^-1 S_B 의 D' 개의 가장 큰 고윳값들에 해당하는 고유 벡터들에 의해 결정된다.
이러한 기준들에 대해 중요한 결과가 있다.
S_B 는 K 개의 행렬로 이뤄져 있으며, 각각의 행렬은 두 벡터의 외적으로 rank 가 1이라는 것을 알 수 있다. m 에 관한 식의 결과에 따라 이들 중 오직 (K-1) 개의 행렬들만이 독립적이라는 것을 알 수 있다.
따라서 S_B 는 최대 (K-1) 개의 행렬 계수를 가지며, 그 결과 최대 (K-1) 개의 0 이 아닌 고윳값들을 가지게 된다.
S_B 의 고유 벡터들에 의해 (K-1) 차원의 부분 공간에 투영시켰을 때 이는 J(W) 의 값을 바꾸지 않으며, 따라서 이 방법을 이용해서 (K-1) 개보다 많은 선형 특징을 찾는 것은 불가능하다.