[머신러닝] 머신러닝의 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을 해결합니다.
댓글
댓글 쓰기