테이블 형식 데이터 소개

AutoML을 활용한 테이블 형식 데이터 탐색 여정을 소개합니다. AutoML과 커스텀 학습 간 주요 차이점을 알아보려면 학습 방법 선택을 참조하세요.

테이블 형식 데이터 사용 사례

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

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

다행히 머신러닝과 Vertex AI를 이용하면 이러한 문제를 쉽게 해결할 수 있습니다.

이 가이드에서는 Vertex AI가 AutoML 데이터 세트 및 모델에 대해 작동하는 방법을 설명하고 Vertex AI가 해결할 수 있는 문제의 유형을 보여줍니다.

Vertex AI 작동 원리

간단한 신경망의 그래픽 표현 Vertex AI는 원하는 결과를 얻기 위해 지도 머신러닝을 적용합니다. 세부적인 알고리즘과 학습 방법은 데이터 유형 및 사용 사례에 따라 달라집니다. 머신러닝에는 여러 하위 카테고리가 있으며 각 하위 카테고리는 서로 다른 문제를 해결하고 서로 다른 제약조건하에서 작동합니다.

예시 데이터를 사용하여 머신러닝 모델을 학습시킵니다. Vertex AI는 표 형식(구조화) 데이터를 이용해 머신러닝 모델이 새 데이터를 바탕으로 예측을 수행하게 합니다. 데이터 세트에 있는 타겟이라는 열이 모델이 예측을 위해 학습하는 열입니다. 다른 데이터 열 중 일부는 모델이 패턴을 학습하는 대상인(특성이라고 함) 입력입니다. 같은 입력 특성을 사용하고 타겟 열과 학습 옵션만 바꾸면 여러 종류의 모델을 만들 수 있습니다. 본 이메일 마케팅 예시에서는 다른 타겟 예측의 같은 입력 특성으로 모델을 만들 수 있습니다. 고객의 캐릭터(범주형 타겟)를 예측하는 모델, 월간 지출(숫자 타겟)을 예측하는 모델, 향후 3개월 동안 제품의 일일 수요(일련의 숫자 타겟)를 예측하는 모델입니다.
AutoML 테이블 작동 방식

Vertex AI 워크플로

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

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

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

데이터 준비

사용 사례 평가

문제부터 살펴봅니다. 달성하려는 결과는 무엇인가요?

타겟 열은 어떤 데이터인가요? 얼마나 많은 데이터에 액세스할 수 있나요? 답변에 따라 Vertex AI에서 사용 사례를 해결하는 데 필요한 모델을 만듭니다.

  • 이진 분류 모델은 이진 결과(2개 클래스 중 하나)를 예측합니다. 예 또는 아니요로 답할 수 있는 질문인 경우 이 모델 유형을 사용하세요. 예를 들어 고객이 구독을 구매할지 여부를 예측하는 이진 분류 모델을 빌드할 수 있습니다. 일반적으로 이진 분류 문제는 다른 모델 유형에 비해 적은 데이터가 필요합니다.
  • 다중 클래스 분류 모델은 3개 이상의 개별 클래스 중 하나를 예측합니다. 분류에 이 모델 유형을 사용합니다. 예를 들어 소매업체의 경우 다중 클래스 분류 모델을 빌드하여 고객을 여러 페르소나로 구분할 수 있습니다.
  • 회귀 모델은 연속된 값을 예측합니다. 예를 들어 소매업체의 경우 회귀 모델을 빌드하여 고객이 다음 달에 지출할 비용을 예측할 수 있습니다.
  • 예측 모델은 일련의 값을 예측합니다. 예를 들어 소매업체의 경우 앞으로 3개월 동안 일일 제품 수요를 예측하여 제품 인벤토리에 재고를 사전에 공급할 수 있습니다.

테이블 형식 데이터 예측은 다음 두 가지 측면에서 분류 및 회귀와 다릅니다.

  • 분류 및 회귀에서 타겟의 예측 값은 같은 행의 특성 열 값에만 의존합니다. 예측에서 예측된 값은 대상의 컨텍스트 값과 특성에 따라서도 달라집니다.

  • 회귀 및 분류 문제에서는 결과가 하나의 값입니다. 예측 문제에서 출력은 일련의 값입니다.

데이터 수집

사용 사례를 설정한 후에는 원하는 모델을 만들 수 있도록 데이터를 수집해야 합니다.

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

관련 특성 선택

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

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

  • 구매한 품목 목록(브랜드, 카테고리, 가격, 할인 포함)
  • 구매한 품목 개수(지난 요일, 주, 월, 년)
  • 지출 금액 합계(지난 요일, 주, 월, 년)
  • 각 품목에 대해 매일 판매되는 총 수량
  • 품목마다 일일 재고 총 수량
  • 특정 날짜에 프로모션을 진행 여부
  • 쇼핑객의 확인된 인구통계 프로필

충분한 데이터 포함

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

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

  • 분류 문제: 50개 행 x 특성 수
  • 예측 문제:
    • 5,000개 행 x 특성 수
    • 시계열 식별자 열의 고유한 값 10개 x 특성 수
  • 회귀 문제: 특성 수의 200배

편차 포착

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

데이터 준비

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

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

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

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

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

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

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

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

  • 데이터에 누락된 값이 있는지 확인하고 가능하면 수정하세요. 또는 열을 null 허용으로 설정한 경우에는 값을 비워 두세요. Vertex AI는 누락된 값을 처리할 수 있지만 모든 값을 사용할 수 있을 때 최적의 결과를 얻을 가능성이 더 높습니다.
  • 예측의 경우 학습 행 간격이 일관적인지 확인하세요. Vertex AI는 누락된 값을 귀속시킬 수 있지만 모든 행을 사용할 수 있을 때 최적의 결과를 얻을 가능성이 더 높습니다.
  • 오류나 노이즈를 수정 또는 제거해 데이터를 정리하세요. 데이터의 일관성을 유지하세요. 철자, 약어, 서식을 확인해야 합니다.

가져온 후 데이터 분석

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

모델 학습

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

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

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

Vertex AI가 데이터 세트를 사용하는 방법

데이터 세트는 학습, 검증, 테스트 세트로 구분됩니다. 기본 Vertex AI가 적용되는 기본 분할은 학습 중인 모델 유형에 따라 다릅니다. 필요한 경우 분할(수동 분할)을 지정할 수도 있습니다. 자세한 내용은 AutoML 모델의 데이터 분할 정보를 참조하세요. 학습 검증 테스트 세트

학습 세트

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

검증 세트

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

테스트 세트

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

 

모델 평가, 테스트, 배포

모델 평가

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

분류 측정항목

점수 임곗값

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

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

예측 결과

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

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

예측 결과

정밀도와 재현율

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

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

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

기타 분류 측정항목
  • AUC PR: 정밀도-재현율(PR) 곡선 아래의 영역입니다. 이 값의 범위는 0부터 1까지이며 값이 클수록 모델의 품질이 높습니다.
  • AUC ROC: 수신자 조작 특성(ROC) 곡선 아래의 영역입니다. 이 범위는 0부터 1까지이며 값이 클수록 모델의 품질이 높다는 것을 나타냅니다.
  • 정확도: 모델로 생성한 올바른 분류 예측의 비율입니다.
  • 로그 손실: 모델 예측과 타겟 값 사이의 교차 엔트로피입니다. 이 범위는 0부터 무한대이며 값이 작을수록 모델의 품질이 높다는 것을 나타냅니다.
  • F1 점수: 정밀도와 재현율의 조화 평균입니다. F1은 정밀도와 재현율 사이의 균형을 찾고 있고 클래스 분포가 균등하지 않을 때 유용한 측정항목입니다.

예측 및 회귀 측정항목

모델이 빌드된 후 Vertex AI에서 검토할 수 있는 다양한 표준 회귀 측정항목을 제공합니다. 모델 평가 방법에 정답은 없습니다. 평가 측정항목은 문제 유형 및 모델 사용 목표라는 틀 안에서 고려하세요. 다음 목록은 Vertex AI에서 제공할 수 있는 일부 측정항목의 개요입니다.

평균 절대 오차(MAE)

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

평균 제곱근 오차(RMSE)

RMSE는 타겟 값과 예측 값 간의 평균 제곱 차이의 제곱근입니다. RMSE는 MAE보다 이상점에 더 민감하므로 큰 오차가 염려되는 경우 RMSE를 평가하는 쪽이 더 유용합니다. MAE와 유사하게 값이 작을수록 모델 품질이 높음을 의미합니다(0은 완벽한 예측자를 나타냄).

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

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

관찰된 분위수(예측만 해당)

특정 타겟 분위수에서 관찰된 분위수는 지정된 분위수 예측 값보다 낮은 관찰된 값의 실제 비율을 보여줍니다. 관찰된 분위수는 모델이 타겟 분위수에 얼마나 가까운지를 보여줍니다. 두 값의 차이가 작을수록 모델 품질이 높음을 의미합니다.

확장 핀볼 손실(예측만 해당)

특정 타겟 분위수에서 모델의 품질을 측정합니다. 값이 작을수록 모델 품질이 높음을 의미합니다. 여러 분위수에서 확장 핀볼 손실 측정항목을 비교하여 각기 다른 분위수에서 모델의 상대적 정확성을 확인할 수 있습니다.

모델 테스트

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

모델 배포

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

일괄 예측

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

온라인 예측

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

삭제

원치않는 요금이 청구되지 않도록 사용하지 않는 모델의 배포를 취소해야 합니다.

모델 사용을 마치면 계정에 원치 않는 요금이 청구되지 않도록 만든 리소스를 삭제합니다.