728x90
반응형

지도 학습 & 비지도 학습 & 준지도 학습 & 강화 학습

 지난 포스트에서는 전통적인 프로그래밍 기법과 머신러닝 기법을 직접 비교해보았다. 이번 포스트에서는 머신러닝 시스템에서 사람이 감독을 하는지 하지 않는지에 따라 나뉘는 지도 학습, 비지도 학습, 준지도 학습, 강화 학습이 무엇인지 알아보도록 하겠다.

 지도, 비지도, 준지도, 강화 학습은 사람의 감독 형태가 어떠한지와 정보량에 따라 구분된다.

 

 

 

1. 지도 학습(Supervised Learning)

  • 지도 학습에는 답지인 레이블(Label) 데이터가 필요하다.
  • 지도 학습의 대표적인 예는 분류(Classification)로, 숫자 손글씨 인식 모델을 만드는 경우, 손으로 쓴 숫자에 해당하는 클래스(Class) 0, 1, 2, 3,..., 9를 레이블로 붙이고, 머신은 각 레이블에 대한 패턴을 학습한다. 새로 들어온 데이터가 특정 클래스에 속하는 패턴을 가지고 있는 경우, 각 클래스에 속할 확률을 계산한다.
  • 또는, 사진을 바탕으로, 고양이를 인식하는 모델을 만들기 위해, 고양이 사진에는 고양이라는 의미로 0으로 범주화(Class) 하고, 나머지는 고양이가 아니다는 의미로 1로 범주화한다.
  • 통계분석의 꽃인 회귀분석(Regression Analysis)은 대표적인 지도 학습 방법 중 하나이다. 독립변수(Independent variable)인 성별, 하루 평균 운동 시간, 식사량, 간식 섭취량, 음료수 섭취량 등이 종속변수(Dependent variable)인 체질량지수(BMI)에 영향을 주는 정도를 학습하여, 체질량지수 모델을 만들어낼 수도 있다.
  • 대표적인 지도 학습 알고리즘은 다음과 같다.
  1. K-최근접 이웃(K-nearest neighbors)
  2. 선형 회귀(Linear ragression)
  3. 로지스틱 회귀(Logistic regression)
  4. 서포트 벡터 머신(Support vector machine, SVM)
  5. 의사 결정 나무(Decision tree)와 랜덤 포레스트(Random forest)
  6. 신경망(Neural networks)

 

 

 

 

 

2. 비지도 학습(Unsupervised learning)

  • 훈련 데이터에 레이블 데이터가 없이 학습을 진행하므로, 머신은 어떤 도움 없이 학습을 해야 한다.
  • 비지도 학습은 크게 3개 알고리즘에 특화되어 있다.
  1. 군집화(Clustering)
  2. 시각화와 차원 축소(Visualization & Dimensionality reduction) 
  3. 연관 규칙 학습(Association rule learning)

 

2.1. 군집화(Clustering)

  • 군집화는 데이터에 있는 패턴을 찾고, 그 패턴을 기반으로 n개의 집단으로 데이터를 나눈다.
  • 예를 들어, 특정 온라인 쇼핑몰에 방문하는 사람의 메타 데이터를 이용하여, 군집화를 실시한다면, 해당 온라인 쇼핑몰의 시간대별 방문자의 특징을 이용해, 각 집단이 선호하는 것에 대해 마케팅을 할 수 있다.
  • 대표적인 알고리즘은 다음과 같다.
  1. k-평균(k-means)
  2. DBSCAN
  3. 계층 군집 분석(Hierarchical cluster analysis, HCA)
  4. 원-클래스 서포트 벡터 머신(One-class SVM)
  5. 아이솔레이션 포레스트(Isolation forest)

 

2.1.1 이상치 탐지와 특이값 탐지(Outlier detection & Novelty detection)

  • 이상치 탐지(Outlier detection): 학습 시, 대부분의 데이터를 정상 데이터로 입력하여(모든 데이터를 정상 데이터로 사용하는 것보다. 소량의 이상치 데이터를 섞어 넣는 것이 보다 좋은 결과를 낸다는 이슈가 있다), 새로 입력된 데이터가 정상 데이터로부터 벗어나는 경우, 이상치로 탐지한다.
  • 특이값 탐지(Novelty detection): 모든 데이터를 특이값이 아닌 데이터로 학습시켜, 새로운 데이터가 들어갔을 때, 학습되지 않은 데이터가 들어간다면, 이를 특이값으로 탐지한다. 예를 들어, 시내에서 돌아다니는 사람들에 대해 학습을 하는 경우, 인형탈을 쓰고 돌아다니는 사람을 제외하고 학습을 시킨다면, 인형탈을 쓰고 돌아다니는 사람을 인식했을 때, 다른 사람들과 크게 다른 특이값으로 탐지하게 된다.
  • 이상치 탐지와 특이값 탐지는 학습 데이터에서 벗어나는 대상을 탐지하는 것이므로, 이 역시 전체 군집과 그 밖의 군집으로 나누는 군집화라고 할 수 있다.

 

2.2. 시각화와 차원 축소(Visualization & Dimensionality reduction) 

  • 시각화(Visualization): 레이블이 존재하지 않는 대규모의 고차원 데이터를 입력하면, 도식화가 가능한 2D나 3D 표현을 만들어내며, 해당 알고리즘은 가능한 구조를 그대로 유지(입력 공간에서 떨어져 있던 클러스터는 시각화된 그래프에서 겹쳐지지 않게 유지된다.)하려고 하기 때문에 데이터가 어떻게 조직되어 있고, 예상하지 못했던 패턴의 존재 등을 탐색할 수 있다.
  • 차원 축소(Dimensionality reduction): 정보의 손실을 최소화시키면서, 데이터를 간소화시키는 것으로, 관련이 깊은 특성을 하나로 합치는 작업이다.
  • 주어진 특성을 조합해 새로운 특성을 생성하므로 특성 추출(Feature extraction)이라고도 한다.
  • 시각화와 차원 축소 모두, 전체 데이터에서 정보 손실을 최소화하면서, 데이터를 간소화시키는 과정이 존재하기 때문에 상당히 유사하다.
  • 대표적인 알고리즘은 다음과 같다.
  1. 주성분 분석(Principal component analysis, PCA)
  2. 커널 주성분 분석(Kernel PCA)
  3. 지역적 선형 임베딩(Locally-Linear embedding, LLE)
  4. t-SNE(t-distributed stochastic neighnor embedding)

 

2.3. 연관 규칙 학습(Assiciation rule learning)

  • 대량의 학습 데이터에서 특성(Feature) 간 관계를 찾아내는 것이다.
  • 예를 들어, 마트에서 치킨이나 감자튀김 같은 기름진 음식을 구매한 사람은 맥주를 구매하는 경향이 있으므로, 고객의 동선에 맥주와 맥주 안주거리를 순차적으로 배치할 수 있다.
  • 대표적인 알고리즘은 다음과 같다.
  1. 어프라이어리(Apriori)
  2. 이클렛(Eclat)

 

 

 

 

 

3. 준지도 학습(Semisuplervised learning)

  • 데이터에 레이블을 다는 것은 시간과 비용이 매우 많이 드는 작업이기 때문에 레이블이 있는 샘플을 찾는 것은 쉽지 않다. 준지도 학습은 지도 학습과 비지도 학습의 사이에 있는 학습 방법으로, 레이블이 존재하는 데이터와 존재하지 않는 데이터 모두를 훈련에 사용하는 것이다.
  • 레이블이 없는 다량의 데이터에 적은 양의 레이블이 존재하는 데이터를 포함시키는 경우, 학습 정확도가 개선되는 경향이 있다고 한다.
  • 사용자가 올린 사진을 자동으로 정리해주는 구글 포토(Google Photo)가 대표적인 예로, 사람들이 다량의 사진을 올리는 경우, 학습된 패턴을 이용해 사진들을 군집화하고, 사진에 등장한 사람들에 대해 Labeling을 해주면, 특정 인물이 있는 사진들만 찾을 수도 있다.
  • 대부분의 준지도 학습 알고리즘은 지도 학습과 비지도 학습 알고리즘의 조합으로 이루어져 있으며, 대표적인 준지도 학습인 심층 신뢰 신경망(Deep belief networks, DBN)제한된 볼츠만 머신(Restricted Boltzmann machine, RBM)을 기반으로 순차적으로 학습한 후, 지도 학습 방식으로 세밀하게 조정된다.

 

 

 

 

 

4. 강화 학습(Reinforcement learning)

  • 강화 학습은 지도 학습, 비지도 학습과 상당히 다른 알고리즘으로, 학습하는 머신을 에이전트(Agent)라 부르고, 환경(Environment)을 관찰해 행동(Action)을 실행하고, 그 결과로 보상(Reward)이나 벌점(Penalty)을 받는다.
  • 강화 학습은 시간이 지나면서 가장 큰 보상을 얻기 위해, 정책(Policy)이라 부르는 최상의 전략을 스스로 학습한다.
  • 정책은 주어진 상황에서 에이전트가 어떤 행동을 선택해야 할지 정의한다.
  • 강화 학습은 딥러닝이라는 단어를 전 세계에 알린 딥마인드(DeepMind)의 알파고(AlphaGo)에서 사용되었다.

 

 

[참고 서적]

 

 

 지금까지 머신러닝의 학습 방식에 따른 차이인 지도 학습, 비지도 학습, 준지도 학습, 강화 학습에 대해 가볍게 알아보았다. 다음 포스트에서는 모델이 점진적으로 학습을 할 수 있는지 여부에 대하여, 머신러닝을 분류하는 배치 학습과 온라인 학습에 대해 알아보도록 하겠다.

728x90
반응형

+ Recent posts