2클래스 Support Vector Machine
지원 벡터 컴퓨터 알고리즘을 사용하여 이진 분류 모델 만들기
범주: Machine Learning/모델 초기화/분류
모듈 개요
이 문서에서는 Machine Learning Studio(클래식)에서 2클래스 지원 벡터 머신 모듈을 사용하여 지원 벡터 컴퓨터 알고리즘을 기반으로 하는 모델을 만드는 방법을 설명합니다.
SVM(Support Vector Machine)은 잘 연구된 감독 학습 방법의 클래스입니다. 이 특정 구현은 연속 또는 범주형 변수를 기반으로 두 가지 가능한 결과를 예측하는 데 적합합니다.
모델 매개 변수를 정의한 후 학습 모듈 중 하나를 사용하고 레이블 또는 결과 열을 포함하는 태그가 지정된 데이터 세트를 제공하여 모델을 학습시킵니다.
지원 벡터 머신에 대한 자세한 정보
지원 벡터 컴퓨터는 초기 기계 학습 알고리즘 중 하나이며, SVM 모델은 정보 검색에서부터 텍스트 및 이미지 분류에 이르기까지 여러 응용 프로그램에서 사용되었습니다. SVM은 분류 및 회귀 작업 모두에 사용할 수 있습니다.
이 SVM 모델은 레이블이 지정된 데이터가 필요한 감독 학습 모델입니다. 학습 과정에서 알고리즘은 입력 데이터를 분석하고 초평면이라는 다차원 기능 공간의 패턴을 인식합니다. 모든 입력 예시는 이 공간에서 포인트로 표현되며, 범주가 가능한 한 넓고 명확한 간격으로 분할되는 방식으로 출력 범주에 매핑됩니다.
예측을 위해 SVM 알고리즘은 새 예제를 한 범주 또는 다른 범주에 할당하고 동일한 공간에 매핑합니다.
Two-Class 지원 벡터 컴퓨터를 구성하는 방법
이 모델 유형을 사용하여 분류자를 학습시키기 전에 데이터 집합을 정규화하는 것이 좋습니다.
Studio(클래식)에서 실험에 2클래스 지원 벡터 머신 모듈을 추가합니다.
트레이너 모드 만들기 옵션을 설정하여 모델을 학습시키려는 방법을 지정합니다.
단일 매개 변수: 모델을 어떻게 구성하려는지 아는 경우 특정 값 집합을 인수로 제공할 수 있습니다.
매개 변수 범위: 최상의 매개 변수를 잘 모르는 경우 여러 값을 지정하고 모델 하이퍼 매개 변수 조정 모듈을 사용하여 최적의 구성을 찾아 최적의 매개 변수를 찾을 수 있습니다. 트레이너는 설정의 여러 조합을 반복하고 최상의 모델을 생성하는 값의 조합을 결정합니다.
반복 횟수에 모델을 빌드할 때 사용된 반복 횟수를 나타내는 숫자를 입력합니다.
이 매개 변수를 사용하면 학습 속도와 정확도 간의 균형을 제어할 수 있습니다.
Lambda에 L1 정규화의 가중치로 사용할 값을 입력합니다.
이 정규화 계수는 모델을 조정하는 데 사용할 수 있습니다. 값이 클수록 모델이 더 복잡해집니다.
학습 전에 기능을 정규화하려면 기능 정규화 옵션을 선택합니다.
정규화를 적용하면 학습 전에 데이터 포인트가 평균의 중심에 있고 표준 편차의 1단위를 갖도록 크기가 조정됩니다.
단위 구체에 프로젝션 옵션을 선택하여 계수를 정규화합니다.
값을 단위 공간에 프로젝션한다는 것은 학습 전에 데이터 포인트가 0의 중심에 있고 표준 편차의 1단위를 갖도록 크기가 조정됨을 의미합니다.
실행 간에 재현성을 보장하려면 난수 시드에서 시드로 사용할 정수 값을 입력합니다. 그러지 않으면 시스템 클록 값이 시드로 사용되어 실행 간에 약간 다른 결과를 초래할 수 있습니다.
알 수 없는 범주 허용 옵션을 선택하여 학습 또는 유효성 검사 집합에서 알 수 없는 값에 대한 그룹을 만듭니다. 이 경우 모델은 알려진 값에 대해 덜 정확할 수 있지만 새(알 수 없는) 값에 대해 더 나은 예측을 제공할 수 있습니다.
선택을 취소하면 모델에서 학습 데이터에 포함된 값만 수락할 수 있습니다.
레이블이 지정된 데이터 세트 및 학습 모듈 중 하나를 커넥트.
트레이너 모드 만들기를 단일 매개 변수로 설정한 경우 모델 학습 모듈을 사용합니다.
트레이너 만들기 모드를 매개 변수 범위로 설정하면 모델 하이퍼 매개 변수 조정을 사용합니다.
참고
모델 학습에 매개 변수 범위를 전달하는 경우 매개 변수 범위 목록의 첫 번째 값만 사용합니다.
단일 매개 변수 값 집합을 모델 하이퍼 매개 변수 조정 모듈에 전달하는 경우 각 매개 변수에 대한 설정 범위가 예상되는 경우 값을 무시하고 학습자의 기본값을 사용합니다.
매개 변수 범위 옵션을 선택하고 매개 변수에 대해 단일 값을 입력하면 다른 매개 변수가 값 범위에서 변경되더라도 지정한 단일 값이 스윕 전체에서 사용됩니다.
실험을 실행합니다.
결과
학습 완료 후 다음이 수행됩니다.
학습에서 학습한 기능 가중치와 함께 모델의 매개 변수 요약을 보려면 모델 학습 또는 모델 하이퍼 매개 변수 조정의 출력을 마우스 오른쪽 단추로 클릭하고 시각화를 선택합니다.
학습된 모델을 사용하여 예측을 만들려면 학습된 모델을 모델 점수 매기 기 모듈에 연결합니다.
레이블이 지정된 데이터 집합에 대해 교차 유효성 검사를 수행하려면 학습되지 않은 모델과 데이터 세트를 교차 유효성 검사 모델에 연결합니다.
예
이 학습 알고리즘을 사용하는 방법에 대한 예제는 Azure AI 갤러리를 참조하세요.
직접 마케팅: SVM 모델을 사용하여 고객을 appetency로 분류합니다.
신용 위험 예측: 신용 위험을 평가하기 위해 SVM을 사용합니다.
다중 클래스 분류자 비교:필기 인식에 SVM 모델을 사용합니다.
기술 정보
이 섹션에는 구현 세부 정보, 팁, 자주 묻는 질문에 대한 답변이 포함되어 있습니다.
사용 팁
이 모델 유형을 사용하여 분류자를 학습시키기 전에 데이터 집합을 정규화하는 것이 좋습니다.
최근 연구 조사를 통해 정확도가 높은 알고리즘이 개발되었지만, 정확도보다 속도에 목표를 두는 경우 간단한 데이터 집합에서는 이 알고리즘이 우수하게 작동할 수 있습니다. 2클래스 지원 벡터 모델을 사용하여 원하는 결과를 얻지 못하는 경우 다음 분류 방법 중 하나를 시도합니다.
모듈 매개 변수
Name | 범위 | Type | 기본값 | 설명 |
---|---|---|---|---|
반복 횟수 | >=1 | 정수 | 1 | 반복 횟수 |
Lambda | >=double.Epsilon | Float | 0.001 | L1 정규화의 가중치입니다. 교육 데이터 집합에 모델이 과잉 맞춤이 되지 않도록 하려면 0이 아닌 값을 사용합니다. |
기능 정규화 | 모두 | 부울 | True | True로 설정하면 기능을 정규화합니다. |
단위구체에 프로젝션 | 모두 | 부울 | 아니요 | True로 설정하는 경우 단위구체에 기능을 프로젝션합니다. |
난수 초기값 | 모두 | 정수 | 모델에서 사용하는 난수 생성기의 초기값입니다. 기본값을 사용하려면 비워 둡니다. | |
알 수 없는 범주 수준 허용 | 모두 | 부울 | True | True로 설정하면 각 범주 열에 대해 추가 수준을 만듭니다. 학습 데이터 집합에서 사용할 수 없는 테스트 데이터 집합의 모든 수준은 이 추가 수준으로 매핑됩니다. |
출력
Name | 유형 | 설명 |
---|---|---|
학습되지 않은 모델 | 데이터 테이블 | 학습되지 않은 이진 분류 모델입니다. |