검수요청.png검수요청.png

지도학습

위키원
이동: 둘러보기, 검색

지도학습(supervised learning)은 훈련 데이터(Training Data)로부터 하나의 함수를 유추해내기 위한 기계학습(machine learning)의 한 방법이다.

개요

학습 훈련 데이터(training data)로 입력과 출력이 같이 제공되는 상황을 문제(입력)의 답(출력)을 가르쳐 주는 것에 비유하여 지도형 기계 학습이라고 한다. 예로, 개와 고양이 사진을 구분하는 것을 들 수 있다. 이때 입력은 사진이고, 출력은 개 또는 고양이인지의 여부가 된다. 개인지 고양이인지의 여부가 기록된 사진을 이용해 지도 학습을 하며, 학습 결과는 훈련 데이터에 포함되지 않은 사진을 구분하는 데 적용된다. 지도학습 훈련 데이터는 일반적으로 입력 객체에 대한 속성을 벡터 형태로 포함하고 있으며 각각의 벡터에 대해 원하는 결과가 무엇인지 표시되어 있다. 이렇게 유추된 함수 중 연속적인 값을 출력하는 것을 회귀분석(regression)이라 하고 주어진 입력 벡터가 어떤 종류의 값인지 표식하는 것을 분류(classification)라 한다. 지도 학습기(supervised learner)가 하는 작업은 훈련 데이터로부터 주어진 데이터에 대해 예측하고자 하는 값을 올바로 추측해내는 것이다. 이 목표를 달성하기 위해서는 학습기가 알맞은 방법을 통하여 기존의 훈련 데이터로부터 나타나지 않던 상황까지도 일반화하여 처리할 수 있어야 한다. 사람과 동물에 대응하는 심리학으로는 개념학습(Concept Learning)을 예로 들 수 있다. 쉽게 말해서 지도학습은 예측하고 싶을 때 사용하는 머신러닝의 알고리즘이다.

  • 비교 : 지도학습과는 다르게 비지도학습은 정답이 없는 데이터 셋을 학습한다. 특정한 정답이 없으므로 데이터에 대한 지식이 많이 필요하며 또한 지도학습과 다르게 종족변수가 없다. 컴퓨터의 기계학습에 의한 분석이며 공통적인 데이터들 끼리 묶어서 패턴을 분석하려는 목적을 띄고 있다. 따라서 데이터를 세분화 하거나 연관성을 파악한다. 비지도학습은 크게 2가지로 나누면 집단을 세분화 시키고 세분화된 집단에 대한 연구를 진행하는 군집분석, 상품 구매 규칙을 통한 구매 패턴을 예측하는데 쓰이는 연관성분석으로 나뉜다.[1]

특징

예측 단계

  1. 데이터 준비하기 : 모든 지도 학습 방법은 입력 데이터 행렬(일반적으로 X)로 시작한다. X의 각 행은 하나의 관측값을 나타낸다. X의 각 열은 하나의 변수, 즉 예측 변수를 나타낸다. 누락된 항목은 X에서 NaN 값으로 나타낸다. 지도 학습 알고리즘은 NaN 값을 무시하거나 NaN 값을 갖는 모든 행을 무시하는 방법으로 이 값을 처리할 수 있다. 응답 변수 데이터 Y에 다양한 데이터형을 사용할 수 있다. Y의 각 요소는 대응하는 X의 행에 대한 응답 변수를 나타내며 역시 누락된 Y 데이터를 갖는 관측값은 무시된다. 회귀를 수행하는 경우, Y는 X의 행 개수와 같은 개수의 요소를 갖는 숫자형 벡터여야 하며, 분류를 수행하는 경우, Y는 다음 데이터형 중 하나일 수 있다.
  2. 알고리즘 선택하기 : 여러 알고리즘 특성 간에는 상충하는 장단점이 있다. 예를 들어 훈련 속도, 메모리 사용량, 예측 정확도, 투명도 등에서 차이가 난다.
  3. 모델 피팅하기 : 사용하는 피팅 함수는 선택하는 알고리즘에 따라 다르다.
  4. 검증 방법 선택하기 : 결과로 생성되는 피팅된 모델의 정확도를 검토하는 세 가지 기본 방법에는 재입대 오차를 검토, 교차 검증 오차 검토 그리고 배깅 결절 트리에 대한 Out-of-bag 오차를 검토하는 방법이 있다.
  5. 피팅 검토 후 업데이트 하기 : 모델을 검증한 후에도 정확도 또는 속도를 높이거나 메모리를 덜 사용하기 위해 모델을 변경해야 할 수도 있다. 이 때 더욱 정확한 모델 혹은 더 작은 모델을 얻기 위해 피팅 파라미터를 변경해 보거나 다른 알고리즘을 선택하는 방법이 있다. 특정 유형의 모델에 만족한 경우 적합한 함수를 사용하여 이 모델을 자를 수 있다. compact는 예측에 필요하지 않은 훈련 데이터와 기타 속석을 제거한다. 예를 들어 모델에서 결정 트리에 대한 정보를 가지치기 하여 메모리 사용량을 줄인다. 하지만 kNN 분류 모델은 레이블을 예측하기 위해 모든 훈련 데이터를 필요로 하므로 모델의 크기는 줄일 수 없다.
  6. 피팅 모델 사용하기 : 메서드를 사용하여 대부분의 피팅된 모델에 대한 분류 응답 변수 또는 회귀 응답 변수를 예측할 수 있다.

알고리즘

  • 최근접 이웃(k-NN) : 데이터 포인트에서 가장 가까운 훈련 데이터 포인트, 최근접 이웃을 찾는 알고리즘으로, 작은 데이터세트일 경우에 기본모델로서 좋고 이해하기 쉽다.
  • 선형 모델 : 선형적인 직선이나 평면, 초평면 등을 이용하여 출력을 찾는 알고리즘으로, 첫 번째로 시도하기 좋으며, 대용량 데이터세트와 고차원 데이터세트에 가능하다.
  • 결정 트리 : 데이트를 이진 분류하는 것을 반복하여 최종적으로 결과를 출력한다. 매우 빠르고 데이터 스케일이 조정이 필요 없다. 시각화하기 좋고 설명하기 쉬우나 과대적합되는 경향이 있다.
  • 랜덤 포레스트 : 과대적합된 단일 결정 트리를 여러 개 묶어 하나의 모델로 만든 것이다. 결정 트리 하나보다 거의 항상 좋은 성능을 낸다. 매우 안정적이고 강력하며 데이터 스케일의 조정이 필요 없다. 다만 시간이 오래 걸리고 텍스트같은 고차원 희소 데이터에는 잘 맞지 않는다.
  • 그래디언트 부스팅 결정 트리 : 깊이가 깊지 않은 단일 결정 트리를 하나의 모델로 만든 것이다. 랜덤포레스트보다 조금 더 성능이 좋다. 랜덤 포레스트보다 학습은 느리지만 예측은 빠르고 메모리를 적게 사용한다. 다만 랜덤 포레스트보다 매개변수의 튜닝이 많이 필요하다.
  • 서포트 벡터 머신(SVM) : 클래스 사이의 경계에 위치한 데이터 포인트(서포트 벡터)간의 거리를 최대화하여 결과를 찾는 알고리즘, 비슷한 의미의 특성으로 이루어진 중간 규모 데이터 세트에는 잘 맞지만, 데이터 스케일의 조정이 필요하고 매개변수에 민감하다.
  • 신경망 : 대용량 데이터세트에서 매우 복잡한 모델을 만들 수 있다. 다만 매개변수의 데이터 스케일에 민감하며, 큰 모델에는 학습이 오래 걸린다.[2]

활용

4차 산업혁명 시대가 진행되면서 보안 관제 서비스 및 보안관리 분야에서 인공지능(AI) 도입이 두드러지고 있다. 랜섬웨어, 지능형 지속 공격(APT), 분산 서비스 거부 공격(DDoS), 정보유출 등 사이버 위협은 나날이 늘어가고 있다. 최근 머신러닝 알고리즘 중 지도 및 비지도학습을 통해 위험을 확인하는 사례들이 나오고 있다. 이글루시큐리티는 최근 인공지능 보안관제 솔루션 스파이더TM AI에디션(SPiDER TM AI Edition) 상용화 버전을 공개했다. 스파이더TM AI에디션은 정상/비정상 이벤트에 대한 지도 학습을 통해 보안 이벤트 중 우선 처리해야 할 고위험 이벤트를 선별해냄으로써, ‘경보 분석(Incident analysis)’의 효율성을 높일 수 있다. 인공지능 시스템이 내놓은 결과에 분석가의 피드백을 반영하는 프로세스를 통해 모델을 지속적으로 개선함으로써, 오탐 이벤트 수를 줄이고 분석 시간을 단축시키며 보안관제 역량을 상향시키는 효과를 얻을 수 있다.[3]

각주

  1. AaronP, 〈지도학습과 비지도학습〉, 《티스토리》, 2018-01-05
  2. 김콜리, 〈#2-(8) 지도학습 알고리즘:정리)〉, 《티스토리》, 2018-02-03
  3. 권정수 기자, 〈보안 관제 서비스, AI 적용으로 효율성 높인다〉, 《아이티데일리》, 2019-03-31

참고자료

같이 보기


  검수요청.png검수요청.png 이 지도학습 문서는 인공지능 기술에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.