PCA는 기계 학습 알고리즘으로 간주됩니까


10

주요 구성 요소 분석은 차원 축소 기술입니다. 즉, 10 개의 입력 기능이 주어지면 원래 기능의 직교 및 선형 변환 인 더 적은 수의 독립적 인 기능이 생성됩니다.

가요 PCA자체 학습 알고리즘으로 간주하거나 데이터 전처리 단계에 의해.

답변:


9

누군가가 그것을 감독되지 않은 기술로 분류하는 것은 드문 일이 아닙니다. 고유 벡터에 대한 분석을 수행 할 수 있으며 데이터의 동작을 설명하는 데 도움이됩니다. 당연히 변환에 여전히 많은 기능이있는 경우이 프로세스는 매우 어려울 수 있습니다. 그럼에도 불구하고 가능하므로 기계 학습이라고 생각합니다.

편집하다:

내 대답이 선택되었으므로 (왜 그런지 모르겠다) 나는 더 많은 사람을 추가 할 것이라고 생각했다.

PCA는 동등한 두 가지를 수행합니다. 첫째, 일반적으로 참조되는 것은 분산을 최대화합니다. 둘째, 쌍으로 거리를 보면서 재구성 오류를 최소화합니다.

고유 벡터와 고유 값을 살펴보면 어떤 변수와 특징이 분산에 기여하는지와 다른 변수가 다른 변수와 함께 어떻게 움직이는 지 추론하는 것이 훨씬 간단 해집니다.

결국, 그것은 실제로 "학습"을 어떻게 정의 하느냐에 달려 있습니다. PCA는 원래 공간의 특성을 캡처하는 새로운 기능 공간을 학습합니다. 나는 그것이 의미가 있다고 생각하는 경향이 있습니다.

복잡합니까? 아니요, 실제로는 아니지만 알고리즘으로 축소합니까? 아니요 그렇게 생각하지 않습니다.


3
이 답변은 순전히 의견이며 논쟁을 제기하지 않는 것 같습니다. 다른 사람들이 지적한 내용을 정교하게 포함하고 인정할 수 있습니다.
Hobbes

15

PCA는 실제로 회전 일뿐입니다. 진심으로, 그게 전부입니다. 데이터를 새로운 기반으로 돌리는 영리한 방법입니다. 이 기준에는 여러 절차의 전처리 단계로 유용한 속성이 있습니다.

  1. 기본은 직교 입니다. 이 기능은 다중 공선 성을 나타내는 경우 (두 개 이상의 기능이 선형으로 종 속됨) 매우 유용합니다 . PCA를 적용하면 이것이 더 이상 문제가되지 않는 기반이됩니다. 이 절차를 주성분 회귀라고합니다.

  2. 기본 벡터는 데이터의 확산과 관련하여 의미가 있습니다. 공분산 행렬고유 벡터 입니다 . 이 두 번째 특성은 차원 축소 기법으로 PCA의 유명한 유용성을 제공합니다. 데이터를 회전 한 후 전체 분산의 상당 부분과 관련된 기본 벡터의 하위 집합에 데이터를 투영 하면 (종종) 유지하는 낮은 차원 표현이 생성됩니다 ( 데이터의 (흥미로운) 구조적 특성의 대부분.


그래서 : 그것은 학습 알고리즘이다? 이것은 일종의 철학적 질문입니다. 무엇을 학습 알고리즘으로 만드는가? PCA는 대상 변수의 유무에 관계없이 "감독 된"학습 알고리즘이 아니며, 일반적으로 "비 감독 된"기술을 클러스터링과 연결합니다.

예, PCA는 전처리 절차입니다. 그러나 무언가를 "학습"하지 않고 완전히 작성하기 전에 다음 사항을 고려하고 싶습니다. PCA 문자 그대로 공분산 행렬의 고유 벡터를 사용하여 계산할 있지만 이것이 실제로 실제로 수행되는 방식은 아닙니다. 수치 적으로 동일하고 계산적으로 효율적인 절차는 데이터 의 SVD 를 취하는 것 입니다. 따라서 PCA는 SVD의 특정 응용 프로그램이므로 PCA가 학습 ​​알고리즘인지 묻는 것은 실제로 SVD가 학습 알고리즘인지 묻는 것입니다.

이제는 학습 알고리즘이 아닌 PCA를 작성하는 것이 편하다고 생각할 수 있지만 SVD를 사용하여 동일한 작업을 수행하는 것이 불편한 이유는 다음과 같습니다. 이는 주제 모델링협업 필터링을 위한 놀랍도록 강력한 방법입니다 . 이러한 응용 분야에 유용한 SVD의 속성은 차원 축소 (예 : PCA)에 유용한 동일한 속성과 동일합니다.

SVD는 고유 분해의 일반화이며 SVD의 제한된 버전으로도 매우 강력합니다. 사용자는 수행 할 수있는 커뮤니티 검출 인접성 매트릭스의 고유 벡터 보면 그래프에, 또는 (A)의 정상 상태 확률 결정 마르코프 모델을 동시 또한 본질적 어떻게 천이 행렬의 고유 벡터를보고 랭크가 계산된다.

후드 아래에서 PCA는 간단한 선형 대수 연산을 수행합니다. 그러나 이것은 대부분의 사람들이 "기계 학습"이라는 레이블을 적용하는 데 의문의 여지가없는 많은 응용 프로그램의 기본이되는 동일한 작업입니다. 이 클래스의 알고리즘을 Matrix Factorization 이라고하며 word2vec 와 같은 정교한 기술까지 확장됩니다 . 실제로 PCA를 단어 동시 발생 행렬 에 그대로 적용하여 실제로 word2vec와 같은 결과를 얻을 수 있습니다 . 다시 한 번 말하면 PCA의 결과를 나타내는 또 다른 단어는 포함 입니다. Word2vec는 아마도 가장 유명한 임베디드의 예이지만, 임베디드 (중개자로서)를 구축하는 것도 RNN에 사용되는 인코더-디코더 아키텍처의 중요한 구성 요소입니다.간스 지금 ML 연구의 출혈 가장자리입니다.


다시 질문으로 돌아가십시오 : PCA는 "기계 학습 알고리즘"입니까? 그렇지 않은 경우 협업 필터링, 주제 모델링, 커뮤니티 감지, 네트워크 중심성 및 임베드 모델에 대해서도 동일하게 말할 수 있어야합니다.

단순한 선형 대수학이라고해서 마술이 아니라는 의미는 아닙니다.


6

PCA에서 아무것도 배우지 않기 때문에 학습 알고리즘이 아닙니다. 그러나 다른 차원의 축소 방법과 마찬가지로 다른 학습 알고리즘에서 실제 성능을 향상시키는 데 사용할 수 있습니다.


4

PCA는 중복 기능을 제거하는 데 사용됩니다. 데이터가 많이 분포 된 방향을 찾습니다. 데이터는 최소 제곱으로 데이터 를 나타내는 투영이므로 데이터 레이블에 신경 쓰지 않습니다 . 다중 판별 분석 에서 데이터 MDA를 가장 잘 구분 하는 예측을 찾으십시오 . 후자는 레이블을 고려하고 결정의 종류에 대한 세부 정보가 있지만 데이터를 가장 잘 분리 할 수있는 방향을 찾습니다. 결론 PCA은 학습 알고리즘이 아닙니다. 상관 된 기능을 제거하기 위해 어떤 데이터가 많이 분산되어 있는지 찾아 봅니다. MDA데이터를 분류하기 위해 길 찾기를 시도하는 것과 유사한 방법 이 있습니다. 하지만 MDA너무 많은처럼PCA전자는 분류에 사용되지만 레이블을 고려하지만 후자는 분류에 직접 사용되지 않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.