본문 바로가기
AI, 빅데이터/Anomaly Detection

Anomaly Detection_AutoEncoder

by Foxy현 2023. 5. 2.
728x90
반응형

AutoEncoder Anomaly Detection은 오토인코더 신경망을 사용하여 데이터 세트에서 이상을 식별하는 비지도 학습 유형입니다.

오토인코더는 입력을 출력에 복사하도록 훈련된 신경망으로, 중간에 병목 현상 레이어가 추가되어 입력을 잠재 벡터라고 하는 저차원 표현으로 압축합니다. 그런 다음 디코더는 이 잠재 벡터를 가져와 원래 입력을 재구성합니다.

 

 

 

 

오토인코더는 데이터를 저차원 공간으로 압축한 다음 원래 형태로 다시 재구성하여 데이터에서 가장 중요한 기능을 추출하는 방법을 학습합니다.

그 과정에서 필수 특성을 캡처하는 데이터의 압축된 표현을 학습합니다.

 

오토인코더 이상 감지를 사용하려면 일반 데이터에서 오토인코더를 훈련한 다음 이를 사용하여 새 데이터 포인트를 재구성합니다.

원래 데이터와 재구성된 데이터 간의 차이는 평균 제곱 오차(MSE) 손실로 측정됩니다.

MSE 손실이 특정 임계값을 초과하면 데이터 포인트가 이상으로 간주됩니다.

 

오토인코더 이상 감지는 다른 이상 감지 방법에 비해 몇 가지 장점이 있습니다.

하나는 레이블이 지정된 데이터가 필요하지 않아 비지도 학습 작업에 적합하다는 것입니다.

또 다른 하나는 고차원 데이터에서 고수준 특징을 추출할 수 있어 복잡한 데이터 세트에 효과적입니다.

 

그러나 오토인코더 이상 탐지의 한 가지 한계는 MSE 손실에 대한 임계값을 설정하는 것이 어려울 수 있다는 것입니다.

특정 데이터 세트와 허용 가능한 오탐지 및 거짓음성의 수준에 따라 달라지기 때문입니다.

 

 

결론적으로 오토인코더 이상 감지는 비지도 학습에서 이상을 식별하는 강력한 도구입니다.

고차원 데이터에서 고급 기능을 추출할 수 있으며 레이블이 지정된 데이터가 필요하지 않습니다.

그러나 MSE 손실에 대한 임계값을 설정하는 것은 어려울 수 있으며 모델의 성능은 훈련 데이터의 품질에 따라 달라집니다.

 

구현에 대한 간단한 코드는 아래와 같습니다.

 

clf_name = 'AutoEncoder'
clf = AutoEncoder(hidden_neurons=[300,100,100,300], epochs=10, contamination=contamination)
clf.fit(X_train)
728x90
반응형