다중 클래스 로지스틱 회귀

중요

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 Studio(클래식)는 이진 변수 또는 이분법 변수의 분류에 적합한 2클래스 로지스틱 회귀 모듈도 제공합니다.

다중 클래스 로지스틱 회귀에 대한 자세한 정보

로지스틱 회귀는 결과의 확률을 예측하는 데 사용되는 통계에서 잘 알려진 방법이며 분류 작업에 특히 인기가 있습니다. 알고리즘은 데이터를 로지스틱 함수에 맞추는 방법으로 이벤트 발생 확률을 예측합니다. 이 구현에 대한 자세한 내용은 기술 참고 사항 섹션을 참조하세요.

다중 클래스 로지스틱 회귀 분석에서는 분류자를 사용하여 여러 결과를 예측할 수 있습니다.

다중 클래스 로지스틱 회귀를 구성하는 방법

  1. 실험에 다중 클래스 로지스틱 회귀 모듈을 추가합니다.

  2. 트레이너 모드 만들기 옵션을 설정하여 모델을 학습시키려는 방법을 지정합니다.

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

    • 매개 변수 범위: 최상의 매개 변수를 잘 모르고 매개 변수 스윕을 사용하려는 경우 이 옵션을 사용합니다.

  3. 최적화 허용 오차에서 최적화 프로그램 수렴의 임계값을 지정합니다. 반복 간의 개선 수준이 임계값보다 낮으면 알고리즘이 중지되며 현재 모델이 반환됩니다.

  4. L1 정규화 가중치, L2 정규화 가중치: 정규화 매개 변수 L1과 L2에 사용할 값을 입력합니다. 둘 다에 0이 아닌 값을 사용하는 것이 좋습니다.

    정규화는 극단적인 계수 값을 가진 모델에 페널티를 주어 과잉 맞춤을 방지하는 방법입니다. 정규화는 계수 값과 연결된 페널티를 가설의 오류에 추가하여 작동합니다. 극단적인 계수 값을 가진 정확한 모델이 더 많은 페널티를 받고, 더 보수적인 값이 있는 덜 정확한 모델이 더 적은 페널티를 받습니다.

    L1 및 L2 정규화가 미치는 영향과 사용 방법은 여러 가지가 있습니다. L1은 스파스 모델에 적용할 수 있으며 이는 고차원 데이터로 작업할 때 유용합니다. 한편, L2 정규화는 스파스가 아닌 데이터에 사용하는 것이 좋습니다. 이 알고리즘은 L1 및 L2 정규화 값의 선형 조합을 지원합니다. 즉, x = L1y = L2이면 ax + by = c는 정규화 요소의 선형 범위를 정의합니다.

    로지스틱 회귀 모델을 위해 L1 및 L2 요소의 여러 선형 조합이 고안되었습니다(예: 탄력적 망 정규화).

  5. L-BFGS의 메모리 크기: L-BFGS 최적화에 사용할 메모리 양을 지정합니다. 이 매개 변수는 다음 단계 계산을 위해 저장할 이전 위치 및 기울기의 수를 나타냅니다.

    L-BFGS(제한된 메모리 Broyden-Fletcher-Goldfarb-Shanno)는 매개 변수 예측에 널리 사용되는 최적화 알고리즘입니다. 이 최적화 매개 변수는 다음 단계 및 방향을 컴퓨팅하는 데 사용되는 메모리의 양을 제한합니다. 메모리를 적게 지정할수록 학습 속도가 빨라지지만 정확도는 낮아집니다.

  6. 난수 시드: 실행할 때마다 결과를 반복할 수 있게 하려는 경우 알고리즘의 시드로 사용할 정수 값을 입력합니다. 그렇지 않으면 시스템 클록 값이 시드로 사용되므로 동일한 실험의 실행에서 약간 다른 결과를 생성할 수 있습니다.

  7. 알 수 없는 범주 수준 허용: 각 범주 열에 추가 "알 수 없는" 수준을 만들려면 이 옵션을 선택합니다. 학습 데이터 세트에 없는 테스트 데이터 세트의 모든 값(수준)은 이 "알 수 없는" 수준에 매핑됩니다.

  8. 레이블이 지정된 데이터 세트와 학습 모듈 중 하나를 커넥트.

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

    • 트레이너 모드 만들기매개 변수 범위로 설정한 경우 모델 하이퍼 매개 변수 튜닝 모듈을 사용합니다. 이 옵션을 사용하면 여러 값을 지정할 수 있으며 트레이너는 설정의 여러 조합을 반복하여 최상의 모델을 생성하는 값의 조합을 결정합니다.

    참고

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

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

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

  9. 실험을 실행합니다.

결과

학습 완료 후 다음이 수행됩니다.

  • 학습에서 학습한 기능 가중치와 함께 모델의 매개 변수 요약을 보려면 모델 학습 모듈 또는 모델 하이퍼 매개 변수 조정의 출력을 마우스 오른쪽 단추로 클릭하고 시각화를 선택합니다.

이 학습 알고리즘을 사용하는 방법에 대한 예제는 Azure AI 갤러리를 참조하세요.

기술 정보

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

L1 및 L2 정규화에 더 알아보고 싶나요? 다음 문서에서는 로지스틱 회귀 및 신경망 모델에 대한 코드 샘플을 사용하여 L1 및 L2 정규화가 어떻게 다른지, 그리고 모델 피팅에 미치는 영향에 대해 설명합니다.

이 알고리즘의 구현에 대한 자세한 내용은 다음을 참조하세요.

구현 세부 정보

로지스틱 회귀에는 숫자 변수가 필요합니다. 따라서 범주 열을 변수로 사용하려고 하면 Machine Learning 값을 내부적으로 표시기 배열로 변환합니다.

날짜 및 시간의 경우 숫자 표현이 사용됩니다. 날짜 시간 값에 대한 자세한 내용은 DateTime 구조 .NET Framework 참조하세요. 날짜 및 시간을 다르게 처리하려면 파생 열을 만드는 것이 좋습니다.

표준 로지스틱 회귀는 이항이며 두 개의 출력 클래스를 가정합니다. 다중 클래스 또는 다항 로지스틱 회귀는 세 개 이상의 출력 클래스를 가정합니다.

이항 로지스틱 회귀는 데이터의 로지스틱 분포 를 가정합니다. 여기서 예제가 클래스 1에 속할 확률은 수식입니다.

p(x;β0,…, βD-1)

위치:

  • x는 인스턴스의 모든 기능 값을 포함하는 D 차원 벡터입니다.

  • p는 로지스틱 배포 함수입니다.

  • β{0},..., β {D-1} 는 로지스틱 배포의 알 수 없는 매개 변수입니다.

이 알고리즘은 입력에 따라 매개 변수의 로그 확률을 최대화하여 최적 값을 β{0},..., β {D-1} 찾으려고 시도합니다. 최대화는 제한된 메모리 BFGS라는 매개 변수 추정에 널리 사용되는 메서드를 사용하여 수행됩니다.

모듈 매개 변수

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

출력

Name 유형 설명
학습되지 않은 모델 ILearner 인터페이스 학습되지 않은 분류 모델입니다.

참고 항목

분류
2클래스 로지스틱 회귀
전체 모듈 목록