AutoML Tables 초보자 가이드

소개

디지털 소매업체의 마케팅 부서에서 일한다고 상상해보세요. 귀하와 귀하의 팀은 고객 페르소나에 따른 맞춤형 이메일 프로그램을 제작하고 있습니다. 페르소나 제작이 끝났고 마케팅 이메일을 보낼 준비가 되었습니다. 이제 신규 고객 여부에 상관없이, 소매업체 선호도와 지출 행동을 토대로 고객을 각 페르소나에 담는 시스템을 만들어야 합니다. 또 고객의 지출 행동을 예측하고 이메일을 가장 적절한 순간에 보내 고객 참여를 극대화해야 하죠.

고객을 여러 카테고리로 분류하는 이미지 예시

귀하는 디지털 소매업체에서 일하며, 덕분에 고객과 고객의 구매에 관한 데이터를 보유하고 있습니다. 하지만 신규 고객은 어떨까요? 전통적인 방식은 오랜 기간 구매해 온 기존 고객을 상대로 이러한 데이터를 계산하지만, 고객의 기록 데이터가 많지 않다면 성능이 떨어집니다. 이러한 값을 예측해 맞춤형 마케팅 프로그램을 고객에게 빠르게 전달하는 시스템을 만들 수 있다면 어떨까요?

다행히 머신러닝과 AutoML Tables를 이용하면 이러한 문제를 쉽게 해결할 수 있습니다. 이 가이드에서는 AutoML Tables의 작동 방식과 해결할 수 있는 문제 유형을 설명합니다.

AutoML Tables은 어떻게 작동하나요?

간단한 신경망의 그래픽 표현 AutoML Tables는 감독형 학습 서비스입니다. 즉, 예시 데이터를 사용해 머신러닝 모델을 학습시킬 수 있습니다. AutoML Tables는 표 형식(구조화) 데이터를 이용해, 머신러닝 모델이 새 데이터를 바탕으로 예측을 수행하게 합니다. 데이터세트에 있는 타겟이라는 열이 모델이 예측을 위해 학습하는 열입니다. 다른 데이터 열 중 일부는 모델이 패턴을 학습하는 대상인 (특성이라고 함) 입력입니다. 같은 입력 특성을 사용하고 타겟만 바꾸면 여러 종류의 모델을 만들 수 있습니다. 본 이메일 마케팅 예시에서는 같은 입력 특성으로 모델 2개를 만들 수 있습니다. 고객의 페르소나(범주형 타겟)를 예측하는 모델과, 월간 지출(숫자 타겟)을 예측하는 모델입니다.

표 형식 데이터

AutoML Tables 워크플로

AutoML Tables는 표준 머신러닝 워크플로를 사용합니다.

  1. 데이터 수집: 달성하려는 결과를 바탕으로 모델을 학습 및 테스트하는 데 필요한 데이터를 결정합니다.
  2. 데이터 준비: 데이터 가져오기 전후에 데이터 형식이 올바른지 확인합니다.
  3. 학습: 매개변수를 설정하고 모델을 빌드합니다.
  4. 평가: 모델 측정항목을 검토합니다.
  5. 테스트: 테스트 데이터를 이용해 모델을 시험합니다.
  6. 배포 및 예측: 모델을 사용할 수 있게 만듭니다.

데이터 수집을 시작하기 전에, 해결해야 하는 문제에 대해 생각해보면 데이터 요구사항을 알 수 있습니다.

사용 사례 고려

시작 및 종료 지점 그래픽

문제부터 살펴봅니다. 달성하려는 결과는 무엇인가요? 타겟 열은 어떤 데이터인가요? 얼마나 많은 데이터에 액세스할 수 있나요?

이에 대한 답변을 기준으로, AutoML Tables는 사용자의 사용 사례를 해결하는 데 필요한 모델을 만듭니다.

  • 이진 분류 모델은 이진 결과(2개 클래스 중 하나)를 예측합니다. 고객의 정기 결제 여부 예측처럼 예나 아니요로 대답하는 문제에는 이 모델을 사용합니다. 다른 조건이 동일하다면, 이진 분류 문제는 다른 모델 유형에 비해 적은 데이터를 요구합니다.

  • 다중 클래스 분류 모델은 3개 이상의 개별 클래스 중 하나를 예측합니다. 이 모델은 대상을 분류할 때 사용합니다. 소매업체를 예로 든다면, 다중 클래스 분류 모델을 만들어 고객을 여러 페르소나로 구분할 수 있습니다.

  • 회귀 모델은 연속된 값을 예측합니다. 소매업체를 예로 든다면, 회귀 모델을 만들어 고객의 다음 달 지출을 예측할 수 있습니다.

AutoML Tables는 타겟 열의 데이터 유형을 바탕으로, 문제와 구축할 모델을 자동으로 정의합니다. 타겟 열에 숫자 데이터가 있다면 AutoML Tables는 회귀 모델을 만듭니다. 타겟 열이 범주형 데이터라면 AutoML Tables는 클래스 수를 감지해 이진 모델과 다중 클래스 모델 중 무엇을 만들지 결정합니다.

공정성에 대한 참고사항

공정성은 Google의 책임감 있는 AI 관행 중 하나입니다. 공정성의 목표는 알고리즘 시스템이나 알고리즘을 기초로 한 의사 결정 과정에서 인종, 소득, 성적 지향, 종교, 성별 등 역사적으로 차별과 소외의 기준이 되었던 특성이 나타날 경우, 이를 이해하고 이와 관련하여 사람들을 부당하거나 불리하게 대우하지 않는 것입니다. 이 가이드를 읽으면 보다 공정한 머신러닝 모델을 만드는 방법에 대해 자세히 설명하는 '공정성 인식' 참고사항을 볼 수 있습니다. 자세히 알아보기

데이터 수집

데이터 포인트 그래픽 사용 사례 작성이 끝났으면 모델을 학습시킬 데이터를 수집해야 합니다. 데이터 소스 설정과 준비는 머신러닝 모델 구축의 주요 단계입니다. 가용 데이터는 해결할 수 있는 문제가 무엇인지 알려주는 역할을 합니다. 가용 데이터가 어느 정도인가요? 데이터가 답을 얻으려는 질문과 관련이 있나요? 데이터를 수집할 때는 다음과 같은 핵심 사항을 고려해야 합니다.

관련 특성 선택

특성은 모델 학습에 사용하는 입력 속성입니다. 특성은 모델이 패턴을 식별해 예측을 수행하는 방식이며, 따라서 문제와 밀접한 관련이 있어야 합니다. 예를 들어 신용카드 거래 사기 여부를 예측하는 모델을 만들려면 구매자, 판매자, 금액, 날짜와 시간, 구매한 품목 같은 거래 내역이 포함된 데이터세트를 작성해야 합니다. 구매자와 판매자의 기존 내역, 구매한 품목의 사기 빈도 등도 유용한 특성에 속합니다. 다른 관련 특성에는 무엇이 있을까요?

소개에서 다룬 소매업체 이메일 마케팅 사용 사례를 살펴보겠습니다. 이때는 아래와 같은 특성 열이 필요합니다.

  • 구매한 품목 목록(브랜드, 카테고리, 가격, 할인 포함)
  • 구매한 품목 개수(지난 요일, 주, 월, 년)
  • 지출 금액 합계(지난 요일, 주, 월, 년)
  • 구매자의 확인된 인구통계 프로필

충분한 데이터 포함

모델 학습 그래픽 일반적으로 학습 예시가 많을수록 좋은 결과가 나옵니다. 그리고 해결하려는 문제가 복잡할수록 필요한 데이터의 양도 늘어납니다. 멀티클래스 모델과 비교하면 이진 분류 모델은 데이터가 많지 않아도 정확한 모델을 얻을 수 있습니다. 멀티클래스가 아닌 클래스 2개 중에서 하나를 예측하는 일은 훨씬 단순하기 때문입니다.

완벽한 수식은 존재하지 않지만 권장되는 예시 데이터 행 최소 기준은 있습니다.

  • 분류 문제: 특성 수의 50배
  • 회귀 문제: 특성 수의 200배

편차 포착

데이터세트는 문제 공간의 다양성을 포착해야 합니다. 학습 중에 모델이 다양한 예시를 확인할수록, 새롭거나 덜 일반적인 예시를 쉽게 일반화할 수 있습니다. 소매업체 모델을 겨울철 구매 데이터만으로 학습시켰다고 상상해 보세요. 여름 의류 선호도나 구매 행동을 제대로 예측할 수 있을까요?

데이터 준비

가용 데이터를 식별한 후에는 데이터를 학습에 사용할 수 있는지 확인해야 합니다. 데이터가 편향되거나 누락 또는 잘못된 값이 있다면, 모델은 학습 과정에서 이를 반영하게 됩니다. 모델 학습을 시작하기 전에 다음 사항을 고려하세요. 자세히 알아보기

데이터 유출 및 학습/서빙 편향 방지

데이터 유출은 예측 타겟 정보를 '유출'하는 입력 특성을 학습 중에 사용하는 것을 의미하며 실제 모델 서빙 시에는 사용할 수 없습니다. 데이터 유출은 타겟 열과 상관관계가 밀접한 특성이 입력 특성 중 하나에 있을 때 감지됩니다. 예를 들어 고객의 익월 구독 신청 여부를 예측하는 모델을 제작 중이며 입력 특성 중 하나가 고객의 향후 구독 결제라고 가정해 보겠습니다. 이때 모델은 테스트 과정에서는 강력한 성능을 발휘하지만 프로덕션 단계에 배포했을 때는 그렇지 못합니다. 서빙 시점에서는 향후 구독 결제 정보를 사용할 수 없기 때문입니다.

학습/서빙 편향은 학습 시점에서 사용한 입력 특성이 서빙 시점에 모델에 제공한 특성과 달라 프로덕션 단계에서 모델 품질이 떨어지는 현상을 말합니다. 시간별 기온을 예측하는 모델을 만드는데 주간 온도만 있는 데이터로 학습하는 상황이 여기에 속합니다. 학생 중퇴를 예측할 때 학습 데이터에 항상 학생의 성적을 입력했지만 서빙 시점에서는 입력하지 않은 경우도 마찬가지입니다.

데이터 유출과 학습/서빙 편향을 방지하려면 학습 데이터를 이해해야 합니다.

  • 데이터를 사용하기 전에 데이터의 의미와 데이터를 특성으로 사용할지 여부를 파악합니다.
  • 학습 탭에서 상관관계를 확인합니다. 높은 상관관계는 검토가 필요하다고 표시해야 합니다.
  • 학습-제공 편향: 제공 시점에서 사용한 것과 정확하게 같은 형식의 입력 특성만 제공해야 합니다.

누락, 불완전, 비일관적 데이터 삭제

예시 데이터에는 자주 값이 누락되거나 부정확한 값이 존재합니다. 가능하다면 학습에 사용하기 전에 시간을 내 데이터를 검토하고 품질을 개선하세요. 누락된 값이 많을수록 머신러닝 모델 학습에서의 데이터 효과가 떨어집니다.

  • 데이터에 누락된 값이 있는지 확인하고 가능하면 수정하세요. 또는 열을 null 허용으로 설정한 경우에는 값을 비워 두세요. AutoML Tables는 누락된 값을 처리할 수 있지만 모든 값을 사용할 수 있을 때 최적의 결과를 얻을 가능성이 더 높습니다.

  • 오류나 노이즈를 수정 또는 제거해 데이터를 정리하세요. 데이터의 일관성을 유지하세요. 철자, 약어, 서식을 확인해야 합니다.

가져온 후 데이터 분석

AutoML Tables는 가져온 데이터세트의 개요를 제공합니다. 가져온 데이터세트를 검토해 각 열의 변수 유형이 올바른지 확인하세요. AutoML Tables는 열 값을 기준으로 변수 유형을 자동으로 감지하지만, 각 유형을 직접 검토하는 것이 가장 좋습니다. 각 열의 Null 허용 여부도 검토해야 합니다. 이 항목은 누락되거나 NULL인 값이 열에 있어도 되는지를 결정합니다.

모델 학습

데이터세트 가져오기가 끝나면, 이제 모델을 학습시켜야 합니다. AutoML Tables는 학습 기본값으로도 안정적인 머신러닝 모델을 만들지만, 사용 사례에 맞게 매개변수 일부를 조정해도 됩니다.

학습에 적용할 열을 최대한 많이 선택하고, 각 열이 학습용으로 적절하게 확인하세요. 특성을 선택할 때는 다음 사항에 유의해야 합니다.

  • 각 행에 고유한 값이 있는 무작위로 할당된 ID 열처럼, 노이즈를 만드는 특성 열을 선택하면 안 됩니다.
  • 각 특성 열과 열의 값을 이해하고 있는지 확인하세요.
  • 같은 데이터 세트에서 여러 모델을 만든다면 현재 예측 문제에 속하지 않는 타겟 열은 제거해야 합니다.
  • 공정성 원칙을 떠올리세요. 소외된 그룹에 대한 편향되거나 공정하지 못한 의사 결정을 이끄는 특성으로 모델을 학습시켜선 안 됩니다.

AutoML Tables가 데이터세트를 사용하는 방법

데이터세트는 학습, 검증, 테스트 세트로 구분됩니다. 기본적으로 AutoML Tables는 80%를 학습에, 10%를 검증에, 10%를 테스트에 사용하지만, 필요하다면 이 값을 직접 수정할 수 있습니다.

학습, 테스트, 검증 분할의 그래픽 표현

학습 세트

쌍안경 그래픽 데이터의 대부분은 학습 세트에 있어야 합니다. 이러한 데이터는 모델이 학습 중에 '보는' 데이터이며 모델의 매개변수, 즉 신경망 노드 간의 연결 가중치를 학습하는 데 사용됩니다.

검증 세트

청사진 그래픽 '개발' 세트라고도 하는 검증 세트가 학습 프로세스에 사용됩니다. 모델 학습 프레임워크는 학습 프로세스가 반복될 때마다 학습 데이터를 반영한 후, 검증 세트에 대한 모델의 성능을 사용하여 모델의 초매개변수, 즉 모델의 구조를 지정하는 변수를 조정합니다. 학습 세트를 사용하여 초매개변수를 조정하려고 시도하면 모델이 학습 데이터에 지나치게 집중하고, 정확하게 일치하지 않는 예시를 일반화하는 데 어려움을 겪을 가능성이 높습니다. 모델 구조를 세부 조정할 때 어느 정도 새로운 데이터세트를 사용하면 모델이 일반화를 더 잘하게 됩니다.

테스트 세트

플라스크 비커 이미지 테스트 세트는 학습 프로세스에 전혀 관여하지 않습니다. 모델이 학습을 모두 끝내면 AutoML Tables는 테스트 세트를 모델을 위한 완전히 새로운 과제로 사용합니다. 테스트 세트에서 측정된 모델 성능을 통해 모델이 실제 데이터에서 어떤 성능을 보일지 가늠할 수 있습니다.

모델 평가

돋보기 그래픽 모델 학습이 끝나면 성능에 대한 요약을 받게 됩니다. 모델 평가 측정항목은 데이터세트의 일부(검증 데이터세트)에 대한 모델의 성능을 기반으로 합니다. 실제 데이터에서 모델을 사용할 준비가 되었는지 결정할 때는 몇 가지 주요 측정항목과 개념을 고려해야 합니다.

분류 측정항목

점수 임계값

고객의 내년 재킷 구매를 예측하는 머신러닝 모델을 생각해 보세요. 특정 고객의 재킷 구매를 예측하려면 모델이 얼마나 확실해야 할까요? 분류 모델에서는 각 예측에 신뢰도 점수가 할당됩니다. 이 점수는 예측한 클래스가 올바른지에 대한 모델의 확실성을 숫자로 평가한 것입니다. 점수 임계값은 해당 점수를 예 또는 아니요로 판단하는 기준을 결정하는 숫자입니다. 즉, 모델이 '예, 이 신뢰도 점수는 고객이 내년에 외투를 구매한다고 결론을 내릴 정도로 충분히 높습니다.'라고 예측하는 값입니다.

높은 임계값과 낮은 임계값이 있는 외투 이미지

점수 임계값이 낮으면 모델이 분류를 잘못할 위험이 있습니다. 따라서 점수 임계값은 해당 사용 사례를 기반으로 해야 합니다.

예측 결과

점수 임계값을 적용하면 모델의 예측은 4가지 카테고리 중 하나에 해당하게 됩니다. 이러한 카테고리를 이해하려면 재킷 이진 분류 모델을 다시 떠올려 보세요. 이 예시에서는 포지티브 클래스(모델이 예측하려 하는 클래스)가 '고객이 내년에 재킷을 구매할 것이다'가 됩니다.

  • 참양성: 모델이 포지티브 클래스를 정확하게 예측합니다. 모델이 고객이 재킷을 구매한다고 정확하게 예측했다는 뜻입니다.
  • 거짓양성: 모델이 포지티브 클래스를 잘못 예측합니다. 모델이 고객이 재킷을 구매한다고 예측했지만 실제로는 그렇지 않았다는 뜻입니다.
  • 참음성: 모델이 네거티브 클래스를 정확하게 예측합니다. 모델이 고객이 재킷을 구매하지 않는다고 정확하게 예측했다는 뜻입니다.
  • 거짓음성: 모델이 네거티브 클래스를 잘못 예측합니다. 모델이 고객이 재킷을 구매하지 않는다고 예측했지만 실제로는 그렇지 않았다는 뜻입니다.

4개의 신뢰도 카테고리 설명이 있는 이미지

정밀도와 재현율

정밀도와 재현율 측정항목은 모델이 정보를 얼마나 잘 포착하고 있는지와 정보를 얼마나 놓치고 있는지를 이해하는 데 도움을 줍니다. 정밀도와 재현율 자세히 알아보기

  • 정밀도는 정확한 포지티브 예측의 비율입니다. 전체 고객 구매 예측 중에서 실제 구매 사례가 차지하는 비율을 말합니다.
  • 재현율은 모델이 올바르게 예측한 이 라벨이 있는 행의 비율입니다. 식별할 수 있었던 전체 고객 구매에서의 비율을 말합니다.

사용 사례에 따라 정밀도 또는 재현율을 기준으로 최적화할 수 있습니다.

기타 분류 측정항목
  • AUC PR: 정밀도-재현율(PR) 곡선 아래의 영역입니다. 이 값의 범위는 0부터 1까지이며 값이 클수록 모델의 품질이 높습니다.

  • AUC ROC: 수신자 조작 특성(ROC) 곡선 아래의 영역입니다. 이 값의 범위는 0부터 1까지이며 값이 클수록 모델의 품질이 높습니다.

  • 정확도: 모델로 생성한 올바른 분류 예측의 비율입니다.

  • 로그 손실: 모델 예측과 타겟 값 사이의 교차 엔트로피입니다. 이 값의 범위는 0부터 무한대이며 값이 작을수록 모델의 품질이 높습니다.

  • F1 점수: 정밀도와 재현율의 조화 평균입니다. F1은 정밀도와 재현율 사이의 균형을 찾고 있고 클래스 분포가 균등하지 않을 때 유용한 측정항목입니다.

회귀 측정항목

모델 제작이 끝나면 AutoML Tables는 사용자가 검토할 수 있는 다양한 표준 회귀 측정항목을 제공합니다. 모델 평가 방법에 정답은 없습니다. 평가 측정항목은 문제 유형 및 모델 사용 목표라는 틀 안에서 고려해야 합니다. 다음은 사용할 수 있는 측정항목에 대한 대략적인 설명입니다.

평균 절대 오차(MAE)

MAE는 타겟 값과 예측 값의 절대차 평균입니다. 일련의 예측에서 나타난 오차, 즉 타겟 값과 예측 값 차이의 평균 크기를 측정합니다. MAE는 절대값을 사용하기 때문에 관계의 방향은 고려하지 않으며, 과소성능이나 과대성능을 나타내지도 않습니다. MAE를 평가할 때는 값이 작을수록 모델 품질이 높음을 의미합니다(0은 완벽한 예측자를 나타냅니다).

평균 제곱근 오차(RMSE)

RMSE는 타겟 값과 예측 값 간의 평균 제곱 차이의 제곱근입니다. RMSE는 MAE보다 이상점에 더 민감합니다. 따라서 큰 오차가 염려된다면 RMSE이 더 유용한 평가 측정항목입니다. MAE에서처럼, 값이 작을수록 모델 품질이 높음을 의미합니다(0은 완벽한 예측자를 나타냅니다).

평균 제곱근 대수 오차(RMSLE)

RMSLE는 대수 눈금에서의 RMSE를 말합니다. RMSLE는 절대 오차와 비교하면 상대 오차에 더 민감하며, 과대성능보다는 과소성능을 더 신경 씁니다.

모델 테스트

모델 측정항목 평가는 모델의 배포 준비 여부를 판단하는 기본적인 방법이지만, 새 데이터를 이용해 모델을 테스트할 수도 있습니다. 새 데이터를 업로드해 모델의 예측이 예상과 일치하는지 확인해 보세요. 평가 측정항목을 바탕으로, 또는 새 데이터를 이용한 테스트를 바탕으로 모델의 성능을 지속적으로 개선해야 할 수도 있습니다. 모델 문제 해결에 관해 자세히 알아보기

모델 배포 및 예측

전구 그래픽 모델의 성능이 만족스럽다면 이제 모델을 사용해야 합니다. 이때는 프로덕션 규모의 사용일 수도 있고, 일회성 일괄 요청일 수도 있습니다. 자신의 사용 사례에 맞게 모델을 다양한 방식으로 사용하세요.

일괄 예측

일괄 예측은 한 번에 여러 예측 요청을 할 때 유용합니다. 일괄 예측은 비동기식입니다. 즉, 모델은 예측 요청을 모두 처리한 후에 예측 답변이 포함된 CSV 또는 BigQuery 테이블을 출력합니다.

온라인 예측

REST API를 사용해 예측 요청을 할 수 있도록 모델을 배포하세요. 온라인 예측은 동기식(실시간)이며, 따라서 예측을 빠르게 반환하지만 API 호출별로 예측 요청을 하나만 허용합니다. 온라인 예측은 모델이 애플리케이션의 일부이며 시스템 구성요소가 신속한 예측을 필요로 할 때 유용합니다.

불필요한 요금이 부과되지 않도록 사용하지 않는 모델의 배포를 취소해야 합니다.