본문 바로가기

2019년 혁신성장 청년인재 집중양성(빅데이터)/[COURSERA] Machine Learning Stanford Uni

[week9] Building an Anomaly Detection System

A. Density Estimation

1. 우리가 찾아야 하는 것은 엡실론, 그 엡실론에 대한 단서를 얻기 위해서는 평가 시스템이 필요하다. 그리고 평가를 하기 위해서는 레이블이 필요하다.

 

1. 이상치가 많다면 이상치가 아니듯이, 이상치의 예시는 적을 수 있다.

 

2. 그렇기 때문에 중단에서 보이는 것처럼, 6000개의 정상치로 부터 엡실론을 설정하여, CV에서 검증하며 최적의 엡실론을 찾고 TEST에서 정확도를 보아야 한다.

 

3. 대안적인 방법이 있긴하지만, 비추.

 

1. 알고리즘은 위와 같은 방법으로, 정상이면 0을 이상치면 1로 예측 값을 생성한다.

 

2. 중요한 것은 정확도를 확인할 떄, 단순히 정확도(Accuracy)만을 보는 것이 아니라는 점이다. 왜냐하면 극단적으로 정상치가 많기 때문에, 0으로만 예측한다면 정확도 자체는 높아진다.

 

3. 그렇기 때문에 Precision이나 Recall그리고 F1 score의 값을 으로 정확도를 평가해야한다.

 

B. Building an Anomaly Detection System

 

1. 레이블 된 트레인 셋이 있는데 굳이 이상치 검색이라는 방법을 써야 하냐? 여기서 딱 정리 해주신다.

 

2. 이상치 검색은 양성 값이 극히 적고, 음성 값이 많은 데이터 셋에 이용된다. 만약 양성 음성 값 둘 모두가 충분하다면 지도학습 방법을 사용하여도 좋다.

 

3. 또한 많은 타입의 이상값이 존재하고, 미래에도 여러 이상치 값의 타입이 생겨날 가능성이 있다면 이상치 검색을 사용하는 편이 좋다. 모든 이상 값에 대한 타입에 대해서 충분히, 그리고 확실히 레이블을 얻기는 불가능하기 때문이다.(열려있는 카테고리라는 말을 들었던 것 같다.)

 

4. 답이 딱딱 정해져 있고, 샘플 수도 많다고 한다면 지도학습을 쓰는 것이 좋다. 

 

5. 결국이 타입을 결정하는데에 충분한 데이터가 있느냐 없느냐의 문제이다. 데이터가 있다면, 그 감각을 학습시켜주면 되는 것이고, 데이터가 충분히 없다면, 정상적인 것이 무엇인지에 대해 확실한 경계선을 세우는 방향으로 가는 것이다.

 

C. Chossing what Features to use

 

1. 피쳐들의 분포는 최대한 가우시안 분포가 되도록 만들어주는 것이 좋다. 로그나, 제곱이나 삼제곱이나와 같이 말이다.

 

2. 이 피쳐링 부분은 왜곡이 아니다, 이 작업은 극대화, 극소화를 시켜주는 것, 증 데이터의 값을 바라보는 관점을 바꿔주는 것이다. 단순히 그렇게 측정된 것 뿐이지, 다른방식으로 측정되었다면, 그것은 가우스 분포를 가질 수 있다는 것이다. (내 생각) 그 것을 찾는 것...

 

1. 우리는 음성인 값에 대해서는 큰 p값은, 양성의 값에 대해서는 작은 p 값을 원한다.

 

2. 그리고 x1의 p 값이 딱 보기에는 모두 커보일 때, 어떤 관측치가 이상 값이라는 것을 안다고 한다면, 다른피쳐 혹은 해당 피쳐에서의 p값이 낮도록 조정을 해줄 필요가 있을 것이다.

 

 

1

1. 피쳐를 만드는 방법은 위와 같이 다양하다. 어떻게 이상치에 대해서 적은 p값을 가지게 할까 그것이 이상치 검색에서의 문제이다.

 

1. 다변수 가우시안을 쓰는 방법이 있다. 이방법을 쓰면, 피쳐들간의 연관성까지도 자연스럽게 잡아낼 수 있지만, 비용이 상대적으로 비싸며, 관측치는 피쳐보다 항상 많아야 한다.(그래야만 공분산행렬을 구할 수 있다)