2클래스 Support Vector Machine

지원 벡터 컴퓨터 알고리즘을 사용하여 이진 분류 모델 만들기

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

참고

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

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

모듈 개요

이 문서에서는 Azure Machine Learning Studio (클래식)에서 2 클래스 지원 벡터 컴퓨터 모듈을 사용 하 여 지원 벡터 컴퓨터 알고리즘을 기반으로 하는 모델을 만드는 방법을 설명 합니다.

SVMs (Support vector machines)는 감독 된 학습 방법의 잘 연구 된 클래스입니다. 이 특정 구현은 연속 또는 범주 변수를 기반으로 하는 두 가지 가능한 결과를 예측 하는 데 적합 합니다.

모델 매개 변수를 정의한 후 학습 모듈중 하나를 사용 하 여 모델을 학습 하 고 레이블 또는 결과 열을 포함 하는 태그가 지정 된 데이터 집합 을 제공 합니다.

지원 벡터 컴퓨터에 대 한 자세한 정보

지원 벡터 컴퓨터는 초기 기계 학습 알고리즘 중 하나이며, SVM 모델은 정보 검색에서부터 텍스트 및 이미지 분류에 이르기까지 여러 응용 프로그램에서 사용되었습니다. SVMs는 분류 및 회귀 작업 모두에 사용할 수 있습니다.

이 SVM 모델은 레이블이 지정 된 데이터를 요구 하는 감독 된 학습 모델입니다. 학습 프로세스에서 알고리즘은 입력 데이터를 분석 하 고 하이퍼 평면 이라는 다차원 기능 공간의 패턴을 인식 합니다. 모든 입력 예제는이 공간에서 점으로 표시 되 고 범주를 광범위 하 게 구분 하 고 가능한 한 간격을 해제 하는 방식으로 출력 범주에 매핑됩니다.

예측을 위해 SVM 알고리즘은 새 예제를 하나의 범주 또는 다른 범주에 할당 하 여 동일한 공간에 매핑합니다.

Two-Class 지원 벡터 컴퓨터를 구성 하는 방법

이 모델 유형을 사용하여 분류자를 학습시키기 전에 데이터 집합을 정규화하는 것이 좋습니다.

  1. Studio (클래식)의 실험에 2 클래스 지원 벡터 컴퓨터 모듈을 추가 합니다.

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

    • 단일 매개 변수: 모델을 구성 하는 방법을 아는 경우 특정 값 집합을 인수로 제공할 수 있습니다.

    • 매개 변수 범위: 가장 적합 한 매개 변수를 잘 모르는 경우에는 여러 값을 지정 하 고 모델 하이퍼 매개 변수 조정 모듈을 사용 하 여 최적의 구성을 찾는 방법으로 최적의 매개 변수를 찾을 수 있습니다. 강사는 여러 설정 조합을 반복 하 고 최상의 모델을 생성 하는 값의 조합을 결정 합니다.

  3. 반복 횟수 에 대해 모델을 작성할 때 사용 되는 반복 횟수를 나타내는 숫자를 입력 합니다.

    이 매개 변수를 사용하면 학습 속도와 정확도 간의 균형을 제어할 수 있습니다.

  4. 람다 의 경우 L1 정규화의 가중치로 사용할 값을 입력 합니다.

    이 정규화 계수는 모델을 조정하는 데 사용할 수 있습니다. 값이 클수록 모델이 더 복잡해집니다.

  5. 학습 전에 기능을 정규화 하려면 기능 정규화 옵션을 선택 합니다.

    학습 전에 정규화를 적용 하는 경우 데이터 요소는 평균으로 확장 되며 하나의 표준 편차를 갖도록 확장 됩니다.

  6. 단위 구에 대 한 프로젝션 옵션을 선택 하 여 계수를 정규화 합니다.

    값을 단위 공간에 프로젝션 하는 것은 학습 전에 데이터 요소를 0으로 가운데에 배치 하 고 하나의 표준 편차를 갖도록 확장 했음을 의미 합니다.

  7. 임의 숫자 초기값 에 재현 가능성를 실행 하는 데 필요한 경우 초기값으로 사용할 정수 값을 입력 합니다. 그렇지 않으면 시스템 클록 값이 초기값으로 사용 되어 실행에 대해 약간 다른 결과가 발생할 수 있습니다.

  8. 알 수 없는 범주 허용 옵션을 선택 하 여 학습 또는 유효성 검사 집합에 알 수 없는 값에 대 한 그룹을 만듭니다. 이 경우 알려진 값에 대 한 모델의 정확도가 떨어질 수 있지만 새 (알 수 없는) 값에 대해 더 나은 예측을 제공할 수 있습니다.

    선택을 취소하면 모델에서 학습 데이터에 포함된 값만 수락할 수 있습니다.

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

    참고

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

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

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

  10. 실험을 실행합니다.

결과

학습 완료 후:

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

  • 학습 된 모델을 사용 하 여 예측을 만들려면 학습 된 모델을 모델 점수 매기기 모듈에 연결 합니다.

  • 레이블이 지정 된 데이터 집합에 대해 교차 유효성 검사를 수행 하려면 학습 되지 않은 모델과 데이터 집합을 연결 하 여 모델 교차 유효성 검사를 수행 합니다.

예제

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

기술 정보

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

사용 팁

이 모델 유형을 사용하여 분류자를 학습시키기 전에 데이터 집합을 정규화하는 것이 좋습니다.

최근 연구 조사를 통해 정확도가 높은 알고리즘이 개발되었지만, 정확도보다 속도에 목표를 두는 경우 간단한 데이터 집합에서는 이 알고리즘이 우수하게 작동할 수 있습니다. 2클래스 지원 벡터 모델 을 사용하여 원하는 결과를 얻지 못하는 경우 다음 분류 방법 중 하나를 시도합니다.

모듈 매개 변수

Name 범위 Type 기본값 설명
반복 횟수 >= 1 정수 1 반복 횟수
Lambda >=double.Epsilon Float 0.001 L1 정규화의 가중치입니다. 교육 데이터 집합에 모델이 과잉 맞춤이 되지 않도록 하려면 0이 아닌 값을 사용합니다.
기능 정규화 모두 부울 True True로 설정하면 기능을 정규화합니다.
단위구체에 프로젝션 모두 부울 아니요 True로 설정하는 경우 단위구체에 기능을 프로젝션합니다.
난수 초기값 모두 정수 모델에서 사용하는 난수 생성기의 초기값입니다. 기본값을 사용하려면 비워 둡니다.
알 수 없는 범주 수준 허용 모두 부울 True True로 설정하면 각 범주 열에 대해 추가 수준을 만듭니다. 학습 데이터 집합에서 사용할 수 없는 테스트 데이터 집합의 모든 수준은 이 추가 수준으로 매핑됩니다.

출력

Name Type 설명
학습되지 않은 모델 데이터 테이블 학습되지 않은 이진 분류 모델입니다.

참고 항목

유형을
전체 모듈 목록