2012-04-16 2 views
13

KNN을 사용하여 자필 자릿수를 분류하고 있습니다. 나는 또한 차원을 줄이기 위해 PCA를 구현했다. 256에서 나는 200으로 갔다. 그러나 나는 단지 ~ 0.10 %의 정보 손실을 느낀다. 나는 56 차원을 삭제했다. 손실이 더 커야하지 않습니까? 5 차원으로 떨어질 때만 ~ 20 %의 손실이 발생합니다. 이게 정상인가?PCA 및 KNN 알고리즘

+0

그런 종류의 일은 많은 유형의 애플리케이션에서 일반적입니다. 그것은 수익 감소의 포인트라고합니다. –

답변

6

56 개의 치수를 제거한 후에 정보가 거의 손실되지 않았다는 말입니까? 물론, 그것이 바로 PCA의 요지입니다! Principal Component Analysis은 이름이 명시된대로 정보를 전달하는 크기를 결정하는 데 도움이됩니다. 나머지 부분은 제거 할 수 있으며 나머지 부분은 제거 할 수 있습니다.

나는 유전자 분석에서 치수가 PCA로 40'000에서 100으로 감소 된 논문을 읽은 다음 마술 같은 것들을하고 19 가지 차원의 우수한 분류자를 가지고 있습니다. 이것은 암시 적으로 39'900 차원을 제거 할 때 사실상 정보가 손실되었음을 알려줍니다!

+2

감사합니다. 나는 기계 학습에 다소 익숙하다. –

0

정상입니다. 그렇습니다 (그리고 Fezvez는 당신이 한 일의 요점을 말해줍니다.) 귀하의 사례는 실제로 그것이 가능한 방법을 볼 수있는 좋은 예입니다.

귀하의 데이터를보십시오 (기계 학습에서 항상 중요합니다, 은 데이터를 알고 있습니다). 만약 당신이 하얀색의 검정색 손으로 쓴 숫자의 이미지를 가지고 있다면, 어떤 모서리의 픽셀이 모든 샘플에 대해 흰색 일 가능성이 높습니다. (나는 손으로 쓰여진 숫자로 기계를 학습했을 때 그것을 한 모서리에 가지고있었습니다.) 따라서 픽셀에는 실제로 아무 정보도 없습니다. KNN이나 ANN 등의 입력 내용을 삭제하면 동일한 결과가 나타납니다.