머신러닝이란

머신러닝을 개념을 최대한 쉽게 정리해봤다.

일단 머신러닝… 기계를 가르친다는 뜻인데, 기계를 어떻게 가르칠 것인가에 따라 두 가지로 나눠서 생각할 수 있다.

  • Supervised Learning (지도 학습)
  • Unsupervised Learning (비지도 학습)

차이점을 간략하게 알아보자.

Supervised Learning (지도 학습)

지도 학습은 데이터에 레이블(정답)이 미리 정해져 있을 때 가능하다. 그래서 프로그램에 입력값을 주면 출력값을 기계가 예측해주는 거다.

예를 들면 음악이라는 걸 들어본 적 없는 아이에게 이런저런 음악을 들려주면서 “이건 락이야, 이건 EDM이야, 이건 재즈야.” 이런 식으로 가르쳐주면 나중에는 그 아이가 아무 음악이나 들려줘도 “이건 재즈다!”하고 맞추는 것과 같다. 물론 적절한 예가 아닐 수 있다. 음악 장르 구분에는 정해진 답이 없으니. 아무튼…

그리고 지도 학습은 또 다시 Regression(회귀)와 Classification(분류)로 세분화할 수 있다.

  • Regression(회귀)
    : 연속된 값, 수치, 즉 ‘얼마나’를 예측
  • Classification(분류)
    : 연속적이지 않은 값, 다시 말해 ‘무엇’을 예측

즉, 위에서 예를 들었던 음악 장르 예측은 ‘분류’ 과제가 된다. 분류는 특히 이미지 처리 분야에서 정말 활발하게 활용된다.

Unsupervised Learning (비지도 학습)

비지도 학습은 레이블(정답)이 정해져 있지 않은 데이터를 기반으로 데이터의 고유한 구조나 패턴을 익히는 거다. Clustering(군집화)가 대표적인 비지도 학습니다.

  • Clustering(군집화)
    : 데이터에서 패턴과 구조를 찾아 그룹을 지어줌

여기서 주의하자. 머신러닝에 대해 잘 모르는 사람들은 종종 “분류”, “클러스터링”이라는 한국어/영어를 섞어서 사용하면서 ClassificationClustering를 명확히 구별하지 못하는 경우가 있는데, 분류는 정답을 맞히는 거고 클러스터링은 비슷한 것들끼리 묶어주는 거다. 전혀 다른 거다.


앞으로는 파이썬 라이브러리 Scikit-learn(싸이킷런)을 활용해서 머신러닝을 직접 실습하는 내용을 틈틈히 포스팅 해보려고 한다.

추천 글

댓글 남기기