IT지식/인공지능

[인공지능] 비지도학습 - 개념 정리부터 프로세스 및 기법까지

매 석 2022. 11. 4. 18:52
반응형

 

1. 비지도학습이란?

- 지도학습에서는 레이블이 모델의 학습 방향을 지도한다. 모델의 예측값과 레이블을 손실함수를 이용해 비교하고,
  오차가 감소하는 방향으로 모델의 학습을 유도한다.
  비지도학습에서는 데이터에 레이블이 존재하지 않으므로 모델의 학습 방향을 직접 지도할 기준이 없다.
  따라서 이를 '비지도학습'이라 부른다.
  비지도학습은 레이블이 없을 때 사용하기에 모델이 데이터를 얼마나 잘 학습했는지,
  즉 모델의 성능을 지도학습처럼 직접 측정하기 어렵다. 그렇기에 간접적 또는 정석정 평가 지표를 이용해 평가한다.

  비지도학습은 레이블이 없어서 명확한 기준으로 분석하기 어렵다단점이 있는 동시에
  레이블이 있을 때는 볼 수 없었던 데이터의 새로운 특성을 파악할 수 있다는 장점도 있다.
  이러한 장점 때문에 데이터 레이블이 있을 때도 심도 있는 데이터의 특성을 파악하기 위해
  비지도학습을 수행하기도 한다.

 

2. 비지도학습 프로세스

- 비지도학습에서 사용하는 평가 지표의 성격은 지도학습의 평가 지표와 다르다.
  즉 모델 성능 평가모델 선택 단계에서 사용하는 방법이 다르다는 뜻이다.
  우선 비지도학습에서 사용하는 정량적 지표는 군집화의 질을 단편적으로 평가한다.
  따라서 정량적 지표가 좋을수록 무조건 군집화가 잘 진행됐다고 말하기 어렵다.
  또한 대부분 비지도학습의 정략적 지표는 모델 학습이 아니라 하이퍼파라미터를 찾는 데 사용된다.

 

1. 기본적으로 비지도학습에서 사용하는 정량적 평가 지표는 군집 내의 데이터가 얼마나 가까운지
    군집 간의 데이터가 얼마나 먼지를 측정한다.


- '실루엣' 방법은 이를 직접적으로 사용해 군집의 질을 단편적으로 측정한다.
  동일한 의도를 갖는 다른 접근법에서는 각 군집이 내포하는 분산의 합이 전체 데이터의 분산에서
  차지하는 비중인 '설명 분산'을 살펴본다. 즉 군집이 데이터 내의 분산을 얼마나 많이 설명하는지 측정하는 것이다.

  군집의 개수에 따라 설명 가능한 분산을 나타낸 후 '엘보' 방법을 사용할 수도 있고,
  PCA일 때 '스크리 그림'을 사용해 비슷한 분석을 진행할 수 있다. 이외에도 군집화의 왜곡을 
  평가 지표로 사용하는 '정보이론적 접근법'이 있고, 각 하이퍼파라미터로 테스트셋에서 군집화를 적용한 후
  평가 지표를 각 테스트셋에서 계산해 사용하는 '교차검증법'도 있다.
  각 군집이 잘 나눠졌다고 가정한 후 군집 간에 통계적으로 유의한 차이가 있는지 검정하는 '분산분석'을 사용하기도 한다.

  비지도학습에서 진행하는 '정성적 평가'는 정량적 지표가 나타내지 못하는 데이터의 성질을 알기 위해 진행한다.
  군집화된 데이터를 들여다보고 사람이 직접 군집의 질을 평가하는 것이다.
  이 단계가 마무리되면 간 군집의 특성을 알 수 있다. 정성적 평가는 시각화를 동반할 때가 많기에
  PCA, t-SNE와 같은 기법을 사용해 3차원 이하의 공간으로 차원 축소를 진행한다.

 


2. 비지도학습에서 데이터셋을 꼭 나눌 필요는 없다.


- 학습 데이터셋, 검증 데이터셋, 테스트 데이터셋 등으로 데이터셋을 분할하는 '데이터셋 정의하기' 단계를
  생략할 수도 있다는 뜻이다.
  예시로 k-means 기법을 사용하여 데이터셋을 학습-테스트셋으로 나눴다고 가정했을 때,
  학습 데이터에서 얻은 중심점을 사용해 테스트셋의 데이터를 군집화했다고 가정하겠다.
  군집화된 테스트셋에서는 '정답 군집'이 없기에 테스트셋의 데이터가 '정답 군집'에 들어가도록 군집됐는지
  평가할 수가 없다. 따라서 이때는 테스트셋을 분리하지 않고, 모든 데이터를 학습 데이터라고 간주한 후에
  군집화를 진행한다. 이후에는 앞서 설명한 실루엣, 분산분석, 정성적 평가 등을 적용해 군집의 질을 평가한다.

 

3. 비지도학습 기법 종류

1. k-means

2. PCA

3. GMM

4. 오토인코더

5. GAN

 

4. k-means

{"originWidth":1080,"originHeight":457,"style":"alignLeft","caption":"출처 : K-Means Clustering Algorithm & it’s use cases


가장 자주 이용되는 군집 분석 방법 중 하나로, 주어진 개체들을 k개의 군집으로 분할하는
비지도학습 기법이다. k-means 알고리즘은 세 가지를 가정하는데, 첫 번째 가정은 각 군집은
한 중심점을 기준으로 그 주변에 분포한다는 것, 두 번째 가정은 한 개체는 한 군집에만 속한다는 것,
세 번째 가정은 각 개체와 그 개체가 속한 군집의 중심점 사이의 거리를 모두 더한 값이 작을수록
군집화의 결과가 좋다는 것이다. 이러한 가정을 바탕으로 레이블이 없는 데이터가 주어졌을 때 
데이터 값을 기준으로 특성이 비슷한 개체끼리 묶어 군집을 형성한다.

- k-means의 한계점
1. k값, 즉 몇 개의 군집으로 데이터를 나눌지 미리 정해야 한다. 해결방안으로는 '계층적 군집화'가 있다.
2. 중심점의 초깃값에 따라 군집화 결과가 바뀔수 있다. 해결방안으로 여러 가지 초깃값을 테스트한다.
3. 군집 대상이 블록 집합이 아닐 때는 군집화 성능이 저하된다. DBSCAN 알고리즘을 사용해 해결한다.
4. 이상치에 민감하다. 이 문제를 개선하기 위해서 k-medians를 이용할 수 있다.
5. 한 개체가 한 군집에만 속하는지 여부만 알 수 있고, 속하는 정도로 표현할 수 없다.
   fuzzy C-means를 이용해 해결할 수 있다.

 

 

5. PCA

출처:https://blog.bioturing.com/2018/06/14/principal-component-analysis-explained-simply/

 

가장 대표적이고 빈번하게 사용되는 '차원 축소' 방법으로, 주어진 데이터의 정보를 최대한 보존하면서
데이터를 저차원으로 변환하는 즉, 수직인 부분 공간으로 사영하는 비지도학습 기법이다.
분석의 대상이 되는 데이터가 고차원일 때 '차원의 저주'는 물론 변수 간 '선형 상관성'이나 시각화의 어려움 등
여러 가지 문제가 발생할 수 있는데, PCA를 이용하면 차원을 줄여 이러한 문제를 완화하는 데 도움이 된다.

- PCA의 한계점
1. 변수의 단위에 따라 PCA 결과가 달라질 수 있다. 이는 PCA 전에 각 변수를 표준화해 해결할 수 있다.
2. PCA는 선형 변환을 이용하기에 주어진 변수끼리 비선형 관계에 있을 때 적절한 차원 축소가 이뤄지기 어렵다.
   이는 Kernel PCA나 오토인코더 계열의 모델을 사용할 수 있다.
3. PCA는 범주형 데이터에는 사용할 수 없다. 이는 MCA를 사용해 해결할 수 있다.

 

6. GMM

머신러닝 - 수식 없이 이해하는 Gaussian Mixture Model (GMM) :: Deep Play (tistory.com)

 

가장 흔히 사용되는 '모수적 혼합 모델'중 하나로, 여러 개의 기우시안 확률밀도함수를 조합해
주어진 데이터의 확률밀도함수를 추정하는 비지도학습 군집 분석 기법이다.
GMM은 데이터가 여러 개의 가우시안 분포의 혼합으로 표현된다고 가정하고, 잠재 변수를 이용해
각 가우시안 분포의 혼합으로 표현된다고 가정하고, 잠재 변수를 이용해 각 가우시안 분포의
평균과 분산을 EM알고리즘으로 추정해 데이터의 확률밀도함수를 모델링한다.
이론적으로 충분한 수의 가우시안 확률밀도함수를 사용하기만 한다면 모든 확률밀도를
추정할 수 있기에 '보편 추정자'라고도 불린다.

 

7. 오토인코더

출처 : AutoEncoder의 모든것 (1. Revisit Deep Neural Network) - gaussian37

 

차원 축소, 이상치 탐지, 노이즈 제거 등에 자주 사용되는 인공 신경망 모델로, 주어진 데이터의 차원을
축소했다가 복원하는 과정에서 데이터의 중요한 특성을 학습하는 '비지도학습 기법' 또는 
'자기 지도학습 기법'이다. 이 구성은 인코더, 디코더, 코드, 복원 오류 로 이뤄져 있다.
인코더의 목표는 입력값을 저차원의 코드로 압축해 중요한 정보만을 남기는 것,
디코더의 목표는 이를 복원해 출력값을 생성하는 것이다.
모델이 잘 학습됐다면 입력값과 출력값이 매우 비슷하기에 둘의 차이인 복원 오류가 적을 것이다.
그러면 주어진 데이터의 중요한 특성이 코드로 잘 표현됐다고 할 수 있고, 이것이 오토인코더의 핵심이다.

 

8. GAN

이미지 생성에 많이 이용되는 인공 신경망 모델로, 두 모델을 서로 적대적으로 학습시키는
비지도학습 기법이다. 모형은 실제 이미지와 비슷한 이미지를 생성하는 것이 목표인 '생성 모델'
실제 이미지와 생성 모델이 생성한 가짜 이미지를 구분하는 것이 목표인 '분류 모델'로 나뉜다.
두 모델은 서로 적대적 또는 경쟁적으로 학습하게 되는데, 궁극적인 목표는 학습이 진행됨에 따라,
생성 모델이 만든 이미지가 분류모델이 진짜인지 구분하기 어려울 정도로 실제에 가깝게 하는 것이다.