모델 하이퍼 매개 변수 튜닝

모델에 대해 매개 변수 비우기를 수행하여 최적의 매개 변수 설정 결정

범주: Machine Learning/학습

참고

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

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

모듈 개요

이 문서에서는 Azure Machine Learning Studio (클래식)의 모델 하이퍼 매개 변수 조정 모듈을 사용 하 여 지정 된 Machine Learning 모델에 대 한 최적의 하이퍼 매개 변수를 결정 하는 방법을 설명 합니다. 모듈은 다양 한 설정 조합을 사용 하 여 여러 모델을 작성 및 테스트 하 고, 모든 모델의 메트릭을 비교 하 여 설정 조합을 가져옵니다.

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

이 모듈은 모델에 대 한 최적의 설정을 찾는 두 가지 방법을 지원 합니다.

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

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

  • 교차 유효성 검사:이 옵션을 사용 하는 경우 데이터를 몇 번의 접기로 나누고 각 접기에서 모델을 빌드하고 테스트 합니다. 이 방법은 최상의 정확도를 제공 하며 데이터 집합의 문제를 찾는 데 도움이 될 수 있습니다. 하지만 학습 하는 데 더 오래 걸립니다.

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

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

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

모델 조정 Hyperparameters를 구성 하는 방법

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

매개 변수 비우기를 사용 하 여 모델 학습

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

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

  2. 학습 되지 않은 모델 ( iLearner 형식의 모델)을 가장 왼쪽 입력에 연결 합니다.

  3. 담당자 모드 만들기 옵션을 매개 변수 범위 로 설정 하 고 범위 작성기 를 사용 하 여 매개 변수 스윕에 사용할 값의 범위를 지정 합니다.

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

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

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

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

  5. 모델 Hyperparameters 변수 조정속성 창에서 매개 변수 스윕 모드 의 값을 선택 합니다. 이 옵션은 매개 변수를 선택 하는 방법을 제어 합니다.

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

    그리드 크기를 줄이고 무작위 그리드 스윕을 실행할 수도 있습니다. Research는이 메서드가 동일한 결과를 생성 하지만 보다 효율적인 계산을 보여 줍니다.

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

  7. 모델 순위 를 지정 하는 데 사용할 단일 메트릭을 선택 합니다.

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

    그러나 선택 하는 메트릭은 모델의 순위를 지정 하는 방법을 결정 합니다. 선택한 메트릭에 따라 순위가 매겨진 최상위 모델만 점수 매기기에 사용할 학습 된 모델로 출력 됩니다.

  8. 임의 초기값 에는 매개 변수 비우기를 초기화할 때 사용할 숫자를 입력 합니다.

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

  9. 실험을 실행합니다.

하이퍼 매개 변수 튜닝 결과

교육이 완료 되 면 다음을 수행 합니다.

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

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

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

  • 튜닝 프로세스를 반복할 필요 없이 다른 실험에서 점수 매기기에 모델을 사용 하려면 모델 출력을 마우스 오른쪽 단추로 클릭 하 고 학습 된 모델로 저장 을 선택 합니다.

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

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

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

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

  3. 일부 열에서 샘플링의 균형을 조정 하려면 층 화 splitTRUE 로 설정한 다음 층 열 을 선택 합니다. 예를 들어 불균형 데이터 집합이 있는 경우 각 접기가 동일한 수의 소주주 사례를 갖도록 데이터 집합을 나눌 수 있습니다.

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

  5. 이 범주 에 있는 기계 학습 모듈 중 하나를 모델 Hyperparameters 변수 조정의 왼쪽 입력에 연결 합니다.

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

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

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

  7. 파티션 및 샘플 의 출력을 모델 Hyperparameters 변수 조정의 레이블이 지정 된 학습 데이터 집합 입력에 연결 합니다.

  8. 필요에 따라 튜닝 모델 Hyperparameters의 가장 오른쪽 입력에 유효성 검사 데이터 집합을 연결할 수 있습니다. 교차 유효성 검사의 경우 학습 데이터 집합만 필요 합니다.

  9. 모델 하이퍼 매개 변수 조정속성 창에서 임의 스윕 또는 그리드 스윕를 수행할지 여부를 지정 합니다. 표 스윕은 전체 이지만 시간이 많이 소요 됩니다. 임의 매개 변수 검색은 상당히 많은 시간을 취하지 않고 좋은 결과를 얻을 수 있습니다.

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

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

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

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

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

  12. 임의 초기값 에는 매개 변수 비우기를 초기화할 때 사용할 숫자를 입력 합니다.

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

  13. 모델 교차 유효성 검사 모듈을 추가 합니다. 파티션 및 샘플 의 출력을 데이터 집합 입력에 연결 하 고, 모델 hyperparameters 변수의 출력을 학습 되지 않은 모델 입력에 연결 합니다.

  14. 실험을 실행합니다.

교차 유효성 검사의 결과

교차 유효성 검사가 완료 되 면 다음을 수행 합니다.

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

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

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

  • 나중에 다시 사용할 수 있도록이 데이터 집합을 저장 하는 경우 접기 할당은 유지 됩니다. 예를 들어 저장 된 datsaet는 다음과 같습니다.

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

예제

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

기술 정보

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

매개 변수 스윕 작동 방법

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

매개 변수 비우기를 설정 하는 경우 검색 범위를 정의 하 여 임의로 선택 된 한정 된 개수의 매개 변수를 사용 하거나 정의 하는 매개 변수 공간을 철저 하 게 검색 합니다.

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

    반복할 값의 범위를 지정 하 고 모듈은 임의로 선택 된 해당 값의 하위 집합을 사용 합니다. 값은 대체를 사용 하 여 선택 됩니다. 즉, 임의로 임의로 선택한 숫자가 사용 가능한 숫자 풀에서 제거 되지 않습니다. 따라서 모든 값을 선택 하는 것은 모든 패스에서 동일 하 게 유지 됩니다.

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

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

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

    최근 연구에 따르면 무작위 스윕을 그리드 스윕 보다 더 잘 수행할 수 있습니다.

학습의 길이와 복잡성 제어

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

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

특정 데이터 집합 및 모델에 대해 가장 효율적인 학습 방법을 결정 하려면 설정을 시험해 보는 것이 좋습니다.

평가 메트릭 선택

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

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

분류에 사용 되는 메트릭

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

  • 전체 자릿수 긍정적인 결과가 발생 하는 true의 비율입니다.

  • 회수 모든 결과에 대 한 모든 올바른 결과의 비율입니다.

  • F-점수 전체 자릿수와 회수의 균형을 조정 하는 측정값입니다.

  • C X 축에 거짓 긍정을 그릴 때 곡선 아래의 영역을 나타내는 값으로, 참 긍정은 y 축에 그려집니다.

  • 평균 로그 손실 두 확률 분포의 차이 (true)와 모델에 있는 분포의 차이입니다.

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

회귀에 사용 되는 메트릭

  • 절대 평균 오차 모델의 모든 오류에 대 한 평균을 계산 합니다. 여기서 error는 true 값에서 예측 된 값의 거리를 의미 합니다. 자주 약어 Mae.

  • 제곱 평균 오차의 제곱근 오류 제곱의 평균을 측정 한 다음 해당 값의 루트를 사용 합니다. 보통 Rmse 로 축약

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

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

  • 결정 계수 데이터가 모델에 얼마나 적합 한지를 나타내는 숫자 하나입니다. 값 1은 모델이 데이터와 정확 하 게 일치 함을 의미 합니다. 값이 0 이면 데이터가 무작위로 이거나 모델에 적합 하지 않을 수 있습니다. 주로 r 2, r 2 또는 r 제곱 이라고 합니다.

매개 변수 비우기를 지원 하지 않는 모듈

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

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

예상 입력

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

모듈 매개 변수

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

출력

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

참고 항목

A-z 모듈 목록
타는
모델 교차 유효성 검사