기계 학습의 PCA: 가정, 적용 단계 및 응용
게시 됨: 2020-11-12목차
ML의 차원 축소 이해
ML(Machine Learning) 알고리즘은 개발 및 테스트 시 기능 집합이라고 할 수 있는 일부 데이터로 테스트됩니다. 개발자는 특정 ML 모델/알고리즘의 성능을 높이려면 기능 세트의 입력 변수 수를 줄여야 합니다.
예를 들어, 많은 열이 있는 데이터세트가 있거나 3차원 공간에 점 배열이 있다고 가정합니다. 이 경우 ML에서 차원 축소 기술을 적용하여 데이터 세트의 차원을 줄일 수 있습니다. PCA(Principal Component Analysis)는 ML 개발자/테스터가 널리 사용하는 차원 축소 기술 중 하나입니다. 머신 러닝에서 PCA를 이해하는 방법을 더 자세히 살펴보겠습니다.
주요 구성 요소 분석
PCA는 데이터 세트의 차원을 줄이는 데 사용되는 감독되지 않은 통계 기법입니다. 입력 변수가 많거나 차원이 더 높은 ML 모델은 더 높은 입력 데이터 세트에서 작동할 때 실패하는 경향이 있습니다. PCA는 다양한 변수 간의 관계를 식별하고 연결하는 데 도움이 됩니다. PCA는 따라야 하는 몇 가지 가정에 따라 작동하며 개발자가 표준을 유지하는 데 도움이 됩니다.
PCA는 데이터 세트의 변수를 PC(주성분)라고 하는 새로운 변수 세트로 변환하는 것을 포함합니다. 주성분은 주어진 데이터세트에 있는 원래 변수의 수와 같습니다.
첫 번째 주성분(PC1)은 이전 변수에 존재했던 최대 변동을 포함하며 이 변동은 하위 수준으로 이동함에 따라 감소합니다. 최종 PC는 변수 간의 변동이 가장 적고 기능 세트의 크기를 줄일 수 있습니다.
PCA의 가정
PCA에는 ML에서 이 차원 축소 기술의 정확한 기능으로 이어질 것이기 때문에 따라야 할 몇 가지 가정이 있습니다. PCA의 가정은 다음과 같습니다.

• 데이터 세트에는 선형성이 있어야 합니다. 즉, 변수가 선형 방식으로 결합하여 데이터 세트를 형성해야 합니다. 변수는 그들 사이의 관계를 나타냅니다.
• PCA는 분산이 큰 주성분에 주의를 기울여야 하고 분산이 작은 PC는 노이즈로 무시한다고 가정합니다. Pearson 상관 계수 프레임워크는 PCA의 기원으로 이어졌으며, 거기에서 먼저 분산이 높은 축이 주성분으로만 전환될 것이라고 가정했습니다.
• 모든 변수는 동일한 측정 비율 수준에서 액세스해야 합니다. 가장 선호되는 규범은 비율 측정이 5:1인 샘플 세트에 대한 최소 150회의 관찰입니다.
• 데이터 세트의 다른 데이터 포인트에서 벗어나는 극단값(이상값이라고도 함)은 작아야 합니다. 더 많은 수의 이상값은 실험 오류를 나타내며 ML 모델/알고리즘을 저하시킵니다.
• 기능 세트는 상관 관계가 있어야 하며 PCA를 적용한 후 축소된 기능 세트는 원래 데이터 세트를 나타내지만 더 적은 차원으로 효과적인 방식으로 나타납니다.
반드시 읽어야 할 내용: 인도의 기계 학습 급여
PCA 적용 단계
모든 ML 모델/알고리즘에 PCA를 적용하는 단계는 다음과 같습니다.
• PCA를 적용하기 위해서는 데이터의 정규화가 매우 필요하다. 크기가 조정되지 않은 데이터는 데이터 세트의 상대 비교에 문제를 일으킬 수 있습니다. 예를 들어, 일부 2D 데이터 세트의 열 아래에 숫자 목록이 있는 경우 해당 숫자의 평균을 모든 숫자에서 빼서 2D 데이터 세트를 정규화합니다. 데이터 정규화는 3차원 데이터 세트에서도 수행할 수 있습니다.
• 데이터 세트를 정규화한 후에는 여러 차원 간의 공분산을 찾아 공분산 행렬에 넣습니다. 공분산 행렬의 비대각선 요소는 각 변수 쌍 간의 공분산을 나타내고 대각선 요소는 각 변수/차원의 분산을 나타냅니다.
모든 데이터 세트에 대해 구성된 공분산 행렬은 항상 대칭입니다. 공분산 행렬은 데이터의 관계를 나타내며 각 주성분의 분산 양을 쉽게 이해할 수 있습니다.
• 플롯에서 직교 기반으로 데이터의 변동성을 나타내는 공분산 행렬의 고유값을 찾아야 합니다. 또한 데이터 간의 최대 분산이 발생하는 방향을 나타내는 공분산 행렬의 고유 벡터를 찾아야 합니다.
공분산 행렬 'C'에 고유값이 'C'인 정방 행렬 'E'가 있다고 가정합니다. 이 경우 'I'는 'C'와 동일한 차원의 단위 행렬인 (EI – C) = 0의 행렬식을 만족해야 합니다. 고유값 계산만 가능하기 때문에 공분산 행렬이 대칭/제곱 행렬인지 확인해야 합니다.

• 고유값을 오름차순/내림차순으로 정렬하고 더 높은 고유값을 선택합니다. 계속할 고유값의 수를 선택할 수 있습니다. 더 작은 고유값을 무시하는 동안 일부 정보가 손실되지만 이러한 미세한 값은 최종 결과에 충분한 영향을 주지 않습니다.
선택된 더 높은 고유값은 업데이트된 기능 세트의 차원이 됩니다. 우리는 또한 상대적으로 선택된 고유값의 고유 벡터로 구성된 벡터 행렬인 특징 벡터를 형성합니다.
• 특징 벡터를 사용하여 분석 중인 데이터 세트의 주요 구성 요소를 찾습니다. 특징 벡터의 전치와 스케일링된 매트릭스(정규화 후 스케일된 데이터 버전)의 전치를 곱하여 주성분을 포함하는 매트릭스를 얻습니다.
가장 높은 고유값이 데이터에 적합하고 다른 고유값은 데이터 세트에 대한 많은 정보를 제공하지 않음을 알 수 있습니다. 이것은 데이터 세트의 차원을 줄여도 데이터가 손실되지 않는다는 것을 증명합니다. 우리는 그것을 더 효과적으로 나타낼 뿐입니다.
이러한 방법은 PCA에서 모든 데이터 세트의 차원을 최종적으로 줄이기 위해 구현됩니다.
PCA의 응용
데이터는 많은 분야에서 생성되며, 어떤 기업/기업의 성장을 위한 데이터 분석이 필요합니다. PCA는 데이터의 차원을 줄이는 데 도움이 되므로 분석이 더 쉬워집니다. PCA의 응용 프로그램은 다음과 같습니다.
• 신경과학 – 신경과학자들은 PCA를 사용하여 뉴런을 식별하거나 상전이 동안 뇌 구조를 매핑합니다.
• 금융 – PCA는 고정 수입 포트폴리오를 생성하기 위해 데이터의 차원을 줄이기 위해 금융 부문에서 사용됩니다. 금융 부문의 다른 많은 측면에는 수익 예측, 자산 할당 알고리즘 또는 지분 알고리즘 만들기 등과 같은 PCA가 포함됩니다.
• 이미지 기술 – PCA는 이미지 압축 또는 디지털 이미지 처리에도 사용됩니다. 각 이미지는 각 픽셀의 강도 값을 플로팅하여 행렬을 통해 표시할 수 있으며 PCA를 적용할 수 있습니다.
• 얼굴 인식 – 얼굴 인식의 PCA는 얼굴 인식을 보다 정확하게 만드는 고유 얼굴 생성으로 이어집니다.
• 의료 – PCA는 다양한 변수 간의 상관 관계를 찾기 위해 많은 의료 데이터에 사용됩니다. 예를 들어, 의사는 PCA를 사용하여 콜레스테롤과 저밀도 지단백질 사이의 상관 관계를 보여줍니다.

• 보안 – PCA를 사용하여 이상 징후를 쉽게 찾을 수 있습니다. 사이버/컴퓨터 공격을 식별하고 PCA의 도움으로 시각화하는 데 사용됩니다.
테이크아웃 포인트
PCA는 원래 데이터 세트에 약한 상관 관계가 있거나 상관 관계가 없는 경우 적용한 후 모델 성능이 저하될 수도 있습니다. PCA를 완벽하게 적용하려면 변수가 서로 관련되어야 합니다. PCA는 기능 조합을 제공하며 원본 데이터 세트의 개별 기능 중요도가 제거됩니다. 가장 분산이 큰 주축이 이상적인 주성분입니다.
더 읽어보기: 기계 학습 프로젝트 아이디어
결론
PCA는 기능 집합의 차원을 줄이는 데 널리 사용되는 기술입니다.
기계 학습에 대해 자세히 알아보려면 IIIT-B 및 upGrad의 기계 학습 및 AI PG 디플로마를 확인하세요. 이 PG 디플로마는 일하는 전문가를 위해 설계되었으며 450시간 이상의 엄격한 교육, 30개 이상의 사례 연구 및 과제, IIIT- B 동문 자격, 5개 이상의 실용적인 실습 캡스톤 프로젝트 및 최고의 기업과의 취업 지원.
PCA를 모든 데이터에 사용할 수 있습니까?
네. PCA(주성분 분석)는 매우 높은 차원의 데이터를 보고 이해하는 방법을 제공하는 데이터 분석 기술입니다. 즉, PCA는 변수가 많은 데이터에 적용할 수 있습니다. PCA는 특정 형식의 데이터에만 사용할 수 있다는 일반적인 오해가 있습니다. 예를 들어 많은 사람들은 PCA가 숫자 변수에만 유용하다고 생각합니다. 그렇지 않다. 실제로 PCA는 모든 유형의 변수에 사용할 수 있습니다. 예를 들어, PCA는 범주형 변수, 순서형 변수 등에 적용될 수 있습니다.
주성분 분석의 한계는 무엇입니까?
PCA는 데이터를 분석하고 가장 중요한 두세 가지 요소를 추출하는 훌륭한 도구입니다. 이상치와 추세를 파악하는 것이 좋습니다. 그러나 다음과 같은 몇 가지 제한 사항이 있습니다. 작은 데이터 세트에는 적합하지 않습니다(일반적으로 데이터 세트에는 30개 이상의 행이 있어야 함). 중요한 요소를 찾지 않고 값에 따라 선택합니다. 따라서 중요한 요소를 찾기가 어렵습니다. 그 뒤에는 강력한 수학적 구조가 없습니다. PCA와 데이터를 비교하는 것은 어렵습니다. 비선형 관계를 찾을 수 없습니다.
주성분 분석의 장점은 무엇입니까?
주성분 분석(PCA)은 많은 수의 상관 가능성이 있는 변수를 주성분이라고 하는 훨씬 적은 수의 비상관 변수로 변환하는 데 사용되는 통계적 방법입니다. PCA는 데이터 세트를 설명하는 데 필요한 가장 중요한 변수를 찾을 수 있으므로 데이터 축소 기술로 사용할 수 있습니다. PCA는 또한 데이터의 내부 구조에 대한 통찰력을 얻기 위해 데이터 공간의 차원을 줄이는 데 사용할 수 있습니다. 이는 대규모 데이터세트를 처리할 때 유용합니다.