본문 바로가기
Deep Learning/Machine Learning 정리노트

[Machine Learning 정리노트] 01. Supervised Learning과 Unspervised Learning에 대해 알아보자(간단하게!)

by Steve-Lee 2020. 7. 19.

Machine Learning 기초 다지기

앞으로 Kaggle Kernel을 공부하면서 하나씩 기록으로 남기고자 합니다. 해당 커널에서 등장하는 Machine Learning 개념에 대한 이해를 돕고자 다시 한번 정리하는 마음으로 'Machine Learning 정리노트'를 작성하게 되었습니다. 

 

차분하게 하나씩 풀어갔으면 합니다

안녕하세요 Steve Lee입니다. 오늘은 Supervised Learning과 Unsupervised Learning에 대해 살펴보도록 하겠습니다. 그럼 시작하겠습니다!


Supservised Learning과 Unsupervised Learning이란 무엇인가?

Machine Learning은 크게 두 가지로 나눌 수 있습니다. (출처: https://images.deepai.org)

우선 머신러닝을 직관적으로 살펴보도록 하겠습니다. (숲을 먼저 보겠습니다!)

머신러닝은 크게 'Supervised Learning'과 'Unsupervised Learning'으로 나누어집니다. 

 

(계중에는 Machine Learning을 Supervised Learning, Unsupervised Learing 그리고 Reinforcement Learning으로 나누기도 하지만 이번 시간에는 앞의 두 가지 방법에 집중해 보도록 하겠습니다!)

 

  • Supervised Learning과 Unsupervised Learning의 가장 큰 특징은 두 방법론에서 입럭으로 받는 데이터의 차이에 있습니다
  • Supervised Learning은 '지도 학습'이라는 말처럼 Input Data와 Input Data에 대한 정답에 해당하는 Label(또는 class) 정보를 입력으로 받습니다
  • 주어진 데이터와 label로부터 모델을 학습시켜 새로운 데이터를 입력으로 받았을 때 label을 예측합니다
  • Unsupervised Learning은 오직 Input Data를 기반으로 군집을 찾는 학습을 진행합니다

사실 처음에는 위의 말도 어렵게 다가 올 수 있다고 생각합니다. 추상적인 개념을 이미지를 통해 조금 더 직관적으로 살펴보도록 하겠습니다.

(사진으로 예시를 들기 좋은 자료가 있어서 인용해왔습니다. 원본은 이곳에서 확인 가능하십니다)

Upservised Learning에서는 각각의 동물에 대한 정보가 주어져있습니다. e.g) 오리인지, 오리가 아닌지. 반면 Unsupervised Learning의 경우 주어진 입력 데이터만 활용해입력 데이터의 category를 분류해야 합니다. (출처: MC.AI)

 

Supervised Learning

  • 지도학습이라는 이름에서 알 수 있듯이 입력 데이터에 대한 정답(label 또는 class)이 함께 주어집니다
  • 위의 그림을 보시면 모델의 입력값으로 각각의 데이터에 대한 정답이 함께 주어지는 것을 확인하실 수 있습니다
  • 위의 모델은 오리인지 오리가 이닌지를 분류하는 Binary-Classification 분류 모델에 대한 예시입니다

 

Unsupervised Learning

  • 반면 Unsupervised Learning에서는 모델의 입력값으로 오직 입력 데이터만 주어집니다
  • 즉 정답이 없는 학습을 모델에게 요구하는 것입니다. 비지도학습이라고도 합니다(정답을 알고 있는 선생님이 없죠!)
  • 특징으로는 데이터 분석을 통해 unknown pattern을 학습할 수 있게 됩니다. 그 결과로 우리는 새로운 데이터가 입력으로 주어졌을 때 분류할 수 있게 되는 것입니다. 
  • 예를 들어 데이터 간의 유사도(similarity), 패턴(pattern), 차이(difference) 등으로 데이터를 분류할 수 있는 학습을 진행하는 것입니다.

Binary Classification과 Clustering(Unsupervised Learning) (출처: https://miro.medium.com)

Supervised Learning과 Unsupervised Learning에는 다양한 알고리즘들이 존재합니다

Supervised Learning과 Unsupervised Learning에는 다양한 알고리즘이 존재합니다. 최근 들어 각광을 받고 있는 Neural Network는 Supervised 문제, Unsupervised 문제 모두 적용이 되네요!

앞으로 알고리즘을 하나씩 공부해 나가면서 상황에 맞는 최적의 알고리즘을 찾아 주어진 문제를 해결하시면 좋을 것 같습니다.


코드 실습

코딩을 통해 결과를 확인해 본다면 이론으로만 배웠던 내용을 조금 더 이해하실 수 있으리라 생각합니다.

(적절한 실습 코드를 찾아서 향후 추가해보도록 하겠습니다)


Reference

  • Geeks for Geeks: Supervised and Unsupervised learning
 

Supervised and Unsupervised learning - GeeksforGeeks

A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.

www.geeksforgeeks.org

함께 공부하면 좋을 자료들

  • Essential Classification Algorithms with Explanation: Kaggle Kernel

댓글