포아송 회귀

데이터에 포아송 분포가 있다고 가정하는 회귀 모델 만들기

범주: 모델/회귀 Machine Learning/초기화

참고

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

이 콘텐츠는 Studio (클래식)에만 해당 됩니다. Azure Machine Learning 디자이너에는 비슷한 끌어서 놓기 모듈이 추가 되었습니다. 이 문서에서는 두 가지 버전을 비교 하는방법에 대해 자세히 알아보세요.

모듈 개요

이 문서에서는 Azure Machine Learning Studio (클래식)에서 포아송 회귀 모듈을 사용 하 여 포아송 회귀 모델을 만드는 방법을 설명 합니다.

포아송 회귀는 숫자 값을 예측 하는 데 사용 되는 회귀 모델에서 사용 하기 위한 것 이며 일반적으로 개수입니다. 따라서 예측 하려는 값이 다음 조건에 부합 하는 경우에만이 모듈을 사용 하 여 회귀 모델을 만들어야 합니다.

  • 응답 변수에는 포아송 분포가있습니다.

  • 개수는 음수일 수 없습니다. 음의 레이블과 함께 사용하려고 하면 이 방법이 완전히 실패합니다.

  • 포아송 분포는 불연속 분포입니다. 따라서 정수가 아닌 숫자를 사용 하 여이 메서드를 사용 하는 것은 의미가 없습니다.

대상이 개수가 아니면 포아송 회귀는 적절한 방법이 아닙니다. 이 범주에 있는 다른 모듈 중 하나를 사용해 보세요. 회귀 방법 선택에 대 한 도움말은 Azure Machine Learning 알고리즘 참고 자료 시트를 참조 하세요.

회귀 메서드를 설정한 후에는 예측 하려는 값의 예제가 포함 된 데이터 집합을 사용 하 여 모델을 학습 해야 합니다. 그러면 학습된 모델을 예측에 사용할 수 있습니다.

포아송 회귀에 대 한 자세한 정보

포아송 회귀는 보통 개수를 모델링하는 데 사용되는 특수 회귀 분석 유형입니다. 예를 들어 다음과 같은 시나리오에서 포아송 회귀를 사용하면 유용합니다.

  • 항공편과 관련된 콜드 횟수 모델링

  • 이벤트 중에 응급 서비스 호출 수 예측

  • 프로 모션 이후 고객 문의 수 예측

  • 대체 테이블 만들기

응답 변수에는 포아송 분포가 있으므로 모델은 가장 정사각형이 아닌 회귀와 같이 데이터 및 확률 분포에 대해 서로 다른 가정을 합니다. 따라서 포아송 모델은 다른 회귀 모델과 다르게 해석 되어야 합니다.

포아송 회귀를 구성 하는 방법

  1. Studio (클래식)에서 테스트에 포아송 회귀 모듈을 추가 합니다.

    이 모듈은 회귀 범주의 Machine Learning-Initialize 에서 찾을 수 있습니다.

  2. 올바른 유형의 학습 데이터를 포함 하는 데이터 집합을 추가 합니다.

    회귀 변수를 학습 하는 데 사용 하기 전에 데이터 정규화 를 사용 하 여 입력 데이터 집합을 정규화 하는 것이 좋습니다.

  3. 포아송 회귀 모듈의 속성 창에서 강사 모드 만들기 옵션을 설정 하 여 모델을 학습 하는 방법을 지정 합니다.

    • 단일 매개 변수: 모델을 구성 하는 방법을 아는 경우 특정 값 집합을 인수로 제공 합니다.

    • 매개 변수 범위. 가장 적합 한 매개 변수를 잘 모르는 경우 Model Hyperparameters 조정 모듈을 사용 하 여 매개 변수 스윕을 수행 합니다. 강사는 최적의 구성을 찾기 위해 지정 하는 여러 값을 반복 합니다.

  4. 최적화 허용 오차: 최적화 중 허용 시간 간격을 정의 하는 값을 입력 합니다. 값이 작을수록는 속도는 느려지고 맞춤은 더 정확해집니다.

  5. L1 정규화 weightl2 정규화 가중치: l1 및 l2 정규화에 사용할 형식 값입니다. 정규화 를 통해 학습 데이터와 독립적인 모델의 요소에 관한 알고리즘에 제약 조건을 추가합니다. 과잉 맞춤을 방지하려는 경우에 일반적으로 정규화를 사용합니다.

    • 모델의 스파스 수준을 최대화하려는 경우에는 L1 정규화가 유용합니다.

      학습자가 최소화하려는 손실 식에서 가중치 벡터의 L1 가중치를 빼는 방식으로 L1 정규화를 수행합니다. L1 표준은 0이 아닌 좌표의 수인 L0 표준에 대한 적절한 근사치입니다.

    • L2 정규화를 사용하면 가중치 벡터에 있는 단일 좌표의 크기가 너무 커지지 않게 합니다. L2 정규화는 전체 가중치가 작은 모델을 목표로 하는 경우 유용합니다.

    이 모듈에서는 L1 및 L2 정규화 조합을 적용할 수 있습니다. L1 및 L2 정규화를 결합 하 여 매개 변수 값의 크기에 대 한 페널티를 적용할 수 있습니다. 학습자는 페널티를 최소화하려고 하며, 이 과정에서 손실도 최소화됩니다.

    L1 및 L2 정규화에 대 한 자세한 내용은 Machine Learning에 대 한 l1 및 L2 정규화를 참조 하세요.

  6. BFGS에 대 한 메모리 크기: 모델 맞춤 및 최적화를 위해 예약할 메모리 양을 지정 합니다.

    BFGS는 Broyden – Fletcher – Goldfarb – Shanno (BFGS) 알고리즘을 기반으로 하는 최적화의 특정 메서드입니다. 메서드는 제한 된 양의 메모리 (L)를 사용 하 여 다음 단계 방향을 계산 합니다.

    이 매개 변수를 변경 하면 다음 단계를 계산 하기 위해 저장 되는 과거 위치 및 그라데이션의 수에 영향을 줄 수 있습니다.

  7. 학습 모듈 중 하나에 학습 데이터 집합 및 학습 되지 않은 모델을 연결 합니다.

    • 담당자 모드 만들기단일 매개 변수로 설정한 경우 모델 학습 모듈을 사용 합니다.

    • 만든이 모드매개 변수 범위 로 설정 하는 경우 모델 hyperparameters 변수 조정 모듈을 사용 합니다.

    경고

    • 모델 학습에 매개 변수 범위를 전달 하는 경우 매개 변수 범위 목록의 첫 번째 값만 사용 합니다.

    • 단일 매개 변수 값 집합을 모델 하이퍼 매개 변수 조정 모듈에 전달 하는 경우 각 매개 변수에 대 한 설정 범위가 필요한 경우 값을 무시 하 고 학습자에 대 한 기본값을 사용 합니다.

    • 매개 변수 범위 옵션을 선택 하 고 매개 변수에 대해 단일 값을 입력 하는 경우 다른 매개 변수가 값 범위에서 변경 되더라도 지정한 단일 값은 스윕 전체에서 사용 됩니다.

  8. 실험을 실행 하 여 모델을 학습 합니다.

예제

기계 학습에서 포아송 회귀를 사용 하는 방법에 대 한 예는 Azure AI Gallery를 참조 하세요.

기술 정보

포아송 회귀는 레이블에 포아송 분포가 있다고 가정 하 여 개수 데이터를 모델링 하는 데 사용 됩니다. 예를 들어이를 사용 하 여 특정 날짜에 대 한 고객 지원 센터에 대 한 호출 수를 예측할 수 있습니다.

이 알고리즘의 경우 Y로 표시 되는 알 수 없는 함수에 포아송 분포가 있다고 가정 합니다. 포아송 분포는 다음과 같이 정의 됩니다.

인스턴스 x = (x0, ..., xd-1), 모든 k = 0, 1, ...에 대해 모듈은 인스턴스의 값이 k 인 확률을 계산 합니다.

학습 예제 집합을 고려할 때 알고리즘은 매개 변수의 로그 확률을 최대화 하 여 θ0, ..., θD에 대 한 최적 값을 찾으려고 시도 합니다. Θ0, ..., θD 매개 변수는이 매개 변수를 사용 하 여 배포에서 샘플링 된 데이터의 확률입니다.

로그 확률은 log p(y = yi)로 볼 수 있습니다.

예측 함수는 매개 변수가 있는 포아송 분포의 예상 값을 출력 합니다. 특히 f w, b (x) = e [Y|x] = e wTx + b입니다.

자세한 내용은 위키백과에서 포아송 회귀 에 대 한 항목을 참조 하세요.

모듈 매개 변수

Name 범위 Type 기본값 설명
최적화 허용 오차 >=double.Epsilon Float 0.0000001 최적화 수렴의 허용 오차 값을 지정합니다. 값이 작을수록는 속도는 느려지고 맞춤은 더 정확해집니다.
L1 정규화 가중치 >= 0.0 Float 1.0 L1 정규화 가중치를 지정합니다. 모델 과잉 맞춤을 방지하려면 0이 아닌 값을 사용합니다.
L2 정규화 무게 >= 0.0 Float 1.0 L2 정규화 가중치를 지정 합니다. 모델 과잉 맞춤을 방지하려면 0이 아닌 값을 사용합니다.
L-BFGS의 메모리 크기 >= 1 정수 20 L-BFGS 최적화 프로그램에 사용할 메모리의 양(MB)을 나타냅니다. 메모리가 적을수록 학습 속도는 빨라지지만 정확도는 낮아집니다.
난수 초기값 any 정수 모델에서 사용하는 난수 생성기의 초기값으로 사용할 값을 입력합니다. 기본값을 사용하려면 비워 둡니다.
알 수 없는 범주 수준 허용 any 부울 true 각 범주 열에 대해 추가 수준을 만들어야 하는지 여부를 나타냅니다. 학습 데이터 집합에서 사용할 수 없는 테스트 데이터 집합의 모든 수준은 이 추가 수준으로 매핑됩니다.

출력

Name Type 설명
학습되지 않은 모델 ILearner 인터페이스 학습되지 않은 회귀 모델입니다.

참고 항목

완료
전체 모듈 목록