데이터 변환 - 개수가 있는 Learning

중요

Machine Learning Studio(클래식)에 대한 지원은 2024년 8월 31일에 종료됩니다. 해당 날짜까지 Azure Machine Learning으로 전환하는 것이 좋습니다.

2021년 12월 1일부터 새로운 Machine Learning Studio(클래식) 리소스를 만들 수 없습니다. 2024년 8월 31일까지는 기존 Machine Learning Studio(클래식) 리소스를 계속 사용할 수 있습니다.

ML Studio(클래식) 설명서는 사용 중지되며 나중에 업데이트되지 않을 수 있습니다.

이 문서에서는 개수 기반 기능화를 지원하는 Machine Learning Studio(클래식)의 모듈에 대해 설명합니다.

참고

적용 대상: Machine Learning Studio(클래식) 전용

유사한 끌어서 놓기 모듈은 Azure Machine Learning 디자이너에서 사용할 수 있습니다.

개수가 있는 Learning 값 개수를 기반으로 하는 압축된 데이터 세트 기능 집합을 만드는 효율적인 방법입니다. 이 범주의 모듈을 사용하여 개수 및 기능 집합을 빌드할 수 있습니다. 나중에 개수와 기능을 업데이트하여 새 데이터를 활용하거나 두 개의 개수 데이터 집합을 병합할 수 있습니다.

개수 기반 기능화 정보

개수 기반 기능화의 기본 개념은 개수를 계산하여 가장 중요한 정보가 포함된 열에 대한 요약을 빠르고 쉽게 얻을 수 있다는 것입니다. 모듈은 값이 표시되는 횟수를 계산한 다음 해당 정보를 모델에 입력하기 위한 기능으로 제공합니다.

신용 카드 트랜잭션의 유효성을 검사하는 Imagine. 중요한 정보는 이 트랜잭션이 어디에서 왔는지입니다. 트랜잭션 원본의 가장 일반적인 인코딩 중 하나는 우편 번호입니다. 그러나 처리해야 하는 우편 번호와 지역 코드가 40,000개에 다다를 수 있습니다. 모델에 40,000 개의 추가 매개 변수에 대해 알아보기 위한 용량이 있습니까? 해당 용량을 제공하는 경우 과잉 맞춤을 방지하기에 충분한 학습 데이터가 있나요?

샘플이 많은 좋은 데이터가 있는 경우 이러한 세분화된 로컬 세분성이 강력할 수 있습니다. 그러나 작은 지역의 사기성 트랜잭션 샘플이 하나만 있는 경우 해당 위치의 모든 트랜잭션이 잘못되었거나 데이터가 충분하지 않다는 것을 의미하나요?

한 가지 해결 방법은 개수로 학습하는 것입니다. 40,000개의 기능을 더 도입하는 대신 각 우편 번호에 대한 사기의 수와 비율을 관찰할 수 있습니다. 이러한 개수를 기능으로 사용하면 각 값에 대한 증거의 강도에 대한 정보를 얻을 수 있습니다. 또한 개수의 관련 통계를 인코딩하여 학습자는 통계를 사용하여 접근 방식을 변경할 시기를 결정하고 대신 다른 기능을 사용하여 정보를 가져올 수 있습니다.

개수 기반 학습은 여러 가지 이유로 매력적입니다. 개수 기반 학습을 사용하면 더 적은 수의 매개 변수가 필요한 기능이 줄어듭니다. 매개 변수가 적으면 학습 속도가 빨라지고 예측 속도가 빨라지고 예측 변수가 작아지고 과잉 맞춤 가능성이 줄어듭니다.

개수 기반 기능을 만드는 방법

기본 예제는 개수 기반 기능을 만들고 적용하는 방법을 보여 주는 데 도움이 될 수 있습니다. 레이블 및 입력이 포함된 다음과 같은 테이블이 있다고 가정합니다. 각 사례(또는 행 또는 샘플)에는 열의 값 집합이 있습니다. 이 예제에서 값은 A 및 B입니다.

레이블 열 입력 값
0 A
0 A
1 A
0 b
1 b
1 b
1 b

카운트 기반 기능을 만들기 위해 수행하는 단계는 다음과 같습니다.

  1. 특정 값 집합의 경우 동일한 값을 가진 데이터 세트의 다른 모든 사례를 찾습니다. 이 경우 A의 인스턴스 3개와 B 인스턴스 4개가 있습니다.
  2. 각 값의 클래스 멤버 자격을 기능 자체로 계산합니다. 이 경우 작은 행렬을 얻게 됩니다. A = 0인 경우 두 가지가 있습니다. A = 1인 경우 1개 B = 0인 경우 1개 및 B = 1인 세 가지 경우
  3. 이 행렬에 따라 다양한 개수 기반 기능을 얻을 수 있습니다. 여기에는 로그 확률 비율 및 각 대상 클래스의 개수 계산이 포함됩니다. 다음 섹션의 표에 데이터가 표시됩니다.

개수 기반 기능의 샘플 테이블

레이블 0_0_Class000_Count 0_0_Class001_Count 0_0_Class000_LogOdds 0_0_IsBackoff
0 2 1 0.510826 0
0 2 1 0.510826 0
1 2 1 0.510826 0
0 1 3 -0.8473 0
1 1 3 -0.8473 0
1 1 3 -0.8473 0
1 1 3 -0.8473 0

Machine Learning 사용하여 클릭스루 예측 모델을 빌드할 때 Microsoft Machine Learning 팀은 기계 학습에서 개수를 사용하는 방법에 대한 자세한 연습을 제공합니다. 이 문서에서는 개수 기반 모델링의 효능을 다른 메서드와 비교합니다.

기술 정보

이 섹션에는 구현 세부 정보, 팁, 자주 묻는 질문에 대한 답변이 포함되어 있습니다.

로그 손실 값을 계산하는 방법

로그 손실 값은 일반 로그 배당률이 아닙니다. 이 경우 이전 분포를 사용하여 로그 확률 계산을 원활하게 합니다.

이진 분류에 사용되는 데이터 세트가 있다고 가정합니다. 이 데이터 세트에서 클래스 0의 이전 빈도는 p_0클래스 1의 이전 빈도입니다 p_1 = 1 – p_0. 특정 학습 예제 기능의 경우 클래스 0의 개수는 x_0클래스 1의 개수입니다 x_1.

이러한 가정 하에서 로그 확률은 사용자가 설정할 수 있는 c 이전 계수인 위치로 LogOdds = Log(x0 + c * p0) – Log (x1 + c\p1)계산됩니다. 로그 함수는 자연 밑을 사용합니다.

즉, 각 클래스 i에 대해 다음을 수행합니다.

Log_odds[i] = Log( (count[i] + prior_coefficient * prior_frequency[i]) / (sum_of_counts - count[i]) + prior_coefficient \* (1 - prior_frequency[i]))

이전 계수가 양수이면 로그 확률은 .과 다를 Log(count[i] / (sum_of_counts – count[i]))수 있습니다.

일부 항목에 대해 로그 배당률이 계산되지 않는 이유

기본적으로 개수가 10보다 작은 모든 항목은 "가비지 빈"이라는 단일 버킷에서 수집됩니다. 개수 테이블 매개 변수 수정 모듈에서 가비지 bin 임계값 옵션을 사용하여 이 값을 변경할 수 있습니다.

모듈 목록

Counts 범주를 사용하는 Learning 다음 모듈을 포함합니다.

  • 계산 변환 빌드: 데이터 세트에서 개수 테이블 및 개수 기반 기능을 만든 다음 테이블과 기능을 변환으로 저장합니다.
  • 개수 테이블 내보내기: 계산 변환에서 개수 테이블을 내보냅니다. 이 모듈은 빌드 개수 테이블(사용되지 않음) 및 Count Featurizer(사용되지 않음)를 사용하여 개수 기반 기능을 만드는 실험과의 이전 버전과의 호환성을 지원합니다.
  • 개수 테이블 가져오기: 기존 개수 테이블을 가져옵니다. 이 모듈은 빌드 개수 테이블(사용되지 않음) 및 Count Featurizer(사용되지 않음)를 사용하여 개수 기반 기능을 만드는 실험과의 이전 버전과의 호환성을 지원합니다. 이 모듈은 개수 테이블의 변환을 개수 변환으로 변환하도록 지원합니다.
  • 병합 개수 변환: 카운트 기반 기능의 두 집합을 병합합니다.
  • 개수 테이블 매개 변수 수정: 기존 개수 테이블에서 파생된 개수 기반 기능을 수정합니다.

참고 항목