로그인   |  회원가입  |  사이트맵  |  Contact Us
  아이디 저장하기
 
홈 > SAS Tech & Tip > SAS E-Miner 활용하기
[EM] Dealing with imbalanced data - 이론 2017.02.22
한노아 319 1
http://www.mysas.co.kr/SAS_tiptech/j_eminer.asp?b_no=7189&gotopage=1&con=subject&keyword=&cmd=content&bd_no=29&gubun=

안녕하세요 MySAS홍보대사 한노아입니다.

이번 시간부터는 계급불균형 자료를 이용해 모형을 적합 시키는 방법에 대해 알아보도록 하겠습니다.

 

INTRODUCTION

계급불균형 자료는 분류문제에서 Target변수의 분포가 불균형한 경우를 말합니다. 이러한 문제는 다양한 분야에서 발생합니다. 대표적으로 통신사의 고객이탈, 사기탐지, 기업부도 예측, 희귀질환 발병 예측 등이 있습니다. 사실 대부분의 현실적인 문제들은 계급불균형 문제와 밀접하게 연관되어 있습니다. 그렇다면 이러한 문제에서 왜 Target변수의 분포가 불균형 한 것이 문제가 되는지 알아보도록 하겠습니다.

 

“그렇다면 왜 Target변수의 분포가 불균형한 것이 문제가 되는 것일까요?”

대부분의 분류 알고리즘들의 목적함수는 “정분류율”입니다. 그렇기 때문에 만약 Target변수의 각 level의 비가 1:99인 경우 모두를 Non-event로 예측해도 결과적으로 정분류율은 99%로 매우 높게 나타나게 됩니다. 이러한 경우 언뜻 보기에는 매우 좋은 모형이 생성된 것으로 착각하기 쉽지만, 이 모형을 보험사기 탐지나 기업부도예측에 적용 하게 된다면 아마 사기 및 부도를 한 건도 예측해 내지 못할 것입니다. 즉, 문제를 해결할 수 없는 모형인 것입니다. 이러한 현상을 정확도 역설(Accuracy Paradox)이라고 합니다. 

 

“그렇다면 정확도의 역설 문제를 어떻게 해결할 수 있나요?”

정확도의 역설을 해결할 수 있는 방법은 여러가지가 있습니다. 가령 불균형비가 크지 않은 경우에는 좋은 파생변수를 찾는 것으로도 어느정도 문제가 해결됩니다. 만약 이렇게 해서 모형이 더 좋아졌다면 더 이상 고민할 이유는 없을 것입니다.

 

하지만 만약 불균형비가 1:99 또는 1:999와 같이 극도로 심한 경우에는 좋은 파생변수로 이를 보완하는 것에도 분명 한계가 존재할 것입니다. 따라서 이러한 경우에는 Target변수의 각 수준을 서로 동일한 개수로 맞춰서 학습을 시키거나 소수 수준의 Target을 갖는 관측에 가중치를 부여하는 방법이 있을 것입니다. 그럼 각각의 방법에 대해 자세하게 알아보도록 하겠습니다.

 

 

METHOD

1. 알고리즘에 기반한 방법

알고리즘에 기반한 방법의 경우 분류기의 학습알고리즘을 변화 시켜 계급불균형 문제를 해결하는 방법입니다. 이 방법의 경우 각 분류기의 분류알고리즘을 직접 수정해야하기 때문에 이번 연재에서는 직접적으로 다루지 않겠습니다.

 

 

2. 샘플링을 이용한방법

샘플링을 이용한 방법은 표본 추출 방법을 이용하여 불균형한 데이터의 비율을 조정함으로써 데이터의 비율을 맞추고 이를 통해 마이너한 계급에 대한 분류 정확도(예측력)을 높이는 방법입니다. 일반적으로 많이 이용되는 방법 중 하나지만 기존의 각 샘플링 방법마다 갖는 편향 문제가 존재하는 단점이 존재합니다.

 


Under-Sampling방법은 다수 계급에 해당하는 데이터를 랜덤하게 소수 계급의 숫자만큼 추출하여 모형을 생성하는 방법입니다. 이 방법의 경우 다수 계급에 대한 정보가 유실된다는 단점이 있고, 데이터의 양이 충분하지 않은 경우 샘플의 랜덤 시드가 바뀔 때마다 발생하는 분류 정확도의 편차가 큰 차이를 보일 수 있습니다. 저 같은 경우엔 Under Sampling방법을 이용하는 경우 항상 ten-fold-cross-validation과 함께 이용하여 모형에 대한 안정적이 평가가 가능하도록 합니다.

 

 


Over-Sampling방법은 크게 단순임의 추출에 의한 Over-Sampling방법과 복원추출에 의한 Over-Sampling으로 나눌 수 있습니다. 일반적으로 계급불균형 문제의 경우 복원추출에 의한 Over-Sampling방법을 많이 이용합니다.

 

먼저 단순임의 추출에 의한 Over-Sampling방법은 소수계급에 해당하는 관측치는 모두 이용하고, 다수 계급의 관측치를 소수계급보다 더 적게 임의 추출하는 것입니다. 가령 소수계급의 관측치의 수가 200개 다수 계급의 관측치의 수가 800개인 경우 다수 계급에서 150개를 임의 추출하여 전체 균형비를 3:4로 조정하는 것입니다. 이렇게 할 경우 다수계급에 대한 정보 손실은 일반적인 Under-Sampling방법보다 크지만 소수계급에 대한 가중치가 증가하는 효과를 얻을 수 있습니다.

 

복원추출에 의한 Over-Sampling방법은 소수계급에 포함된 샘플을 랜덤하게 다수 계급의 관측치의 수만큼 복원 추출하는 것입니다. 이렇게 할 경우 샘플링 결과 데이터에서는 소수계급 데이터에 한하여 중복이 발생하게 되어 편향이 발생하게 됩니다. 하지만 다수계급의 경우 정보손실이 발생하지 않게 됩니다.

 

 


Under&Over-Sampling방법은 가령 전체 표본수가 1000개일 때 다수계급에서 전체의 50%(500개)를 임의 추출하고 소수 계급에서 전체 표본의 약 50%를 복원추출하는 방법입니다. 이렇게 할 경우 Over-Sampling으로 인한 편향과 Under-Sampling으로 인한 정보손실을 모두 줄일 수 있어 비교적 좋은 방법을 생각됩니다. 하지만 실질적으로는 Under-Sampling을 이용한 모형이 더 좋거나 Over-Sampling을 이용한 모형이 더 좋은 경우도 많이 있기 때문에 어떤 방법이 항상 더 좋다 나쁘다와 같은 기준은 없습니다.

 

 


SMOTE방법은 비교적 최근에 소개된 방법으로 knn방법을 이용해 소수계급의 데이터를 늘리는 방법입니다. 가령 소수계급의 데이터에 한하여 knn분석을 진행하고 이웃에 해당하는 표본들의 평균을 이용하거나 혹은 유클리드 거리의 중점에 해당하는 부분에 표본을 생성하는 것입니다. 이 방법의 경우 비교적 좋다고 알려져 있지만 데이터에 따라 다를 수 있습니다. SMOTE방법의 경우 EM의 노드를 이용한 직접 구현은 어렵고 일반적으로 SAS 코드 노드를 이용해 매크로를 이용하거나 오픈소스 통합 노드를 이용해 R의 SMOTE함수를 호출하는 방식을 이용할 수 있습니다.

 

 

3. 비용함수에 기반한 방법

비용기반 학습 방법의 경우 특정 비용함수를 최소화 시키도록 분류기를 학습하는 방법입니다. 따라서 마이너 레벨의 오분류비용을 높게 설정하면 별도의 샘플링 과정없이 불균형 문제를 해결하는 것이 가능합니다. 즉, 다수계급의 비용과 소수계급의 오분류 비용을 달리하여 이를 학습에 반영하는 것입니다. 

 

 

CONCLUSION

이번 연재에서는 계급불형자료의 정의와 그로 인해 발생하는 문제, 해결방안에 대한 이론적 배경에 대해 알아보았습니다. 계급불균형 자료의 경우 Target변수의 계급비가 불균형한 자료로 일반적인 데이터와 동일한 방법으로 학습할 경우 정확도의 역설 문제가 발생할 수 있습니다. 따라서 알고리즘을 수정하거나 샘플링 방법을 통해 데이터를 조정하거나 혹은 비용함수를 이용한 방법 등을 활용해 불균형 문제를 해소하여 주고 그 다음 학습을 진행해야 유의미한 혹은 우리가 의도한 결과를 얻을 수 있음을 알 수 있었습니다. 다음시간에는 계급불균형문제를 해결하는 방법에 대한 실습을 진행하도록 하겠습니다.

 

 

REFERENCES

[1] Chawla Nitesh, Bowyer Kevin, Hall Lawrence and Kegelmeyer Philip SMOTE: Synthetic Minority Over-sampling Technique Journal of Artificial Intelligence and Research 2002 pp. 321-357

[2] EnislayRamentol·Yailé Caballero · Rafael Bello ·Francisco Herrera SMOTE-RSB∗:a hybrid preprocessing approach basedon oversampling and undersampling for high imbalanceddata-sets using SMOTE and rough sets theory. 2011

[3] Brennan, Peter. “A comprehensive Survey of Methods for Overcoming the Class Imbalance Problem in Fraud Detection”. 2012.

[4] Wang Ruizhe, Lee Novik, Wei Yun. 2015. “A Case Study: Improve Classification of Rare Events with SAS Enterprise Miner." Proceedings of the SAS Global Forum 2015 Conference, 3282-2015.

[5] Guzman Lina. 2015. “Data sampling improvement by developing SMOTE technique in SAS." Proceedings of the SAS Global Forum 2015 Conference, 3483-2015.

 

 
 
    
 
 [EM] Dealing with imbalanced data - Under Sampling, Over Sampling
 [EM] 퍼지 군집모형(Fuzzy Cluster) Unsupervised Ensemble