[머신러닝 한방 정리] 1.4 - 회귀/분류, 지도학습/비지도학습 한방 정리

 이야기로 읽는 머신러닝 한방 정리 

 인공지능?  딥러닝?  한방에 정리하는 핵심 요약





머신러닝을 이해하는 가장 직관적인 방법은 직접 기계가 되어보는 것이다

1.4 회귀/분류, 지도 학습/비지도 학습 한방 정리

지난 시간에 우리는 인공지능, 머신러닝, 딥러닝이 어떤 의미이고 어떻게 구분되는지 살펴보았다.
이번 시간에는 머신러닝의 종류를 구분하는 기준 두 가지를 소개하겠다.

첫 번째로는 '회귀''분류'가 무엇인지,
두 번째로는 '지도학습''비지도학습'은 무엇인지 알아보겠다.




1.  회귀(Regression) vs 분류(Classification)



머신러닝이란 한 마디로 컴퓨터를 이용해 데이터에서 어떤 모델(model)을 만들어내는 알고리즘이라고 할 수 있다.
1강과 2강을 통해 알아본 '학습'을 수행하여, 모델을 점차 예측을 잘 하는 방향으로 개선시키는 것이다.

머신러닝 알고리즘의 종류는 다양한데, 그 종류를 나누는 기준도 다양하기 때문에 우선 가장 널리 쓰이며 이해하기 쉬운 것부터 알아보도록 하자.
먼저 머신러닝을 통해 해결하려는 문제의 종류에 따라 나눌 수 있는데, 우리가 예측하려는 값의 종류에 따라 '회귀'와 '분류'로 구분할 수 있다.


값의 종류는 '연속 값(continuous value)'과 '이산 값(discrete value)'으로 나뉜다.


연속 값이란, 말 그대로 연속하는 값을 말한다.

주관식 문제의 답을 쓰듯이, 그 값은 0.3이 될 수도 있고
0.31, 0.301, 0.3001 이렇게 끝없이 연속되어 나갈 수 있다.




이산 값이란 객관식 문제의 보기처럼 한정된 수로 끊어져 있다. 예를 들면 다음과 같다.
  • 10대 / 20대 / 30대 / 40대 / 50대 / 60대 이상
  • 매우 그렇다 / 그렇다 / 보통이다 / 그렇지 않다 / 매우 그렇지 않다






머신러닝을 이용해 해결하려는 문제의 종류는 두 가지로 구분된다.


예측하려는 값이 연속 값이면 회귀 문제이며,
예측하려는 값이 이산 값이면 분류 문제다.



예를 들어보자.

A 보험 회사는 앞으로 고객을 받을 때 어떻게 가격을 책정해야 더 높은 수익을 얻을지 고민 중이다. 일 잘하는 3년 차 김대리는 최근에 공부하고 있는 머신러닝을 활용해서 문제를 해결해보려고 한다. 즉, 현재까지 가입한 고객들의 다양한 정보가 있는 데이터를 학습해서, 새로운 고객이 같은 종류의 정보를 제공할 때 가격을 예측하는 모델을 만들어보려는 것이다.

이 경우는 예측하려는 값이 '가격', 즉 4,852,302.11원과 같은 연속 값이다.
따라서 이 머신러닝 모델이 해결하려는 문제는 회귀 문제라고 할 수 있다.

B 회사는 잘 운영해오던 커뮤니티 웹사이트에 최근 들어 광고성 음란물 사진 때문에 골머리를 앓고 있다. A 보험 회사에서 성공적으로 머신러닝을 활용해 문제를 해결했다는 소문을 듣고, 이팀장은 김대리를 프리랜서로 고용하기로 했다. 김대리는 전혀 새로운 문제에 직면했지만, 사실 두 문제를 해결하는 원리는 크게 다르지 않다는 것을 깨달았다.* 학습된 모델이 예측하려고 하는 것은, 새로운 이미지 데이터가 들어왔을 때 그것이 음란물인지 아닌 지를 가려내는 것이다. 
* 물론 데이터의 종류 또한 다르다. 고객들의 수치화된 정보에서 이미지 데이터로 바뀌었기 때문이다.
김대리는 이미지를 학습 데이터로 이용할 수 있는 CNN이라는 딥러닝 모델을 사용하기로 했다.

이 경우는 예측하려는 값이 '네 / 아니오' 중에서 선택하는 이산 값이다.
따라서 이 머신러닝 모델이 해결하려는 문제는 분류 문제라고 할 수 있다.


위의 예시와 같이 '네 / 아니오' 두 종류로 구분하는 것을 이진 분류(binary classification) 문제라고 한다. 즉, 양성 클래스(positive class)와 음성 클래스(negative class)로 분류한다는 것이다.
만약 분류하려는 클래스가 두 가지 이상이라면, 다항 분류(multi-class classification) 문제가 된다. 예를 들면, 이미지의 물체가 무엇인지 (사람, 자동차, 길, 전봇대, 개, 하늘 등) 판별하고 분류하는 것이 다항 분류 문제에 해당한다.




2.   지도 학습(Supervised learning) vs 비지도 학습(Unsupervised learning)



머신러닝은 학습의 종류에 따라 구분되기도 한다.
가장 보편적으로는 지도 학습과 비지도 학습으로 구분하는데, 최근에는 반지도 학습이나 강화 학습*이라는 방법도 입지를 다지고 있다. 이 강의에서는 머신러닝을 이해하는 가장 핵심이 되는 지도 학습과 비지도 학습에 대해서만 다룬다.
* 강화 학습은 모델이 어떤 행동을 선택하느냐에 따라 보상(reward) 혹은 벌점(penalty)를 부여해 점점 나은 전략을 학습하는 방법으로,
체스 게임 등 전략적 선택을 학습해야 하는 문제에 주로 사용된다. 알파고를 학습할 때에도 사용되었다.

지도학습과 비지도학습을 나누는 기준은, 한 마디로 레이블(label)*의 유무라고 할 수 있다.
* 학습에서 '정답'을 의미한다. 1강과 2강 참고



훈련 데이터에 레이블이 있다면 지도 학습이고
훈련 데이터에 레이블이 없다면 비지도 학습인 것이다.




1강과 2강에서 '학습'에 대해 살펴볼 때 예시로 들었던 '스팸 메일 분류'를 생각해보자.
당신은 직접 레이블링을 해보기도 했고(1강),
예측한 가설이 정답인 레이블과 얼마나 차이가 나는지를 체크하며 훈련 진행 과정을 간단하게 살펴보았다(2강).




즉, 레이블이 존재하는 훈련 데이터를 가지고 학습을 진행하는,
전형적인 지도 학습이라고 할 수 있다.

지도 학습에 속하는 것으로는 다음과 같은 알고리즘이 있다. Chapter 2에서는 이 알고리즘들을 하나씩 살펴보는 시간을 가질 것이다.

  • 선형 회귀
  • 로지스틱 회귀
  • 서포트벡터머신
  • 신경망



그렇다면 비지도 학습에는 어떤 것이 있을까?

비지도 학습이란 레이블이 없는 데이터로 학습을 진행하는 방법이라고 설명했다. 대표적으로 집화(clustering)라는 방법이 있는데, 이를 통해 데이터들을 여러 개의 그룹으로 묶어낼 수 있다.


Visualization by Alan Jeffares
https://towardsdatascience.com/k-means-a-complete-introduction-1702af9cd8c


예를 들어, C라는 인터넷 쇼핑몰에서 사용자를 여러 종류로 구분해 각각 최적화된 방법으로 마케팅을 하려고 한다. 이때 군집의 한 종류인 'k-평균(k-means)' 알고리즘을 활용해, 머신러닝 모델이 사용자들의 데이터를 학습해 k 개의 그룹으로 분류할 수 있다. 여기서 주목할 점은, 지도 학습과는 다르게 학습 데이터에는


'이 사용자 데이터는 그룹 1이고, 저 사용자 데이터는 그룹 2다 ' 라는
레이블이 없다는 것이다.

이런 레이블링 된 훈련 데이터들을 학습해서 그룹이 정해지지 않은 새로운 사용자의 그룹을 예측하는 것이 아니라,
레이블이 없는 데이터들 속에서 스스로 분류 기준을 도출해내고 그 기준으로 군집 그룹들로 분류해내는 것이다. 이 과정에 대해서는 역시 Chapter 2에서 자세히 다루도록 하겠다.



이번 시간에는 머신러닝을 구분하는 두 종류의 기준과, 각각의 분류에 대해 알아보았다.
첫 번째로는 머신러닝을 통해 해결하려는 문제의 종류에 따라 회귀 문제와 분류 문제를 살펴보았다.
두 번째로는학습의 종류에 따라 머신러닝을 지도 학습과 비지도 학습을 구분하고 살펴보았다.

등장했던 알고리즘들이 어려워 보인다고 해서 겁먹을 필요는 없다.
Chapter 2에서 하나씩 살펴볼 예정이니, 오늘은 간단하게 개념을 정리해보면서 마무리 하도록 하자. 




  정 리 하 기  
정답을 입력하면 상자 테두리가 초록색으로 변합니다



예측하려는 값이  값이면  문제이며,

예측하려는 값이  값이면  문제다.



훈련 데이터에 이 있다면  학습이고,

                                        없다면  학습이다.



힌트 보기
레이블, 분류, 이산, 비지도, 회귀, 분류, 연속, 지도









댓글 쓰기

6 댓글

  1. 머신러닝의 2가지 종류에 따른 기준과 분류에 대하여 쉽게 배우고 있는 중입니다~~~~~

    답글삭제
    답글
    1. 쉽게 이해한 것 같아 기쁘네요 :)

      삭제
  2. 이번에도 잘 읽고갑니다!

    답글삭제
  3. 머신러닝을 구분하는 두 종류의 기준과 분류에 대해 잘 알게 되었어요
    Philgineer님 덕분에 어렵게만 느껴지던 머신러닝에 대해 조금씩
    알아가는 재미가 쏠쏠하네요^^

    답글삭제
    답글
    1. 도움이 된다니 기쁘네요! 감사합니다! :)

      삭제