2013-04-27 1 views

답변

23

PCA는 데이터 세트의 분산을 가장 잘 설명하기 위해 어떤 기능이 중요한지 알아내는 방법입니다. 대용량 데이터 세트의 크기를 줄이기 위해 가장 많이 사용되므로 원본 데이터가 본질적으로 높은 차원 (예 : 이미지 인식) 인 기계 학습을 적용하는 것이 더 실용적입니다.

PCA는 피쳐 요소 간의 선형 관계에 의존하며 시작하기 전에 관계가 무엇인지 명확하지 않기 때문에 제한이 있습니다. 또한 데이터의 분산에 거의 기여하지 않는 기능 요소를 "숨김"하기 때문에 때로는 기계 학습 모델의 성능에 영향을주는 작지만 중요한 차별화 요소가 제거 될 수 있습니다.

+1

필자는 중요한 것은 PCA가 감독되지 않은 기술이고 일반적으로 기능 선택은 감독 된 문제를 나타냅니다. PCA를 사용하여 여러 PC에서 높은 절대 부하를 통해 특정 변수를 중요시 할 수있는 데이터 세트를 설명하거나 감독 모델에서 주 구성 요소를 던져 모델 실행을 쉽게 할 수 있습니다. 일반적으로 PCA는 기능 선택 도구 그 자체가 아닙니다. –

5

PCA로 기능 선택을 할 수 있습니다.

주성분 분석 (PCA)는

이 기술은 "주성분이라고 상관 변수 값들의 집합으로 가능한 상관 변수 관측들의 세트를 변환하는 직교 변환을 사용한다."

PCA가 근본적으로 대답하는 데 도움이되는 질문은 다음과 같습니다. 어떤 이 M 매개 변수 중 상당수가 데이터 세트에 포함 된 변이량 을 설명합니까? PCA는 본질적으로 80-20 규칙을 적용하는 데 도움이됩니다. 매개 변수의 작은 하위 집합 (예 : 20 %)이 데이터의 변이 중 80 % 이상을 설명 할 수 있습니까?

(see here)

하지만 몇 가지 단점이 있습니다 : 그것은 규모에 민감하고, 크기 높은 순서로 데이터에 더 무게를 제공합니다. 여기에 설명 된대로 데이터 정상화는 항상 해결책이 될 수 없습니다

기능을 선택 할 수있는 다른 방법이 있습니다

http://www.simafore.com/blog/bid/105347/Feature-selection-with-mutual-information-Part-2-PCA-disadvantages

: 특징 선택 알고리즘은 검색의 조합으로 볼 수있다

가 기법을 사용하여 새로운 피쳐 서브 세트를 제안하고, 다른 피쳐 서브 세트를 스코어링하는 평가 척도를 사용한다. 가장 간단한 알고리즘은 오류율을 최소화하는 기능을 찾을 수있는 가능한 각 하위 집합을 테스트하는 것입니다 ( ). 이것은 공간의 철저한 검색 이며, 기능 집합 중 가장 작은 것을 제외하고는 모두 계산적으로 다루기 힘듭니다. 평가 메트릭을 많이 선택하면 알고리즘에 영향을 미치며, 은 기능 선택 알고리즘의 세 가지 기본 범주를 구분하는 평가 메트릭입니다. 래퍼, 필터 및 포함 된 방법입니다. 일부 필드에서 (see here)

는, 특징 추출은 특정 목표를 제안 할 수 있습니다 : 이미지 처리, 당신은 방울, 가장자리 또는 능선 감지를 수행 할 수 있습니다.

+0

이 기능은 PCA를 통한 기능 선택 문제를 어떻게 해결합니까? PCA는 새로운 기능을 생성하지만 원래 기능 영역에서 기능을 선택하는 데 즉시 도움이되지 않습니다. 두 번째 부분은 감독 문제의 기능 선택과 관련이 있습니다. 그것은 OP가 이것을 찾고 있는지 여부는 불분명하다. PCA는 본질적으로 감독되지 않은 기술이며, 관련되지 않은 감독되지 않은 기능 선택에 대한 유일한 언급은 주요 기능 분석입니다. http://venom.cs.utsa.edu/dmz/techrep/2007/CS-TR-2007-011 .pdf http://stackoverflow.com/q/32811659/1840471의 R에서 이것을 구현하는 방법을 물었습니다. –

1

그냥 @Roger Rowland의 답변에 추가하십시오. 감독 학습 (분류, 회귀)의 맥락에서 PCA는 기능 선택기가 아닌 "피처 트랜스포머"로 생각합니다.

PCA는 데이터가 가장 높은 변동성을 나타내는 축 추출을 기반으로합니다. 새로운 기반으로 데이터를 "확산"하고 감독되지 않은 학습에 큰 도움이 될 수 있지만, 새로운 축이 감독 된 문제에서 차별적 인 특징과 일치한다는 보장은 없습니다.

간단히 말하자면 종속 변수 (예 : 클래스 라벨)를 예측할 때 상위 주요 구성 요소가 가장 유익하다는 보장이 전혀 없습니다.

This paper은 유용한 소스입니다. 다른 관련 교차 확인 링크는 here입니다.

2

그냥 아주 좋은 답변을 추가하십시오. 차이점은 PCA는 데이터의 한 기능을 다른 기능 (선형 종속성)으로 표현하는 방법을 탐색하여 차원을 줄이려고 시도한다는 것입니다. 기능 선택 대신 대상을 고려합니다. 목표 값을 예측하는 데 유용한 유용성이라는 측면에서 입력 변수의 순위를 매 깁니다. 단 변량 피쳐 선택의 경우에도 마찬가지입니다. 다중 변형 기능 선택은 입력의 일부 기능을 삭제한다는 의미에서 PCA의 한 형태로 간주 될 수있는 작업을 수행 할 수도 있습니다. 그러나이 비유를 너무 멀리 생각하지 마십시오.