다중 클래스 로지스틱 회귀

다중 클래스 로지스틱 회귀 분석 분류 모델 만들기

범주: 모델/분류 Machine Learning/초기화

참고

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

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

모듈 개요

이 문서에서는 Azure Machine Learning Studio (클래식)에서 다중 클래스 로지스틱 회귀 모듈을 사용 하 여 여러 값을 예측 하는 데 사용할 수 있는 로지스틱 회귀 모델을 만드는 방법을 설명 합니다.

로지스틱 회귀를 사용 하는 분류는 감독 학습 방법 이므로 레이블이 지정 된 데이터 집합이 필요 합니다. 모델 학습 또는 모델 Hyperparameters 변수 조정등의 모듈에 대 한 입력으로 모델 및 레이블이 지정 된 데이터 집합을 제공 하 여 모델을 학습 합니다. 그러면 학습 된 모델을 사용 하 여 새 입력 예제에 대 한 값을 예측할 수 있습니다.

또한 Azure Machine Learning Studio (클래식)는 이진 또는이 분 변수의 분류에 적합 한 2 클래스 로지스틱 회귀 모듈을 제공 합니다.

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

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

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

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

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

  2. 강사 모드 만들기 옵션을 설정 하 여 모델을 학습 하는 방법을 지정 합니다.

    • 단일 매개 변수: 모델을 구성 하는 방법을 알고 있으며 특정 값 집합을 인수로 제공 하는 경우이 옵션을 사용 합니다.

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

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

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

    정규화는 극단적인 계수 값을 사용 하 여 과잉 맞춤 by 페널티 모델을 방지 하는 방법입니다. 정규화는 계수 값과 연결 된 페널티를 가설의 오류에 추가 하 여 작동 합니다. 극단적인 계수 값을 포함 하는 정확한 모델은 더 페널티가 수 있지만 보다 보수적인 값을 가진 보다 정확한 모델은 페널티가 줄어듭니다.

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

    탄력적 네트워크 정규화와 같은 로지스틱 회귀 모델에 대해 L1 및 L2 용어의 여러 선형 조합이 고안 되었습니다.

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

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

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

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

  8. 레이블이 지정 된 데이터 집합 및 학습 모듈 중 하나를 연결 합니다.

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

    • 만든이 모드매개 변수 범위 로 설정 하는 경우 모델 hyperparameters 변수 조정 모듈을 사용 합니다. 이 옵션을 사용 하 여 여러 값을 지정할 수 있으며, 강사는 여러 설정 조합을 반복 하 여 최상의 모델을 생성 하는 값의 조합을 결정 합니다.

    참고

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

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

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

  9. 실험을 실행합니다.

결과

학습 완료 후:

예제

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

기술 참고 사항

이 섹션에는 구현 세부 정보, 팁 및 질문과 대답 (faq)이 포함 되어 있습니다.

L1 및 L2 정규화에 대해 자세히 알아보고 싶습니까? 다음 문서에서는 L1 및 L2 정규화가 어떻게 다르고, 로지스틱 회귀 및 신경망 모델에 대 한 코드 샘플을 사용 하 여 모델 피팅의 영향을 받는 방법에 대해 설명 합니다.

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

구현 세부 정보

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

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

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

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

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

위치:

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

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

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

알고리즘은 β{0},..., β {D-1} 입력에 따라 매개 변수의 로그 확률을 최대화 하 여에 대 한 최적의 값을 찾으려고 합니다. Maximization는 제한 된 메모리 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 Type 설명
학습되지 않은 모델 ILearner 인터페이스 학습되지 않은 분류 모델입니다.

참고 항목

유형을
2 클래스 로지스틱 회귀
전체 모듈 목록