답변:
누군가가 그것을 감독되지 않은 기술로 분류하는 것은 드문 일이 아닙니다. 고유 벡터에 대한 분석을 수행 할 수 있으며 데이터의 동작을 설명하는 데 도움이됩니다. 당연히 변환에 여전히 많은 기능이있는 경우이 프로세스는 매우 어려울 수 있습니다. 그럼에도 불구하고 가능하므로 기계 학습이라고 생각합니다.
편집하다:
내 대답이 선택되었으므로 (왜 그런지 모르겠다) 나는 더 많은 사람을 추가 할 것이라고 생각했다.
PCA는 동등한 두 가지를 수행합니다. 첫째, 일반적으로 참조되는 것은 분산을 최대화합니다. 둘째, 쌍으로 거리를 보면서 재구성 오류를 최소화합니다.
고유 벡터와 고유 값을 살펴보면 어떤 변수와 특징이 분산에 기여하는지와 다른 변수가 다른 변수와 함께 어떻게 움직이는 지 추론하는 것이 훨씬 간단 해집니다.
결국, 그것은 실제로 "학습"을 어떻게 정의 하느냐에 달려 있습니다. PCA는 원래 공간의 특성을 캡처하는 새로운 기능 공간을 학습합니다. 나는 그것이 의미가 있다고 생각하는 경향이 있습니다.
복잡합니까? 아니요, 실제로는 아니지만 알고리즘으로 축소합니까? 아니요 그렇게 생각하지 않습니다.
PCA는 실제로 회전 일뿐입니다. 진심으로, 그게 전부입니다. 데이터를 새로운 기반으로 돌리는 영리한 방법입니다. 이 기준에는 여러 절차의 전처리 단계로 유용한 속성이 있습니다.
기본은 직교 입니다. 이 기능은 다중 공선 성을 나타내는 경우 (두 개 이상의 기능이 선형으로 종 속됨) 매우 유용합니다 . PCA를 적용하면 이것이 더 이상 문제가되지 않는 기반이됩니다. 이 절차를 주성분 회귀라고합니다.
기본 벡터는 데이터의 확산과 관련하여 의미가 있습니다. 공분산 행렬 의 고유 벡터 입니다 . 이 두 번째 특성은 차원 축소 기법으로 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는 "기계 학습 알고리즘"입니까? 그렇지 않은 경우 협업 필터링, 주제 모델링, 커뮤니티 감지, 네트워크 중심성 및 임베드 모델에 대해서도 동일하게 말할 수 있어야합니다.
단순한 선형 대수학이라고해서 마술이 아니라는 의미는 아닙니다.
PCA는 중복 기능을 제거하는 데 사용됩니다. 데이터가 많이 분포 된 방향을 찾습니다. 데이터는 최소 제곱으로 데이터 를 나타내는 투영이므로 데이터 레이블에 신경 쓰지 않습니다 . 다중 판별 분석 에서 데이터 MDA
를 가장 잘 구분 하는 예측을 찾으십시오 . 후자는 레이블을 고려하고 결정의 종류에 대한 세부 정보가 있지만 데이터를 가장 잘 분리 할 수있는 방향을 찾습니다. 결론 PCA
은 학습 알고리즘이 아닙니다. 상관 된 기능을 제거하기 위해 어떤 데이터가 많이 분산되어 있는지 찾아 봅니다. MDA
데이터를 분류하기 위해 길 찾기를 시도하는 것과 유사한 방법 이 있습니다. 하지만 MDA
너무 많은처럼PCA
전자는 분류에 사용되지만 레이블을 고려하지만 후자는 분류에 직접 사용되지 않습니다.