한 클래스에 대해서만 분류기


10

간단한 분류에는 class-0과 class-1의 두 가지 클래스가 있습니다. 일부 데이터에는 class-1의 값만 있으므로 class-0의 값은 없습니다. 이제 클래스 1의 데이터를 모델링하는 모델을 만드는 것에 대해 생각하고 있습니다. 따라서 새로운 데이터가 올 때이 모델은 새로운 데이터에 적용되며 새로운 데이터가이 모델에 얼마나 적합한 지 알 수있는 가능성을 찾습니다. 그런 다음 임계 값과 비교하여 부적절한 데이터를 필터링 할 수 있습니다.

내 질문은 :

  • 이 문제를 해결하는 좋은 방법입니까?
  • 이 경우 RandomForest 분류기를 사용할 수 있습니까? 분류 기가 노이즈로 간주하기를 원하는 클래스 0에 인공 데이터를 추가해야합니까?
  • 다른 아이디어 가이 문제에 도움이 될 수 있습니까?

답변:


9

이것은 일부 접근법을 사용하여 가능하며 확실히 유효한 접근법입니다. 그러나 임의의 포리스트가이 작업을 수행 할 수 있는지 확실하지 않습니다.

인공 데이터를 생성한다는 것은 추가 가정을하는 것을 의미하므로 필요하지 않은 경우에는 그렇게하지 마십시오.

살펴볼 수있는 기술 중 하나는 소위 1 클래스 SVM입니다. 그것은 정확히 당신이 찾고있는 것을 수행합니다 : 그것은 훈련 포인트를 받아들이고 다른 분포에서 포인트를 거부하는 모델을 만들려고합니다.

1 클래스 SVM에 관한 몇 가지 참조 :

  1. Schölkopf, Bernhard 등 "고차원 분포의 지원 추정" 신경 계산 13.7 (2001) : 1443-1471. 이 논문은 접근 방식을 소개했습니다.

  2. 세금, David MJ 및 Robert PW Duin. "벡터 데이터 설명 지원" 기계 학습 54.1 (2004) : 45-66. 같은 일을하는 다른 방법, 아마도 더 직관적입니다.

이 두 가지 접근 방식은 동일합니다. 첫 번째는 모든 훈련 데이터를 피처 공간의 원점과 최대 거리로 분리하는 초평면을 추정합니다. 두 번째는 훈련 인스턴스를 포함하는 피처 공간에서 반경이 최소 인 초구를 추정합니다.

1 급 SVM은 libsvm , scikit-learn (Python) 및 kernlab (R)을 포함한 많은 SVM 패키지로 제공됩니다 .


3
- 세금의 박사 학위 논문 "한 클래스 분류 반례의 부재에 개념 학습은"도 사용할 수 있습니다 homepage.tudelft.nl/n9d04/thesis.pdf
SX와 cbeleites 불행

짧고 정확한! "+1)"이러한 접근 방식은 모두 동등한 것으로 나타났습니다. " -당신은 그것에 대한 참조 / 인용을 지정할 수 있습니까? 그것은이다 scholar.google.de/...
Boern

6

더 많은 가능성을 추가하겠습니다 :

일반적으로 클래스에서 거리까지 임계 값을 설정하면 다른 클래스가 있는지 여부에 관계없이 샘플이 해당 클래스에 속하는지 여부를 결정할 수 있습니다.

  • 마할 라 노비스 거리 => QDA
  • SIMCA (클래스 유추의 소프트 독립 모델링)는 PCA 점수 공간에서 거리를 사용합니다.
    SIMCA는 화학 요법 문헌에서 일반적입니다 (실제로 단일 클래스 방식으로 설정되는 경우는 거의 없음).
  • (SVM은 이미 @Marc Claesen의 답변에서 처리되었습니다)

Richard G. Brereton : 패턴 인식을위한 화학 측정법 (Wiley, 2009)에는 1 클래스 분류에 대한 전체 장이 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.