다음을 통해 공유


포아송 회귀

중요

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/모델 초기화/회귀

참고

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

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

모듈 개요

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

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

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

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

  • 포아송 분포는 불연속 분포이므로 정수가 아닌 숫자로 이 방법을 사용하는 것은 의미가 없습니다.

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

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

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

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

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

  • 이벤트 동안 발생한 긴급 서비스 호출 수 예측

  • 프로모션 이후 고객 문의 횟수 프로젝션

  • 대체 테이블 만들기

응답 변수에 포아송 분포가 있으므로 이 모델은 데이터 및 확률 분포에 대해 최소자승법 회귀 분석과는 다른 가정을 합니다. 따라서 포아송 모델은 다른 회귀 모델과 다르게 해석해야 합니다.

포아송 회귀 분석을 구성하는 방법

  1. Studio(클래식)에서 실험에 Poisson 회귀 모듈을 추가합니다.

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

  2. 올바른 유형의 학습 데이터가 포함된 데이터 세트를 추가합니다.

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

  3. Poisson 회귀 모듈의 속성 창에서 트레이너 모드 만들기 옵션을 설정하여 모델을 학습시킬 방법을 지정합니다.

    • 단일 매개 변수: 모델 구성 방법을 알고 있는 경우 특정 값 세트를 인수로 제공합니다.

    • 매개 변수 범위입니다. 최상의 매개 변수를 잘 모르는 경우 모델 하이퍼 매개 변수 조정 모듈을 사용하여 매개 변수 스윕을 수행합니다. 트레이너는 최적 구성을 찾기 위해 지정된 여러 값을 반복합니다.

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

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

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

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

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

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

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

  6. L-BFGS의 메모리 크기: 모델 맞춤과 최적화를 위해 예약할 메모리 양을 지정합니다.

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

    이 매개 변수를 변경하면 다음 단계 계산을 위해 저장되는 이전 위치 및 경사 수에 영향을 줄 수 있습니다.

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

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

    • 트레이너 모드 만들기매개 변수 범위로 설정한 경우 모델 하이퍼 매개 변수 튜닝 모듈을 사용합니다.

    경고

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

    • 단일 매개 변수 값 세트를 모델 하이퍼 매개 변수 튜닝 모듈에 전달하는 경우 각 매개 변수에 대한 설정 범위를 요청할 때 해당 값을 무시하고 학습자에 대한 기본값을 사용합니다.

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

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

포아송 회귀가 기계 학습에 사용되는 방법의 예는 Azure AI 갤러리를 참조하세요.

기술 정보

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

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

인스턴스 x = (x0, ..., xd-1)를 감안할 때, 모듈은 k=0,1마다 인스턴스 값이 k일 확률을 계산합니다.

학습 예제 집합을 고려할 때 알고리즘은 매개 변수의 로그 가능성을 최대화하여 }0, ...,}D-1에 대한 최적 값을 찾으려고 시도합니다. 매개 변수 40, ...,。D-1의 가능성은 학습 데이터가 이러한 매개 변수를 사용하여 분포에서 샘플링되었을 확률입니다.

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

예측 함수는 매개 변수가 있는 포아송 분포의 예상 값을 출력합니다. 특히 fw,b(x) = E[Y|x] = ewTx+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 유형 설명
학습되지 않은 모델 ILearner 인터페이스 학습되지 않은 회귀 모델입니다.

참고 항목

회귀
전체 모듈 목록