다음을 통해 공유


PCA 기반 변칙 검색

중요

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

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

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

PCA(Principal Component Analysis)을 사용하여 비정상 검색 모델 만들기

범주: 변칙 검색

참고

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

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

모듈 개요

이 문서에서는 Machine Learning Studio(클래식)에서 PCA 기반 변칙 검색 모듈을 사용하여 PCA(주 구성 요소 분석)를 기반으로 변칙 검색 모델을 만드는 방법을 설명합니다.

이 모듈은 유효한 트랜잭션과 같이 한 클래스에서 학습 데이터를 쉽게 가져올 수 있지만 대상 변칙의 충분한 샘플을 얻기 어려운 시나리오에서 모델을 빌드하는 데 도움이 됩니다.

예를 들어 사기성 트랜잭션을 검색하기 위해 학습할 사기 예가 충분하지 않은 경우가 많지만 좋은 트랜잭션의 예는 많습니다. PCA 기반 변칙 검색 모듈은 사용 가능한 기능을 분석하여 "정상" 클래스를 구성하는 항목을 확인하고 거리 메트릭을 적용하여 변칙을 나타내는 사례를 식별하여 문제를 해결합니다. 이렇게 하면 기존 불균형 데이터를 사용하여 모델을 학습시킬 수 있습니다.

PCA(Principal Component Analysis)에 대한 자세한 내용

PCA로 자주 축약되는 주요 구성 요소 분석은 기계 학습에서 확립된 기술입니다. PCA는 데이터의 내부 구조를 공개하고 데이터의 변화를 설명하므로 예비 데이터 분석에서 자주 사용됩니다.

PCA는 여러 변수를 포함하는 데이터를 분석하여 작동합니다. 변수 간의 상관 관계를 찾고 결과에서 차이점을 가장 잘 캡처하는 값의 조합을 확인합니다. 이러한 조합된 기능 값이 보안 주체 구성 요소라는 보다 간결한 기능 공간을 만드는 데 사용됩니다.

변칙 검색의 경우 각 새 입력이 분석되고 변칙 검색 알고리즘은 정규화된 재구성 오류와 함께 고유 벡터에 대한 프로젝션을 계산합니다. 정규화된 오류는 이상 점수로 사용됩니다. 오류가 높을수록 인스턴스가 더 이상한 것입니다.

PCA 작동 방식 및 변칙 검색 구현에 대한 자세한 내용은 다음 문서를 참조하세요.

PCA 변칙 검색을 구성하는 방법

  1. Studio(클래식)에서 실험에 PCA 기반 변칙 검색 모듈을 추가합니다. 이 모듈은 변칙 검색 범주의 Machine Learning모델 초기화에서 찾을 수 있습니다.

  2. PCA 기반 변칙 검색 모듈의 속성 창에서 학습 모드 옵션을 클릭하고 특정 매개 변수 집합을 사용하여 모델을 학습할지 아니면 매개 변수 스윕을 사용하여 최상의 매개 변수를 찾을지 여부를 나타냅니다.

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

    • 매개 변수 범위: 최상의 매개 변수를 잘 모르고 모델 하이퍼 매개 변수 조정 모듈을 사용하여 매개 변수 스윕을 사용하려는 경우 이 옵션을 선택합니다. 트레이너는 지정한 설정 범위를 반복하고 최적의 결과를 생성하는 설정의 조합을 결정합니다.

  3. PCA에서 사용할 구성 요소 수, PCA 구성 요소 수 범위: 출력하려는 출력 기능 또는 구성 요소 수를 지정합니다.

    포함할 구성 요소의 수를 결정하는 것은 PCA를 사용하는 실험 디자인의 중요한 부분입니다. 일반적인 지침은 변수와 동일한 수의 PCA 구성 요소를 포함하면 안 됩니다. 대신 몇 가지 적은 수의 구성 요소로 시작하여 일부 조건이 충족될 때까지 늘려야 합니다.

    최적 값이 무엇인지 잘 모르는 경우 매개 변수 범위 옵션을 사용하여 변칙 검색 모델을 학습하는 것이 좋습니다.

    최상의 결과는 출력 구성 요소 수가 데이터 세트에서 사용할 수 있는 기능 열 수보다 적을 때 얻을 수 있습니다.

  4. 임의 PCA 학습 중에 수행할 과다 샘플링의 양을 지정합니다. 변칙 검색 문제에서 불균형 데이터를 사용하면 표준 PCA 기술을 적용하기가 어려워집니다. 과다 샘플링을 지정하여 대상 인스턴스 수를 늘릴 수 있습니다.

    1을 지정하면 과다 샘플링이 수행되지 않습니다. 1보다 큰 값을 지정하면 모델을 학습하는 데 사용하는 샘플이 추가로 생성됩니다.

    매개 변수 스윕을 사용하는지 여부에 따라 두 가지 옵션이 있습니다.

    • 임의 PCA에 대한 과다 샘플링 매개 변수: 일반 클래스에서의 소수 클래스의 과다 샘플링 비율을 나타내는 단일 정수를 입력합니다. ( 단일 매개 변수 학습 방법을 사용할 때 사용할 수 있습니다.)
    • 임의 PCA에 사용되는 오버샘플링 매개 변수의 범위: 시도할 일련의 숫자를 입력하거나 Range Builder를 사용하여 슬라이더를 사용하여 값을 선택합니다. ( 매개 변수 범위 학습 메서드를 사용하는 경우에만 사용할 수 있습니다.)

    참고

    오버샘플링된 데이터 집합은 볼 수 없습니다. PCA와 함께 오버샘플링을 사용하는 방법에 대한 자세한 내용은 기술 정보를 참조하세요.

  5. 입력 기능 평균 정규화 사용: 모든 입력 기능을 평균 0으로 정규화하려면 이 옵션을 선택합니다. PCA의 목표는 변수 간의 가변성을 최대화하는 것이기 때문에 정규화 또는 0으로의 크기 조정은 일반적으로 PCA에 권장됩니다.

    이 옵션은 기본적으로 선택됩니다. 다른 메서드 또는 배율을 사용하여 값이 이미 정규화된 경우 이 옵션을 선택 취소합니다.

  6. 태그가 지정된 학습 데이터 세트와 학습 모듈 중 하나를 커넥트.

    참고

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

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

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

  7. 실험을 실행하거나 모듈을 선택하고 선택한 실행을 클릭합니다.

결과

학습이 완료되면 학습된 모델을 저장하거나 모델 점수 매기 기 모듈에 연결하여 변칙 점수를 예측할 수 있습니다.

변칙 검색 모델의 결과를 평가하려면 몇 가지 추가 단계가 필요합니다.

  1. 두 데이터 세트 모두에서 점수 열을 사용할 수 있는지 확인합니다.

    변칙 검색 모델을 평가하고 "비교할 점수가 매긴 데이터 세트에 점수 열이 없습니다."라는 오류가 표시되면 레이블 열이 포함되지만 확률 점수는 없는 일반적인 평가 데이터 세트를 사용하고 있음을 의미합니다. 점수가 매칭 된 레이블 및 점수가 매칭 된 확률 열을 포함하는 변칙 검색 모델에 대한 스키마 출력과 일치하는 데이터 세트를 선택해야 합니다.

  2. 레이블 열이 표시되는지 확인

    경우에 따라 레이블 열과 연결된 메타데이터가 실험 그래프에서 제거됩니다. 이 경우 모델 평가 모듈을 사용하여 두 변칙 검색 모델의 결과를 비교할 때 "점수가 매칭된 데이터 세트에 레이블 열이 없음" 또는 "비교할 레이블 열이 없습니다"라는 오류가 표시될 수 있습니다.

    모델 평가 모듈 앞에 메타데이터 편집 모듈을 추가하여 이 오류를 방지할 수 있습니다. 열 선택기를 사용하여 클래스 열을 선택하고 필드 드롭다운 목록에서 레이블을 선택합니다.

  3. 다양한 모델 형식의 점수 정규화

    PCA 변칙 검색 모델의 예측은 항상 [0,1] 범위에 있습니다. 반면 , 한 클래스 SVM 모듈의 출력은 무제한일 수 있는 크기 조정되지 않은 점수입니다.

    따라서 다양한 알고리즘을 기반으로 모델을 비교하는 경우 항상 점수를 정규화해야 합니다. 다양한 변칙 검색 모델 간의 정규화 예제는 Azure AI 갤러리의 예제를 참조하세요.

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

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

기술 정보

이 알고리즘은 PCA를 사용하여 표준 클래스를 포함하는 하위 영역을 근사화합니다. 하위 공간은 데이터 공변성 행렬의 최고 고유값과 연결된 고유 벡터에 의해 확장됩니다. 각 새로운 입력에 대해 변칙 감지기는 먼저 고유 벡터로의 프로젝션을 계산한 다음, 정규화된 재구성 오류를 계산합니다. 이 오류가 변칙 점수입니다. 오류가 높을수록 인스턴스가 더 이상한 것입니다. 일반 공간을 계산하는 방법에 대한 자세한 내용은 Wikipedia: 주요 구성 요소 분석을 참조하세요.

모듈 매개 변수

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

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

조정 가능한 매개 변수를 비우려면 ParameterRange 옵션을 사용합니다.
PCA에서 사용할 구성 요소 수 정수 모드: 단일 매개 변수 2 PCA에서 사용할 구성 요소의 수를 지정합니다.
임의 PCA에 대한 매개 변수 과다 샘플링 정수 모드: 단일 매개 변수 2 임의 PCA 학습의 정확도 매개 변수를 지정합니다.
입력 기능 평균값 정규화 사용 논리 유형 목록:True|False 필수 False 입력 데이터가 0 평균값으로 정규화되는지 지정합니다.
PCA 구성 요소 수의 범위 ParameterRangeSettings [1;100] 모드: 매개 변수 범위 2; 4; 6; 8; 10 PCA에서 사용할 구성 요소 수의 범위를 지정합니다.
임의 PCA에서 사용된 과도 샘플링 매개 변수의 범위 ParameterRangeSettings [1;100] 모드: 매개 변수 범위 2; 4; 6; 8; 10 임의 PCA 학습에 사용되는 정확도 매개 변수의 범위를 지정합니다.

출력

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

예외

예외 설명
오류 0017 지정한 열 중 하나 이상의 형식이 현재 모듈에서 지원되지 않으면 예외가 발생합니다.
오류 0062 서로 다른 학습자 유형으로 두 모델을 비교하려고 하면 예외가 발생합니다.
오류 0047 모듈에 전달된 데이터 세트 중 일부의 기능 열 수가 너무 적으면 예외가 발생합니다.

Studio(클래식) 모듈과 관련된 오류 목록은 Machine Learning 오류 코드를 참조하세요.

API 예외 목록은 Machine Learning REST API 오류 코드를 참조하세요.

참고 항목

1클래스 지원 벡터 컴퓨터