X

지도 학습 (Supervised Learning)

I. 지도 학습의 개요

가. 지도 학습 (Supervised Learning)의 개념

나. 지도 학습의 특징

  • 명시적인 정답이 주어진 상황에서 기계를 학습 시키기 위해 데이터와 레이블을 사용
  • 사람이 목표값에 개입하므로 정확도가 높으나 시간이 오래걸리고 필요 데이터량이 많음

 

II. 지도 학습의 기법 및 알고리즘

가. 지도 학습의 기법

구분 기법 설명
분류 이진 분류 – 두 가지 중 하나로 분류하는 기법
e.g.) 고양이가 “맞다” or “아니다”로 분류
다중 분류 – 여러 종류 중 하나로 분류하는 기법
e.g.) 동물 중 “고양이”로 분류
회귀 독립변수
기반 분석
– 독립변수(입력값)의 개수에 따른 분석
– 단순/다중 회귀분석
종속변수
기반 분석
– 종속변수(독립변수에 의한 효과)의 개수에 따른 분석
– 일변량/다변량 회귀분석

나. 지도 학습을 이용한 알고리즘

구분 알고리즘 설명
인공신경망 측면 CNN – 이미지 기반 특징 추출, 차원 축소를 통한 인식, 예측
– Convolution / Pooling Layer, Feature Map, Sub Sampling
RNN – 현재와 과거 데이터 고려 순차 데이터 처리 순환 신경망
– Input / Output / Hidden Layer, Time Unfolding, BPTT, LSTM
벡터 기반 측면 SVM – 데이터를 두 클래스 분류 위해 Margin 최대 결정직선 탐색
– Support Vector, Margin, 초평면, 결정 직선, 커널 함수
회귀분석
(Regression)
– 변수 집합에서 독립/종속변수 간 상관관계를 함수로 표현
– 독립/종속 변수, 회귀 계수, 최소 자승법, 회귀 방정식

 

III. 지도 학습과 비지도 학습 비교

구분 지도 학습 비지도 학습
사용이유 – 예측 모델 생성 – 고차원 데이터 분류
성능평가 – 교차 검증 수행 – 검증 방법 없음
입력정보 – Labeled Data – Raw Data
유형 – 회귀: (x, y)로 f(x)=y파악
– 분류: 그룹별 특징 파악
– 군집: 데이터끼리 묶음
– 패턴인식: 여러그룹인식
알고리즘 CNN, RNN, SVM, 의사결정 트리 등 K-Means, DBSCAN, 군집(Clustering) 등
장점 – 사람이 목표 값에 개입하여 정확도가 높음 – 목표 값을 정해주지 않아도 되므로 속도 빠름
단점 – 시간이 오래 걸리고 학습 데이터 양이 많음 – 학습 결과로 분류 기준과 군집 예측 불가
사례 – 패턴인식, 질병진단
– 주가 예측, 회귀 분석
– 스팸필터, 차원 축소
– 데이터마이닝, 지식발굴

 

[참고]

  • 위키 백과, “지도 학습 (Supervised Learning)”, 2018. 5
Categories: 알고리즘/AI
도리:

View Comments (5)

  • 궁금한게 있습니다 위 글에서 "명시적인 정답이 주어진 상황에서 기계를 학습 시키기 위해 데이터와 레이블을 사용" 이미 모델에서 정답이 무엇인지 알고있는 상황에서 예측한다라는 말이 맞는건가요?

    예를들어 비 예보를 예측하는 모델을 만드려고 과거 비가 오기 하루 전날들에 습도, 온도, 기압 데이터들을 바탕으로 모델을 만든 뒤 오늘의 습도, 온도, 기압을 기계에게 알려주면 내일 비가올지 안올지를 알려주잖아요... 이걸 "예측"이라고 정의할 수 있는지가 의문입니다...
    이런건 단순 조건문으로도 만들 수 있는거 아닙니까? 저가 잘못이해한걸 알려주십시오!!

    • 첫번째 질문사항인 "명시적인 정답이 주어진 상황에서 기계를 학습 시키기 위해 데이터와 레이블을 사용"은 예측 성능이 높은(정답을 맞출 확률이 높은) 모델을 만들기 위해 답을 미리 입력하여 기계를 학습시키는 학습법(지도 학습)을 의미합니다. 예를 들어, 고양이 사진(앞에서 말한 "명시적인 정답")을 학습 데이터로 사용할 때, 많은 학습 데이터와 레이블이 있을 수록 강아지 처럼 생긴 실물 고양이를 보고 맞게 예측하는 확률이 높은 모델을 만들 수 있다는 의미입니다. 따라서 정답을 가지고 예측을 한다는 의미가 아니라, 예측 모델을 만들기 위해 데이터와 레이블이라는 정답을 사용한다는 의미입니다.

      두번째 질문사항인 비 예보를 예측하는 모델을 만들 때, 머신러닝을 이용하지 않고도 기상 예측을 할 수 있습니다. 기상청에서 슈퍼컴퓨터를 이용하여 날씨를 예측하는 시스템을 생각하시면 됩니다. "예측"이란 과거 및 현재 데이터를 기반으로 미래에 다가올 사건을 미리 판단하는 것인데, 기상청에서 슈퍼컴퓨터를 이용하여 날씨를 예측할 때 이미 저장되어 있는 방대한 기후 데이터를 기반으로 현재 날씨에 대입해 미래 날씨를 추론하는 모델은 수 시간이 소요됩니다. 하지만 머신러닝을 사용하게 되면 이 추론 시간을 수 분 정도로 단축시킬 수 있어, 예측의 효율성을 개선할 수 있기 때문에 머신러닝을 이용한 예측 모델 연구가 활성화되고 있는 것입니다. 머신러닝이 아니면 안되는 것이 아니고 머신러닝을 이용하면 효율적이라는 것입니다.

      머신러닝을 이용한 기상 예측에 대한 추가적인 설명은 "머신러닝을 이용한 강수량 예측에 대한 구글 AI 리서치"(링크)를 참고해주세요.

  • 지도 학습 사례에 패턴 인식이 있는데 비지도 학습 유형에 패턴 인식이 있습니다. 그럼 패턴 인식 자체는 비지도, 지도 학습으로 접근이 가능한 건가요? 그리고 여기서 말하는 패턴 인식이 어떤 건지 정확이 말씀해주실 수 있을까요? Segmentation 을 말씀하시는 것이면 Training level 에서 classification 된 label data 가 필요한 것으로 알고 있습니다. 근데 만약 비지도 학습으로 Segmentation 이 이루어진다면 어떻게 이루어지는 건지도 궁금합니다.

    • 패턴 인식은 비지도, 지도 학습으로 모두 접근 가능합니다. 지도 학습에서 말하는 패턴 인식은 Labeled data를 기반으로 생성된 학습 모델을 통해 실제 데이터를 패턴에 적용하여 인식 시키는 의미로 사용하였고, 비지도 학습에서 말하는 패턴 인식은 유사성 등의 개념에 기초해서 데이터 그룹을 여러 개의 작은 그룹으로 세분화(Segmentation)하는 의미로 사용하였습니다.
      사실 머신러닝 분야 자체가 패턴을 기반으로 데이터를 구분하거나 분류하는 분야이므로 지도 학습과 비지도 학습, 강화 학습 등 머신러닝 전 분야에서 패턴 인식을 활용한다고 보시면 될 것 같습니다.