모델 하이퍼 매개 변수 튜닝

중요

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(클래식)에서 모델 하이퍼 매개 변수 조정 모듈을 사용하여 지정된 기계 학습 모델에 대한 최적의 하이퍼 매개 변수를 결정하는 방법을 설명합니다. 모듈은 다양한 설정 조합을 사용하여 여러 모델을 빌드 및 테스트하고, 모든 모델에 대한 메트릭을 비교하여 설정 조합을 가져옵니다.

‘매개 변수’와 ‘하이퍼 매개 변수’라는 용어는 혼동을 줄 수 있습니다. 모델의 매개 변수 는 속성 창에서 설정한 매개 변수입니다. 기본적으로 이 모듈은 지정된 매개 변수 설정에 대해 매개 변수 스윕 을 수행하고 각 특정 의사 결정 트리, 데이터 세트 또는 회귀 메서드마다 다를 수 있는 최적의 하이퍼 매개 변수 집합을 알아봅니다. 최적 구성을 찾는 프로세스를 ‘튜닝’이라고도 합니다.

모듈은 모델에 대한 최적의 설정을 찾는 두 가지 메서드를 지원합니다.

  • 통합 학습 및 튜닝: 사용할 매개 변수 집합을 구성한 다음 모듈이 여러 조합을 반복하여 "최적" 모델을 발견할 때까지 정확도를 측정하도록 합니다. 대부분의 학습자 모듈에서는 학습 프로세스 중에 변경되어야 하는 매개 변수와 고정되어야 하는 매개 변수를 선택할 수 있습니다.

    튜닝 프로세스를 실행할 기간에 따라 모든 조합을 완전히 테스트하거나 매개 변수 조합의 그리드를 설정하고 매개 변수 그리드의 임의 하위 집합을 테스트하여 프로세스를 단축할 수 있습니다.

  • 튜닝을 사용한 교차 유효성 검사: 이 옵션을 사용하면 데이터를 몇 개의 접기로 나눈 다음 각 접기에서 모델을 빌드하고 테스트합니다. 이 메서드는 최상의 정확도를 제공하며 데이터 세트에 대한 문제를 찾는 데 도움이 될 수 있습니다. 그러나 학습하는 데 더 오래 걸립니다.

두 방법 모두 다시 사용하기 위해 저장할 수 있는 학습된 모델을 생성합니다.

  • 클러스터링 모델을 빌드하는 경우 스윕 클러스터링을 사용하여 클러스터 및 기타 매개 변수의 최적 수를 자동으로 결정합니다.

  • 튜닝하기 전에 기능 선택을 적용하여 정보 값이 가장 높은 열 또는 변수를 결정합니다. 자세한 내용은 Feature Selection을 참조하세요.

모델 하이퍼 매개 변수 튜닝을 구성하는 방법

일반적으로 지정된 기계 학습 모델에 대한 최적의 하이퍼 매개 변수를 학습하려면 상당한 실험이 필요합니다. 이 모듈은 초기 튜닝 프로세스와 교차 유효성 검사를 모두 지원하여 모델 정확도를 테스트합니다.

매개 변수 스윕을 사용하여 모델 학습

이 섹션에서는 모델 하이퍼 매개 변수 조정 모듈을 사용하여 모델을 학습하는 기본 매개 변수 스윕을 수행하는 방법을 설명합니다.

  1. Studio(클래식)에서 실험에 모델 하이퍼 매개 변수 조정 모듈을 추가합니다.

  2. 학습되지 않은 모델(iLearner 형식의 모델)을 맨 왼쪽 입력으로 커넥트.

  3. 트레이너 모드 만들기 옵션을 매개 변수 범위로 설정하고 Range Builder를 사용하여 매개 변수 스윕에 사용할 값 범위를 지정합니다.

    거의 모든 분류회귀 모듈은 통합 매개 변수 스윕을 지원합니다. 매개 변수 범위 구성을 지원하지 않는 학습자의 경우 사용 가능한 매개 변수 값만 테스트할 수 있습니다.

    하나 이상의 매개 변수에 대한 값을 수동으로 설정한 다음 나머지 매개 변수를 스윕할 수 있습니다. 이렇게 하면 시간이 절약될 수 있습니다.

  4. 학습에 사용할 데이터 세트를 추가하고 모델 하이퍼 매개 변수 조정의 중간 입력에 연결합니다.

    필요에 따라 태그가 지정된 데이터 세트가 있는 경우 가장 오른쪽 입력 포트(선택적 유효성 검사 데이터 세트)에 연결할 수 있습니다. 이렇게 하면 학습 및 튜닝하는 동안 정확도를 측정할 수 있습니다.

  5. 모델 하이퍼 매개 변수 조정속성 창에서 매개 변수 비우기 모드의 값을 선택합니다. 이 옵션은 매개 변수가 선택되는 방식을 제어합니다.

    • 전체 그리드: 이 옵션을 선택하면 모듈은 시스템에서 미리 정의한 그리드를 반복하면서 여러 조합을 시도하여 최적 학습자를 식별합니다. 이 옵션은 최상의 매개 변수 설정이 무엇인지 모르고 가능한 모든 값 조합을 시도하려는 경우에 유용합니다.

    그리드의 크기를 줄이고 임의 그리드 스윕을 실행할 수도 있습니다. 연구에 따르면 이 방법은 동일한 결과를 생성하지만 계산이 더 효율적입니다.

    • 임의 스윕: 이 옵션을 선택하면 모듈은 시스템 정의 범위에서 매개 변수 값을 임의로 선택합니다. 모듈에서 실행할 최대 실행 횟수를 지정해야 합니다. 이 옵션은 선택한 메트릭을 사용하여 모델 성능을 높이되 컴퓨팅 리소스를 계속 보존하려는 경우에 유용합니다.
  6. 레이블 열의 경우 열 선택기를 시작하여 단일 레이블 열을 선택합니다.

  7. 모델의 순위를 매 길 때 사용할 단일 메트릭을 선택합니다.

    매개 변수 스윕을 실행하면 모델 유형에 적용 가능한 모든 메트릭이 계산되고 스윕 결과 보고서에 반환됩니다. 회귀 및 분류 모델에는 별도의 메트릭이 사용됩니다.

    그러나 선택한 메트릭에 따라 모델의 순위가 결정됩니다. 선택한 메트릭에 따라 순위를 지정하여 최상위 모델만 채점에 사용할 학습된 모델로 출력됩니다.

  8. 임의 시드의 경우 매개 변수 스윕을 초기화할 때 사용할 숫자를 입력합니다.

    통합 매개 변수 스윕을 지원하는 모델을 학습하는 경우 임의 시드를 사용하고 반복할 시드 값 범위를 설정할 수도 있습니다. 이는 시드 선택에서 도입된 바이어스 방지에 유용할 수 있습니다.

  9. 실험을 실행합니다.

하이퍼 매개 변수 튜닝 결과

학습 완료 시:

  • 최상의 모델에 대한 정확도 메트릭 집합을 보려면 모듈을 마우스 오른쪽 단추로 클릭하고 결과 스윕을 선택한 다음 시각화를 선택합니다.

    모델 유형에 적용할 수 있는 모든 정확도 메트릭은 출력이지만 순위에 대해 선택한 메트릭에 따라 "최적"으로 간주되는 모델이 결정됩니다. 메트릭은 상위 순위 모델에 대해서만 생성됩니다.

  • "최적" 모델에 대해 파생된 설정을 보려면 모듈을 마우스 오른쪽 단추로 클릭하고 학습된 최상의 모델을 선택한 다음 시각화를 클릭합니다. 보고서에는 입력 열에 대한 매개 변수 설정 및 기능 가중치가 포함됩니다.

  • 튜닝 프로세스를 반복하지 않고도 다른 실험에서 채점을 위해 모델을 사용하려면 모델 출력을 마우스 오른쪽 단추 로 클릭하고 학습된 모델로 저장을 선택합니다.

매개 변수 스윕을 사용하여 교차 유효성 검사 수행

이 섹션에서는 매개 변수 스윕을 교차 유효성 검사와 결합하는 방법을 설명합니다. 이 프로세스는 더 오래 걸리지만 접기 수를 지정할 수 있으며 데이터 세트 및 가능한 모델에 대한 최대 정보를 얻을 수 있습니다.

  1. 실험에 파티션 및 샘플 모듈을 추가하고 학습 데이터를 연결합니다.

  2. 접기에 할당 옵션을 선택하고 데이터를 나눌 몇 개의 접기를 지정합니다. 숫자를 지정하지 않으면 기본적으로 10개의 접기를 사용합니다. 행은 교체 없이 이러한 접기에 임의로 할당됩니다.

  3. 일부 열에서 샘플링의 균형을 맞추려면 Stratified 분할TRUE로 설정한 다음 , 지층 열을 선택합니다. 예를 들어 불균형 데이터 세트가 있는 경우 각 접기에서 동일한 수의 소수 사례를 가져오도록 데이터 세트를 나눌 수 있습니다.

  4. 모델 하이퍼 매개 변수 조정 모듈을 실험에 추가합니다.

  5. 이 범주의 기계 학습 모듈 중 하나를 튜닝 모델 하이퍼 매개 변수의 왼쪽 입력에 커넥트.

  6. 학습자의 속성 창에서 트레이너 모드 만들기 옵션을 매개 변수 범위 로 설정하고 Range Builder 를 사용하여 매개 변수 스윕에 사용할 값 범위를 지정합니다.

    모든 값의 범위를 지정할 필요는 없습니다. 일부 매개 변수의 값을 수동으로 설정한 다음 나머지 매개 변수를 스윕할 수 있습니다. 이렇게 하면 시간이 절약될 수 있습니다.

    이 옵션을 지원하지 않는 학습자 목록은 기술 정보 섹션을 참조하세요.

  7. 파티션 및 샘플의 출력을 모델 튜닝 하이퍼 매개 변수의 레이블이 지정된 학습 데이터 세트 입력으로 커넥트.

  8. 필요에 따라 유효성 검사 데이터 세트를 튜닝 모델 하이퍼 매개 변수의 가장 오른쪽 입력에 연결할 수 있습니다. 교차 유효성 검사의 경우 학습 데이터 세트만 필요합니다.

  9. 모델 하이퍼 매개 변수 조정속성 창에서 임의 스윕 또는 그리드 스윕을 수행할지 여부를 나타냅니다. 그리드 스윕은 완전하지만 시간이 더 많이 걸립니다. 임의 매개 변수 검색은 시간이 너무 많이 걸리지 않고도 좋은 결과를 얻을 수 있습니다.

    임의 스윕 시 최대 실행 수: 임의 스윕을 선택하는 경우 매개 변수 값의 임의 조합을 사용하여 모델을 학습해야 하는 횟수를 지정할 수 있습니다.

    임의 그리드의 최대 실행 수: 이 옵션은 매개 변수 값의 임의 샘플링을 통해 반복 횟수를 제어하지만 값은 지정된 범위에서 임의로 생성되지 않습니다. 대신 매개 변수 값의 가능한 모든 조합으로 행렬이 생성되고 행렬을 통해 임의 샘플링이 수행됩니다. 이 메서드는 더 효율적이고 지역별 오버샘플링 또는 언더샘플링에 덜 취약합니다.

    이러한 옵션에 대한 자세한 내용은 기술 정보 섹션을 참조하세요.

  10. 단일 레이블 열을 선택합니다.

  11. 모델 순위를 지정하는 데 사용할 단일 메트릭을 선택합니다. 많은 메트릭이 계산되므로 결과 순서 지정에 사용할 가장 중요한 메트릭을 선택합니다.

  12. 임의 시드의 경우 매개 변수 스윕을 초기화할 때 사용할 숫자를 입력합니다.

    통합 매개 변수 스윕을 지원하는 모델을 학습하는 경우 사용할 시드 값 범위를 설정하고 임의 시드를 반복할 수도 있습니다. 선택 사항이지만 시드 선택에 의해 도입된 바이어스 방지에 유용할 수 있습니다.

  13. 모델 교차 유효성 검사 모듈을 추가합니다. 파티션 및 샘플의 출력을 데이터 세트 입력에 커넥트 모델 하이퍼 매개 변수 조정의 출력을 학습되지 않은 모델 입력에 연결합니다.

  14. 실험을 실행합니다.

교차 유효성 검사 결과

교차 유효성 검사가 완료된 경우:

  • 평가 결과를 보려면 모듈을 마우스 오른쪽 단추로 클릭하고 접어서 평가 결과를 선택한 다음 시각화를 선택합니다.

    정확도 메트릭은 교차 유효성 검사 패스에서 계산되며 선택한 접기 수에 따라 약간 다를 수 있습니다.

  • 데이터 세트가 분할된 방식과 "최적" 모델이 데이터 세트의 각 행에 점수를 매기는 방법을 확인하려면 모듈을 마우스 오른쪽 단추로 클릭하고 점수가 매표된 결과를 선택한 다음 시각화를 선택합니다.

  • 나중에 다시 사용하기 위해 이 데이터 세트를 저장하면 접기 할당이 유지됩니다. 예를 들어 저장된 datsaet은 다음과 같을 수 있습니다.

    배정 접기 클래스 Age(1번째 기능 열)
    2 0 35
    1 1 17
    3 0 62
  • "최적" 모델에 대한 매개 변수 설정을 가져오려면 모델 하이퍼 매개 변수 조정을 마우스 오른쪽 단추로 클릭합니다.

이 모듈을 사용하는 방법에 대한 예제는 Azure AI 갤러리를 참조하세요.

기술 정보

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

매개 변수 스윕의 작동 방식

이 섹션에서는 매개 변수 스윕이 일반적으로 작동하는 방식과 이 모듈의 옵션이 상호 작용하는 방법에 대해 설명합니다.

매개 변수 스윕을 설정할 때 검색 범위를 정의하여 임의로 선택한 한정된 수의 매개 변수 또는 정의한 매개 변수 공간에 대한 철저한 검색을 사용합니다.

  • 임의 스윕: 이 옵션은 설정된 반복 수를 사용하여 모델을 학습합니다.

    반복할 값 범위를 지정하면 모듈은 임의로 선택한 값 하위 집합을 사용합니다. 값은 바꾸기로 선택됩니다. 즉, 이전에 임의로 선택한 숫자가 사용 가능한 숫자 풀에서 제거되지 않습니다. 따라서 값이 선택될 가능성은 모든 패스에서 동일하게 유지됩니다.

  • 그리드 스윕: 이 옵션은 지정한 값 범위의 모든 매개 변수 조합을 포함하는 행렬 또는 그리드를 만듭니다. 이 모듈로 튜닝을 시작하면 이러한 매개 변수의 조합을 사용하여 여러 모델이 학습됩니다.

  • 전체 그리드: 전체 그리드를 사용하는 옵션은 각 조합과 모든 조합이 테스트된다는 것을 의미합니다. 이 옵션은 가장 철저한 것으로 간주될 수 있지만 가장 많은 시간이 필요합니다.

  • 임의 표: 이 옵션을 선택하면 모든 조합의 행렬이 계산되고 지정한 반복 횟수에 따라 행렬에서 값이 샘플링됩니다.

    최근 연구에 따르면 무작위 스윕은 그리드 스윕보다 더 나은 성능을 발휘할 수 있습니다.

학습의 길이와 복잡성 제어

많은 설정 조합을 반복하는 경우 시간이 오래 걸릴 수 있으므로 모듈은 프로세스를 제한하는 여러 가지 방법을 제공합니다.

  • 모델을 테스트하는 데 사용되는 반복 횟수 제한
  • 매개 변수 공간 제한
  • 반복 숫자와 매개 변수 공간 모두 제한

설정을 실험하여 특정 데이터 세트 및 모델에 대한 가장 효율적인 학습 방법을 결정하는 것이 좋습니다.

평가 메트릭 선택

메트릭 결과를 검토할 수 있도록 각 모델에 대한 정확도가 포함된 보고서가 끝에 표시됩니다. 균일한 메트릭 집합은 모든 분류 모델에 사용되고 다른 메트릭 집합은 회귀 모델에 사용됩니다. 그러나 학습하는 동안 튜닝 프로세스 중에 생성되는 모델의 순위를 지정하는 데 사용할 ‘단일’ 메트릭을 선택해야 합니다. 가장 좋은 메트릭은 비즈니스 문제와 가양성 및 거짓 부정 비용에 따라 달라집니다.

자세한 내용은 Machine Learning 모델 성능을 평가하는 방법을 참조하세요.

분류에 사용되는 메트릭

  • 정확도 전체 사례에 대한 실제 결과의 비율입니다.

  • 정밀도 긍정 결과에 대한 실제 결과의 비율입니다.

  • 기억 모든 결과에 대한 모든 올바른 결과의 소수입니다.

  • F 점수 정밀도와 재현율의 균형을 맞추는 측정값입니다.

  • AUC 가양성을 x축에 표시하고 진양성을 y축에 그리는 경우 곡선 아래의 영역을 나타내는 값입니다.

  • 평균 로그 손실 두 확률 분포의 차이: 실제 분포와 모델의 확률 분포입니다.

  • 학습 로그 손실 임의 예측에 대해 모델에서 제공하는 향상된 기능입니다.

회귀에 사용되는 메트릭

  • 평균 절대 오차 모델의 모든 오류를 평균합니다. 여기서 오류는 실제 값에서 예측된 값의 거리를 의미합니다. 종종 MAE로 약어.

  • 평균 제곱 오차의 루트 오류의 제곱 평균을 측정한 다음 해당 값의 루트를 사용합니다. RMSE로 축약되는 경우가 많습니다.

  • 상대 절대 오차 오류를 실제 값의 백분율로 나타냅니다.

  • 상대 제곱 오차 예측된 값의 총 제곱 오차로 나누어 총 제곱 오차를 정규화합니다.

  • 결정 계수 데이터가 모델에 얼마나 잘 맞는지 나타내는 단일 숫자입니다. 값이 1이면 모델이 데이터와 정확히 일치합니다. 값이 0이면 데이터가 임의이거나 모델에 맞지 않습니다. r2, R2 또는 r 제곱이라고도 합니다.

매개 변수 스윕을 지원하지 않는 모듈

Machine Learning 거의 모든 학습자는 통합 매개 변수 스윕을 사용하여 교차 유효성 검사를 지원하므로 실험할 매개 변수를 선택할 수 있습니다. 학습자가 값 범위 설정을 지원하지 않는 경우에도 교차 유효성 검사에서 사용할 수 있습니다. 이 경우 스윕에 대해 허용되는 값의 일부 범위가 선택됩니다.

다음 학습자는 매개 변수 스윕에 사용할 값 범위를 설정하는 것을 지원하지 않습니다.

예상 입력

Name 유형 설명
학습되지 않은 모델 ILearner 인터페이스 매개 변수 비우기를 위한 학습되지 않은 모델입니다.
학습 데이터 세트 데이터 테이블 학습을 위한 입력 데이터 집합입니다.
유효성 검사 데이터 세트 데이터 테이블 학습/테스트 유효성 검사 모드를 위한 유효성 검사용 입력 데이터 집합입니다. 이 입력은 선택 사항입니다.

모듈 매개 변수

Name 범위 Type 기본값 설명
매개 변수 비우기 모드 지정 목록 스윕 메서드 임의 비우기를 수행합니다. 매개 변수 공간의 전체 표를 비우거나 제한된 수의 샘플 실행을 사용하여 비우기를 수행합니다.
임의 비우기 시의 최대 실행 수 [1;10000] 정수 5 임의 비우기를 사용하여 최대 실행 횟수만큼 실행합니다.
무작위 초기값 any 정수 0 난수 생성기의 초기값으로 사용할 값을 제공합니다.
레이블 열 any ColumnSelection 레이블 열
분류 성능 측정용 메트릭 목록 이진 분류 메트릭 형식 정확도 분류 모델 평가에 사용되는 메트릭을 선택합니다.
회귀 성능 측정용 메트릭 목록 회귀 메트릭 형식 절대 평균 오차 회귀 모델 평가에 사용되는 메트릭을 선택합니다.

출력

Name 유형 설명
비우기 결과 데이터 테이블 매개 변수 비우기 실행의 결과 메트릭입니다.
학습된 최적 모델 ILearner 인터페이스 학습 데이터 집합에서 성능이 가장 좋은 모델입니다.

참고 항목

전체 모듈 목록
학습
모델 교차 유효성 검사