1클래스 지원 벡터 컴퓨터

중요

Machine Learning Studio(클래식)에 대한 지원은 2024년 8월 31일에 종료됩니다. 해당 날짜까지 Azure Machine Learning으로 전환하는 것이 좋습니다.

2021년 12월 1일부터 새로운 Machine Learning Studio(클래식) 리소스를 만들 수 없습니다. 2024년 8월 31일까지는 기존 Machine Learning Studio(클래식) 리소스를 계속 사용할 수 있습니다.

ML Studio(클래식) 설명서는 사용 중지되며 나중에 업데이트되지 않을 수 있습니다.

이상 탐지에 대한 1클래스 지원 벡터 컴퓨터 모델 만들기

범주: 변칙 검색

참고

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

유사한 끌어서 놓기 모듈은 Azure Machine Learning 디자이너에서 사용할 수 있습니다.

모듈 개요

이 문서에서는 Machine Learning Studio(클래식)에서 1클래스 지원 벡터 모델 모듈을 사용하여 변칙 검색 모델을 만드는 방법을 설명합니다.

이 모듈은 "정상" 데이터가 많고 검색하려는 변칙의 사례가 많지 않은 시나리오에서 특히 유용합니다. 예를 들어 사기성 트랜잭션을 검색해야 하는 경우 일반적인 분류 모델을 학습하는 데 사용할 수 있는 사기의 예는 많지 않을 수 있지만 좋은 트랜잭션의 예는 많을 수 있습니다.

1 클래스 지원 벡터 모델 모듈을 사용하여 모델을 만든 다음 변칙 검색 모델 학습을 사용하여 모델을 학습합니다. 학습에 사용하는 데이터 세트에는 전체 또는 대부분 일반적인 사례가 포함될 수 있습니다.

그런 다음 다른 메트릭을 적용하여 잠재적인 변칙을 식별할 수 있습니다. 예를 들어 좋은 트랜잭션의 큰 데이터 세트를 사용하여 사기성 트랜잭션을 나타낼 수 있는 사례를 식별할 수 있습니다.

한 클래스 SVM에 대한 자세한 정보

SVM(지원 벡터 컴퓨터)는 데이터를 분석하고 패턴을 인식하는 지도 학습 모델로, 분류 및 회귀 작업에 모두 사용할 수 있습니다.

일반적으로 SVM 알고리즘에는 두 클래스 중 하나에 속하는 것으로 레이블이 지정된 학습 예제 집합이 제공됩니다. SVM 모델은 학습 샘플 지점을 가능한 한 넓은 간격으로 별도의 범주로 나누는 동시에 간격의 잘못된 측면에 속하는 학습 샘플을 처벌하는 것을 기반으로 합니다. 그런 다음, SVM 모델은 간격의 한쪽 또는 다른 쪽에 점을 할당하여 예측을 만듭니다.

경우에 따라 2클래스 모델을 만들 수 있도록 기존 샘플을 복제하는 데 오버샘플링이 사용되지만 제한된 예제에서 사기 또는 시스템 오류의 모든 새 패턴을 예측하는 것은 불가능합니다. 또한, 제한된 예제의 컬렉션도 비용이 많이 들 수 있습니다.

따라서 1클래스 SVM에서 지원 벡터 모델은 "normal" 클래스인 클래스가 하나만 있는 데이터에 대해 학습됩니다. 일반 사례의 속성을 유추하고 이러한 속성에서 일반 예제와 다른 예제를 예측할 수 있습니다. 학습 예제가 부족하면 비정상이 정의되므로 비정상 감지 시 유용합니다. 즉, 일반적으로 네트워크 침입, 사기 또는 기타 비정상 동작의 예제는 매우 적습니다.

기본 연구에 대한 링크를 비롯한 자세한 내용은 기술 정보 섹션을 참조하세요.

참고

1클래스 지원 벡터 모델 모듈에서는 커널 SVM 모델을 만듭니다. 즉, 확장성이 그다지 좋지 않습니다. 학습 시간이 제한되거나 데이터가 너무 많은 경우 PCA 기반 변칙 검색과 같은 변칙 탐지기에 다른 방법을 사용할 수 있습니다.

One-Class SVM을 구성하는 방법

  1. Studio(클래식)에서 실험에 1 클래스 지원 벡터 모델 모듈을 추가합니다. 변칙 검색 범주에서 Machine Learning - 초기화 아래에서 모듈을 찾을 수 있습니다.

  2. 한 클래스 지원 벡터 모델 모듈을 두 번 클릭하여 속성 창을 엽니다.

  3. 트레이너 만들기 모드의 경우 모델을 학습하는 방법을 나타내는 옵션을 선택합니다.

    • 단일 매개 변수: 원하는 모델 구성 방법을 알고 있는 경우 이 옵션을 선택하고 특정 값 세트를 인수로 제공합니다.

    • 매개 변수 범위: 최상의 매개 변수를 잘 모르고 매개 변수 스윕을 수행하여 최적의 구성을 찾으려면 이 옵션을 사용합니다.

  4. η: 이상값 분수의 상한을 나타내는 값을 입력합니다. 이 매개 변수는 이 문서에서 설명하는 nu 속성에 해당합니다. nu-property를 사용하면 이상값과 일반 사례 간의 장단점 관계를 제어할 수 있습니다.

  5. ε (epsilon): 중지 허용 오차로 사용할 값을 입력합니다. 중지 허용 오차는 모델을 최적화할 때 사용되는 반복 횟수에 영향을 줍니다. 중지 기준 값에 따라 달라집니다. 값을 초과하면 트레이너가 솔루션 반복을 중지합니다.

  6. 학습 데이터 세트 및 학습 모듈 중 하나를 커넥트.

    참고

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

    단일 매개 변수 값 세트를 모델 하이퍼 매개 변수 튜닝 모듈에 전달하는 경우 각 매개 변수에 대한 설정 범위를 요청할 때 해당 값을 무시하고 학습자에 대한 기본값을 사용합니다.

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

  7. 실험을 실행합니다.

결과

모듈은 학습된 변칙 검색 모델을 반환합니다. 작업 영역에 모델을 저장하거나 모델 점수 매기 기 모듈을 연결하고 학습된 모델을 사용하여 가능한 변칙을 검색할 수 있습니다.

매개 변수 스윕을 사용하여 모델을 학습한 경우 프로덕션에서 사용할 모델을 구성할 때 사용할 최적의 매개 변수 설정을 기록해 둡니다.

이 모듈을 변칙 검색에 사용하는 방법의 예는 Azure AI 갤러리를 참조하세요.

  • 변칙 검색: 신용 위험: 이 샘플은 매개 변수 스윕을 사용하여 최적의 모델을 찾는 데이터에서 이상값을 찾는 방법을 보여 줍니다. 그런 다음 새 데이터에 해당 모델을 적용하여 사기 행위를 나타낼 수 있는 위험한 트랜잭션을 식별하여 두 가지 변칙 검색 모델을 비교합니다.

기술 정보

한 클래스 SVM의 예측은 무제한일 수 있는 크기 조정되지 않은 점수입니다. Cortana Intelligence 갤러리의 예제에서 볼 수 있듯이 다양한 알고리즘을 기반으로 모델을 비교하는 경우 점수를 정규화해야 합니다.

연구

이 구현은 libsvm이라는 지원 벡터 머신에 대한 라이브러리를 래핑합니다. 기반이 되는 libsvm 일반적인 이론과 1클래스 지원 벡터 머신에 대한 접근 방식은 B. Schlkopf 등에서 이러한 논문에 설명되어 있습니다.

모듈 매개 변수

Name Type 범위 옵션 Description 기본값
트레이너 모드 만들기 트레이너 모드 만들기 목록: 단일 매개 변수|매개 변수 범위 필수 단일 매개 변수입니다. 학습자 옵션을 지정합니다.

모든 값을 수동으로 지정하려면 SingleParameter 옵션을 사용합니다.

조정 가능한 매개 변수를 비우려면 ParameterRange 옵션을 사용합니다.
nu Float >=double.Epsilon 모드: 단일 매개 변수 0.1 이 매개 변수(그리스어 문자 nu로 표시됨)는 이상값의 소수와 지원 벡터 수 간의 장단점이 결정됩니다.
epsilon Float >=double.Epsilon 모드: 단일 매개 변수 0.001 중지 허용 오차를 지정합니다.
psnu ParameterRangeSettings [0.001;1.0] 모드: 매개 변수 범위 0.001; 0.01; 0.1 이상값의 소수 부분 및 지원 벡터 수 사이의 절충값 범위를 지정합니다.
psEpsilon ParameterRangeSettings [1e-6;1.0] 모드: 매개 변수 범위 0.001; 0.01; 0.1 중지 허용 오차의 범위를 지정합니다.

출력

Name 유형 설명
학습되지 않은 모델 ILearner 인터페이스 학습되지 않은 비정상 검색 모델

참고 항목

분류
변칙 검색 모델 학습