Data Analysis/Machine Learning

[기계학습] 기초 지식(주성분, 비지도학습, 지도학습)

Jiyeon's Desk 2025. 2. 18. 15:07

 

1. 주성분 분석과 인자분석

 

데이터 변수의 개수를 차원이라 부르고, 변수의 수를 줄이는 것을 차원 축소(dimension reduction)이라 한다. 차원을 축소하는 이유는 데이터 해석의 어려움과 차원의 저주가 있다.  다중회귀분석의 경우와 같이 설명변수끼리 강한 상관이 있는 상황을 다중공선성이라고 하며, 회귀계수 추정이 불안정해지는 문제가  발생한다. 표본크기 n이 충분하지 않은 상황이라면, 회귀계수를 올바르게 추정할 수 없는 문제를 '차원의 저주'라고 한다. 

 

차원 축소에 사용하는 가장 기본적인 방법이 주성분 분석(PCA, principle component analysis)이다. 기본적인 아이디어는 상관이 있는 변수는 하나로 정리될 수 있다는 것이다. 각 주성분이 가진 정보(분산)의 비율을 기여율이라 하며, '제 1부터 제k주성분까지 전체 정보의 몇 %가 포함되는지'를 누적기여율이라 한다. 주성부분석의 결과를 해석하는 방법은 다음과 같다. 각 주성분의 기여율과 누적기여율을 확인하고, 각 주성분이 어떤 축인지를 조사하기 위해 각 주성분의 값과 원래 각 변수의 상관관계를 계산한다. 이 값을 '주성분부하량' 또는 '인자부하량'이라 한다. 마지막으로 원래 데이터를 새로운 변수를 이용하여 표(주성분점수)를 나타내 보고 해석한다. 

 

주성분 분석과 달리 원래 각 변수에는 소수의 공통인자가 있으며, 이것이 원인이 되어 데이터의 각 변수가 구성된다는 아이디어에 기반을 둔 방법이 인자분석(factor analysis)이다. 특히 공통인자로부터 분리되어 나온 독립인자는 각 변수에 독립적으로 작용하는 인자로, 보통은 오차로 취급된다. 인자분석은 공통인자의 존재 및 공통인자와 관측한 변수 사이의 인과구조를 도메인 지식에 근거하여 가정할 수 있을 때 사용하는 방법이다.(프로젝트때 적용할 수 있는지 생각해보자)

 

2. 기계학습

 

기계학습을 비지도학습(unsupervised learning), 지도학습(supervised learning), 강화학습(reinforcement learning)으로 나눌 수 있다. 통계학은 작은 표본크기를 가진 데이터를 대상으로 하며, 설명이나 해석을 중시하는 경향이 있는 반면, 기계학습(지도학습)은 대량의 데이터를 대상으로하고 예측을 중시한다.

 

비지도학습은 정답 데이터가 없으며, 데이터의 배후에 있는 구조를 올바르게 추출하려는 목적으로 사용된다. ex. 군집분석, 차원축소

각 데이터가 어떤 군집에 속하는지를 구하는 방법을 군집분석(cluster analysis)이라 한다. 가장 기본적인 군집화 방법은 k평균(k-means)이다. 분석자가 데이터를 k개의 군집 개수를 정한 후, 각 데이터에 무작위로 군집을 할당하고, 각 군집의 중심 위츨 구하는 일련의 과정을 거친다. 그 외로 군집화 방법으로 계층적 군집화(hierarchial clustering)이 있다. 모든 데이터가 다른 군집에 속하는 상태에서 시작하여, 가장 거리가 가까운 군집끼리 순서대로 합쳐나가서 덴드로그램(dendrogram, 수형도)을 그린다. 군집분석에서는 데이터 간 거리를 분석자가 정의하기 때문에 결과에 자의성이 개입된다. 비선형관계에는 사용할 수 없는 주성분 분석과 달리 t-SNE(t-distributed stochastic neighbor embeding)는 복잡한 비선형관계에서도 적용할 수 있는 차원축소 방법이다.

 

지도학습은 특정 x값일 때, y가 어떤 값이 되는지에 관한 데이터를 바탕으로 그 관계를 학습해 나가는(함수를 구하는) 방법이다. '학습'은 모형(함수)에서 얻을 수 있는 출력을 가능한 한 실제 y에 가깝도록 하고자 모형의 파라미터를 갱신하는 것이다. 계산 방법은 모형의 출력과 실제 y의 차이를 손실함수로 정식화하고, 이를 최소화하는 파라미터를 구하는 것이다. (통계-회귀분석-MSE<->기계학습-지도학습-손실함수) 지도학습에서는 반응변수 y가 양적변수일 때는 회귀, 질적 변수일 때는 분류(classification)이라 한다. 

 

*교차검증(cross validation): 한쪽 데이터를 사용해 학습을 진행하고, 나머지 한쪽 데이터는 에측이 얼마나 좋은지 평가하는데 이용하는 것.

*과대적합(overfittng): 학습 데이터에 대한 예측 성능은 높지만, 검증 데이터에 대한 예측 성능이 낮은 것.

*정직화(regularization): 과대적합이 일어나는 것을 방지하기 위해 모형의 복잡도를 조정하는 요소를 손실함수에 도입하는 것

 

'Data Analysis > Machine Learning' 카테고리의 다른 글

[ISLP] Logistic Regression Lap  (2) 2025.03.20
[ISLP] Logistic Regression 이론  (0) 2025.03.20
[기계학습] 데이터 분석 입문  (1) 2025.02.19