답변:
질문의 공식화에서 나는 이상 (즉, 라벨)의 "예"가 전혀 없다고 가정한다. 이 가정을 통해 실현 가능한 접근 방식은 자동 엔코더 를 사용하는 것입니다 . 신경망은 데이터를 입력으로 수신하고 동일한 데이터를 출력하도록 훈련됩니다. 아이디어는 훈련을 통해 인터넷이 잠재 변수의 형태로 입력 데이터 분포의 표현을 배울 수있게 해주었다.
denoising autoencoder라는 유형의 자동 인코더가 있습니다.이 유형은 원본 데이터의 손상된 버전 을 입력으로, 손상되지 않은 원본 데이터를 출력으로 훈련 합니다. 이는 입력에서 노이즈 (예 : 데이터 손상)를 제거 할 수있는 네트워크를 제공합니다 .
일일 데이터로 노이즈 제거 자동 인코더를 훈련시킬 수 있습니다. 그런 다음 새로운 일일 데이터에 사용하십시오. 이런 식으로 당신은 원래의 일일 데이터와 그와 동일한 데이터 의 손상되지 않은 버전 을 갖게 됩니다. 그런 다음 두 가지를 비교하여 중요한 차이 를 감지 할 수 있습니다 .
여기서 중요한 것은 당신이 선택한 중요한 차이의 정의입니다 . 유클리드 거리를 계산하고 특정 임계 값을 초과하면 이상이 있다고 가정 할 수 있습니다. 또 다른 중요한 요소는 부패 의 종류입니다 . 그것들은 합리적인 이상에 가능한 한 가까워 야합니다.
또 다른 옵션은 Generative Adversarial Networks 를 사용하는 것 입니다. 훈련의 부산물은 일상 적인 일상 데이터와 비정상적인 데이터를 구분하는 차별 네트워크입니다 .
데이터의 특성 (범주 적 / 연속적)에 크게 의존한다고 생각합니다. 간단한 방법부터 시작하겠습니다. 그들은 내 마음에 온다 :
이들 중 어느 것도 적합하지 않은 경우 이상 감지에 특화된 통계 / ML 모델의 전체 분기가 있습니다. SVM, t-SNE, 격리 포리스트, 피어 그룹 분석 , 중단 점 분석 , 시계열 (트랜드 외부에서 특이 치를 찾을 수있는 위치).
이러한 방법은 일종의 화이트 박스라는 장점이 있으므로 누군가 왜 이상치인지 알 수 있습니다. 이것이 당신이 원하는 것이 아니라면, 다른 사람들은 ANN 접근법을 제안했는데, 그것은 또한 효과가있을 것입니다.
비슷한 문제를 해결하려고합니다. 데이터 세트에 텍스트와 숫자 기능이 혼합되어 있습니까? 그렇다면 이상을 탐지하는 복잡성이 증가합니다 (어떤 요인으로 알지 못합니다). 데이터 집합이 균일 한 경우 (예 : 숫자 값만 포함하는 경우) 레이블이있는 데이터 집합이 여전히 필요한 RNN을 사용할 수 있지만 패턴과 같은 시계열을 감지 할 수 있습니다 (예 : 전날의 값과 비교)