차원 벡터 샘플 집합
가 있다고 하자. 이 샘플 집합과의 거리의 합이 가장 적은 하나의 벡터를
라 하면, 이는 제곱오차(squared-error) 척도
를 최소화하는 값이다.
이 문제의 최적값은 샘플의 평균 값 으로 구할 수 있는데
(즉 ),
다음과 같이 쉽게 증명할 수 있다.
를 특정 방향을 나타내는 단위 벡터라 하자. 샘플 는
샘플 평균 에서 방향으로 만큼 이동했다고
표현할 수 있다.
만약 이 값을 만족시키는 최적의 집합은 앞에서와 마찬가지로 제곱오차 척도를
최소화하는 값으로 구할 수 있다.
위 식을 에 대해서 편미분 수행하고, 이란 사실을
통해 다음 식을 얻을 수 있다.
목적함수 을 최소화하는 값은 식 위식이 0인 경우이다.
따라서 최적의 값을 다음과 같다.
공분산 행렬 를 다음과 같이 정의하고,
식 ()과 ()를 식 ()에
대입하면 다음 식을 얻을 수 있다.
이제 위 식의 최소화 문제는 의
최대화 문제로 해결 가능하다. 라그랑제 승수(Lagrange multipliers)
를 이용하여 다음 식을 나타내고,
최대화 문제는 위 식을 로
미분하여 얻을 수 있다.
위 식을 0으로 설정하면, 최소화 문제는 공분산 행렬 의
고유값 문제로 해결 가능하다.
실제로
이기 때문에 가장 큰 고유값에 대응하는 고유벡터가 최적의 값이 된다.
또한 고유값의 내림차순에 대응하는 고유벡터 몇개를 취함으로써
목적함수 을 더욱 만족시킬 수 있다. 여기서 선택된 고유벡터를
주성분(principal components)라 한다.
주성분 즉, 개의 선택된 고유값을
라
하면, 이 주성분으로 특징 샘플 을
사상하면 를 얻을 수 있다.
또한 원래 샘플 복원은 다음과 같이 수행한다.
여기서 는 복원된 샘플을 의미한다.