지도 학습

지도 학습의 작업은 잘 정의되어 있으며 스팸 식별 또는 강수 예측과 같은 다양한 시나리오에 적용할 수 있습니다.

기본 지도 학습 개념

지도 머신러닝은 다음과 같은 핵심 개념을 기반으로 합니다.

  • 데이터
  • 모델
  • 학습
  • 평가
  • 추론

데이터

데이터는 ML의 원동력입니다. 데이터는 테이블에 저장된 단어와 숫자 형식 또는 이미지 및 오디오 파일에 캡처된 픽셀 및 파형 값 형태로 제공됩니다. Google은 관련 데이터를 데이터 세트에 저장합니다. 예를 들어 다음과 같은 데이터 세트가 있을 수 있습니다.

  • 고양이 이미지
  • 주택 가격
  • 날씨 정보

데이터 세트는 특성라벨을 포함하는 개별 예시로 구성됩니다. 예를 스프레드시트의 단일 행과 유사하다고 생각할 수 있습니다. 특성은 지도 모델이 라벨을 예측하는 데 사용하는 값입니다 라벨은 '답' 또는 모델이 예측할 값입니다 강우를 예측하는 날씨 모델에서 특성은 위도, 경도, 온도, 습도, 구름 범위, 풍향, 기압이 될 수 있습니다. 라벨은 강우량이 됩니다.

특성과 라벨이 모두 포함된 예를 라벨이 있는 예라고 합니다.

라벨이 지정된 2가지 예

자리표시자 이미지입니다.

반면 라벨이 없는 예에는 특성이 포함되지만 라벨은 없습니다. 모델을 만들면 모델이 특성에서 라벨을 예측합니다.

라벨이 없는 예 2개

자리표시자 이미지입니다.

데이터 세트 특성

데이터 세트의 특징은 크기와 다양성입니다. 크기는 예시의 수를 나타냅니다. 다양성은 이러한 예가 다루는 범위를 나타냅니다. 좋은 데이터 세트는 방대하고 다양합니다

일부 데이터 세트는 방대하고 다양합니다. 그러나 일부 데이터 세트는 크지만 다양성이 낮으며, 일부는 작지만 매우 다양합니다. 즉, 데이터 세트가 크다고 해서 충분한 다양성이 보장되지 않고, 데이터 세트가 매우 다양하다고 해서 충분한 예시가 보장되지는 않습니다.

예를 들어 데이터 세트에 7월에 해당하는 100년 분량의 데이터만 포함될 수 있습니다. 이 데이터 세트를 사용하여 1월의 강우량을 예측하면 예측이 잘못될 수 있습니다. 반대로 데이터 세트에는 몇 년만 포함되나 매달이 포함될 수 있습니다. 이 데이터 세트는 변동성을 감안할 만큼 충분한 연도를 포함하지 않기 때문에 예측이 잘못될 수 있습니다.

이해도 확인

ML에 사용하기에 이상적인 데이터 세트의 속성은 무엇인가요?
큰 크기 / 높은 다양성
머신러닝 시스템이 데이터의 기본 패턴을 이해하려면 다양한 사용 사례를 다루는 많은 예시가 필요합니다. 이 유형의 데이터 세트로 학습된 모델은 새로운 데이터를 제대로 예측할 가능성이 높습니다.
큰 크기 / 낮은 다양성
머신러닝 모델의 성능은 모델을 학습시키는 데 사용된 예시에 비례합니다. 모델은 학습한 적이 없는 새로운 데이터에 대해 더 낮은 예측을 생성합니다.
작은 크기 / 높은 다양성
대부분의 모델은 작은 데이터 세트에서 신뢰할 수 있는 패턴을 찾을 수 없습니다. 더 큰 데이터 세트가 제공하는 신뢰도는 예측에 부족합니다.
작은 크기 / 낮은 다양성
데이터 세트가 작고 변동이 많지 않으면 머신러닝의 이점을 누리지 못할 수 있습니다.

데이터 세트는 특성의 수로 특성이 지정될 수도 있습니다. 예를 들어 일부 날씨 데이터 세트에는 위성 이미지에서 클라우드 커버리지 값에 이르기까지 수백 개의 특성이 포함될 수 있습니다. 다른 데이터 세트에는 습도, 기압, 온도와 같은 3~4가지 특성만 포함될 수 있습니다. 특성이 더 많은 데이터 세트는 모델이 추가 패턴을 발견하고 더 나은 예측을 수행하는 데 도움이 됩니다. 하지만 특성이 더 많은 데이터 세트가 항상 더 나은 예측을 수행하는 모델을 생성하는 것은 아닙니다. 왜냐하면 일부 특성은 라벨과 인과 관계가 없을 수도 있기 때문입니다.

모델

지도 학습에서 모델은 특정 입력 특성 패턴에서 특정 출력 라벨 값으로의 수학적 관계를 정의하는 복잡한 숫자 모음입니다. 모델은 학습을 통해 이러한 패턴을 발견합니다.

학습

지도 모델은 학습을 진행해야 예측을 수행할 수 있습니다. 모델을 학습시키기 위해 라벨이 지정된 예가 포함된 데이터 세트를 모델에 제공합니다. 모델의 목표는 특성에서 라벨을 예측하는 최상의 솔루션을 찾는 것입니다. 모델은 예측 값을 라벨의 실제 값과 비교하여 최적의 해를 찾습니다. 예측 값과 실제 값의 차이(손실로 정의됨)에 따라 모델이 솔루션을 점진적으로 업데이트합니다. 즉, 모델은 입력되지 않은 데이터를 가장 효과적으로 예측할 수 있도록 특성과 라벨 간의 수학적 관계를 학습합니다.

예를 들어 모델에서 비의 1.15 inches를 예측했지만 실제 값이 .75 inches인 경우 예측이 .75 inches에 더 가도록 솔루션을 수정합니다. 모델이 데이터 세트의 각 예를(경우에 따라 여러 번) 살펴보고 나면 각 예시에 대해 평균적으로 최상의 예측을 수행하는 솔루션에 도달합니다.

다음은 모델 학습을 보여줍니다.

  1. 모델은 라벨이 지정된 단일 예를 가져와 예측을 제공합니다.

    예측을 수행하는 모델의 이미지입니다.

    그림 1. 라벨이 지정된 예를 통해 예측을 수행하는 ML 모델입니다.

     

  2. 모델이 예측 값을 실제 값과 비교하고 해를 업데이트합니다.

    예측을 실제 값과 비교하는 모델의 이미지입니다.

    그림 2. 예측 값을 업데이트하는 ML 모델

     

  3. 모델은 데이터 세트에서 라벨이 지정된 각 예에 대해 이 프로세스를 반복합니다.

    실제 값과 예측 프로세스를 반복하는 모델의 이미지입니다.

    그림 3. 학습 데이터 세트에서 라벨이 지정된 각 예에 대한 예측을 업데이트하는 ML 모델

     

이러한 방식으로 모델은 특성과 라벨 간의 올바른 관계를 점진적으로 학습합니다. 이러한 점진적인 이해 덕분에 대규모의 다양한 데이터 세트를 통해 더 나은 모델을 만들 수 있습니다 모델이 더 넓은 범위의 값에서 더 많은 데이터를 확인했으며 특성과 라벨 간의 관계에 대한 이해를 개선했습니다.

학습 도중 ML 실무자는 모델이 예측하는 데 사용하는 구성과 특성을 미묘하게 조정할 수 있습니다. 예를 들어 특정 특성의 예측 성능이 다른 특성보다 높습니다. 따라서 ML 실무자는 학습 중에 모델이 사용할 특성을 선택할 수 있습니다. 예를 들어 날씨 데이터 세트에 time_of_day이 특성으로 포함되어 있다고 가정해 보겠습니다. 이 경우 ML 실무자는 학습 중에 time_of_day를 추가하거나 삭제하여 모델이 이를 사용하거나 사용하지 않고 더 나은 예측을 수행하는지 확인할 수 있습니다.

평가

학습된 모델을 평가하여 얼마나 잘 학습했는지 확인합니다. 모델을 평가할 때는 라벨이 지정된 데이터 세트를 사용하지만 모델에 데이터 세트의 특성만 부여합니다. 그런 다음 모델의 예측을 라벨의 실제 값과 비교합니다.

학습된 모델을 실제 값과 비교하여 예측하는 모습을 보여주는 이미지입니다.

그림 4. 예측과 실제 값을 비교하여 ML 모델 평가

 

모델의 예측에 따라 실제 애플리케이션에 모델을 배포하기 전에 더 많은 학습 및 평가를 수행할 수 있습니다.

이해도 확인

예측을 수행하기 전에 모델을 학습시켜야 하는 이유는 무엇인가요?
데이터 세트의 특성과 라벨 간의 수학적 관계를 학습하도록 모델을 학습시켜야 합니다.
모델을 학습시킬 필요가 없습니다. 모델은 대부분의 컴퓨터에서 사용할 수 있습니다.
예측을 위해 데이터가 필요하지 않도록 모델을 학습시켜야 합니다.

추론

모델 평가 결과가 만족스러우면 모델을 사용하여 라벨이 없는 예를 추론이라고 하는 예측을 할 수 있습니다. 날씨 앱의 예에서는 모델에 온도, 기압, 상대 습도와 같은 현재 기상 조건을 지정하고 강수량을 예측합니다.