[머신러닝] 머신러닝의 3가지 큰 줄기(감독학습, 비감독학습, 강화학습)

🔳 Machine Learning?

머신러닝이란 인공지능의 한 분야입니다. 머신러닝은 작성된 알고리즘에 따라 작동하는 고전적인 인공지능과 달리 데이터에서 스스로 패턴을 학습하고 특징을 추출해내는 일련의 시스템과 이를 위한 알고리즘을 구현하는 기술입니다.


머신러닝은 통계학의 공대 버전이라고 부르기도 하는데 그 이유는 불확실성 하에서 예측을 하거나, 의사결정을 하는데 가장 적합한 이론이 통계학이기 때문입니다.




머신러닝은 크게 입력값에 대응되는 출력값이 주어지는가에 따라 지도학습(Supervised Learning)과 비지도학습(Unsupervised Learning)으로 나눠집니다. 또한 행동에 따른 Reward 또는 Punishment가 주어질때 어떻게 행동하는가에 관한 알고리즘인 강화학습(Reinforcement Learning)도 머신러닝의 한 종류입니다.

🔳 Supervised Learning

  지도학습(Supervised Learning)은 입력값과 출력값의 Training set이 주어지며, 입력값에서 출력값으로의 사상(mapping)을  학습하는 것이 목표입니다. 지도학습은 입력값에 대응되는 출력값의 특성에 따라 Classification Problem과 Regression문제로 나눠집니다. 

Classification Problem

입력값에 대응되는 출력값이 이산적인 값(Discrete or Categorical Value)인 경우에 해당됩니다. 예를 들어 Training set(x,y)이 (1,0), (2,0), (3,0), (4,1), (5,1)로 주어질 경우 입력값 1,2,3은 카테고리 0으로 분류되며, 입력값 4,5는 카테고리 1로 분류됩니다. Training set의 y값이 곧 카테고리를 나타낸다는 것을 알 수 있습니다.
  즉, 분류문제는 입력값 x에서 출력값 y={1,2, ...., C}로의 사상을 구하는 것입니다. C가 2인 경우에는 이진분류(Binary Classification), C가 2보다 큰 경우는 다중분류(Multiclass Classification)라고 합니다.


  아래 그림은 이진분류의 한 예로 각 데이터의 색깔, 모양에 따라 분류되어 있습니다. 이 분류기에 새로운 데이터로 노란 별이 입력된다면 Category 2로 분류되며, 파란 네모가 새로운 데이터로 입력되면 Category 1으로 분류하게 됩니다. 하지만 파란 별이 입력된다면 어디로 분류되야할까요? 이런 논의가 Cassification Problem에서 다루는 핵심입니다.

Regression Problem

  입력값에 대응되는 출력값이 연속적인 값(Continuous Value)인 경우에 해당됩니다. Regression Problem은 데이터를 직선 또는 이차함수(quadratic  function)에 적합시키는 모델입니다.
  아래 그림은 데이터를 직선에 적합시키는 선형회귀(Linear Regression)의 알고리즘을 간단하게 나타내었습니다. 그래프는 기온이 증가할때 선풍기 판매량의 증가정도를 나타내고 있으며, 데이터에 알맞은 직선을 적합시키기 위해 초기값을 정하고 초기값에 대한 Cost fuction을 구합니다. 그리고 반복적인 최적화과정을 통해Cost function이 최소가 되는 값을 구합니다. 이런 과정을 통해 Regression Problem을 해결합니다.


🔳 Unsupervised Learning

비지도학습(Unsupervised Learning)은 출력값 없이 입력값만으로 학습을 하며, 입력값에서 직접적으로 관찰되거나 측정되지 않는 데이터의 잠재요인(Latent Factor) 또는 잠재변수(Latent Variable) 를 찾아내는 것이 비지도학습의 핵심입니다.  

Clustering

비지도학습의 전형적인 예로 군집화(Clustering)을 들 수 있습니다. 군집화는 구체적인 특성을 공유하는 군집을 찾는 알고리즘이며, 이때 관측된 데이터에는 구체적인 특성이 나타나지 않습니다. 아래 그림은 군집화의 대표적인 예로 K-Means Algorithms을 나타내고 있습니다.  이것은 거리가 가까운 데이터들은 같은 특성을 공유한다는 아이디어에서 시작하며, 각 클러스터와 데이터간 거리차이의 분산을 최소화하여 k개의 클러스터로 묶는 알고리즘입니다. 즉 K-Means 알고리즘에서는 잠재변수를 데이터간의 거리로 보고있습니다.


🔳 Reinforcement Learning

강화학습(Reinforcement Learning)은 행동심리학에서 영감을 얻어 시작되었으며, 어떤 환경 안에서 정의된 에이전트가 선택가능한 행동들 가운데 보상을 최대화하는 행동을 선택하는 방법입니다.

댓글

가장 많이 본 글