[REPORT]Dealing with Noise Problem in Machine Learning Data-sets:A Systematic Review

2024. 7. 16. 14:18Report

Dealing with Noise Problem in Machine Learning Data-sets:

A Systematic Review

 

 

[Abstract]

데이터에서의 노이즈는 예측에 많은 영향을 주며 정확성을 저하시킨다. 때문에 ML모델을 사용해서 예측하는 분야(ex:금융,의료진단,제품추천 등)에서 노이즈를 식별하고 다루는 것은 상당항 주의를 이끌고 있다.

데이터의 노이즈에 대한 ensemble-based techniques가 다른 기법보다 적절하지만, 효율적인 측명에서는 single technique이 더 적합하다. 노이즈를 다루는 여러 기술들 중에 plishing techniques가 classification 정확성을 높이지만 오류를 나타내기도 한다.

 

 

+데이터에서 노이즈는 무작위적인 변동이나 오류, 데이터의 정확성과 신뢰성을 저하시키고 분석이나 모델 학습에도 부정적인 영향을 미치므로 데이터 노이즈를 식별하고 다루는 것이 중요하다.

 

 

 

[Keywords]

Noise/Class Noise/Attribute Noise/Types of noise/Noise identificatoin techniques/Noise handling techniques/Classfication

 

 

+Noiseclass noise와 attribute noise로 나눌 수 있다. 이 두 노이즈 이외의 type of noise에는 환경노이즈, 측정오류 등이 있으며 노이즈에 관련한 기술에는 noise identificaion techniques(노이즈를 식별, 구분하는 기술)과 noise handling techniques(노이즈를 다루는 기술)이 있다. Classfication은 ML(머신러닝)에서 주어진 데이터를 미리 정의된 클래서로 분류하는 작업을 말한다.

 

 

 

 

[Introducion]

ML과 DM(데이터마이닝)에서 우리주변에 있는 수많은 데이터들 중 irrelevant하고 meaningless하며 분석,학습,예측,분류,클러스터링 등을 하는데  detrimental한 데이터들을 제외하고 의미있는 데이터들을 찾아내는 과정은 중요하다.

ML data set에서의 noise는 두가지로 나눌 수 있다. attribute noise(predictive attribute)와 class noise(target attribute)나눌 수 있고 이러한 데이터의 노이즈들은 모델의 성능을 저하시키기 때문에 data sets에서의 노이즈를 구별하고 다루는 방법에 대해 다룰 것이다.

 

 

+예를 들어 고객이 어떤 제품을 구매할 것인지 알아보기 위한 ML 모델을 구현하기 할려고 한다. 고객의 나이, 성별, 구매이력이 attribute noise(예측속성,입력속성)이 되겠고 해당 고객이 구매하는 제품이 target attribute(목표 속성, 타겟속성)이 되겠다.

 

 

 

 

 

[Results and Discussion]

Q]노이즈들은 어떻게 구별될까?

A]Class noise와 Attribute noise로 구분할 수 있다. Class noise는 contradictory instances(모순적인 인스턴스:하나의 인스턴스가 여러개의 클래스로 분류되는 경우)와 Misableled instance(잘못 labeling된 경우, 즉 정답 처리가 잘못된 경우)로 나뉜다. Attribute noise는  erroneous attribute values(잘못된 값), missing or don't know values(놓쳤거나 모르는 값), incomplete or don't care values(불완전하거나 무시해도 되는 값)으로 나눌 수 있다. 

 

 

Q]노이즈들을 식별하기 위해서 어떤 기술이 필요할까?

A]Class noise에서 사용되는 기술들은 여러 분류기를 사용해서 식별해내는 앙상블 기법인 ensemble techniques, 거리를 이용해서 잡음이 있는 데이터를 구분해낼 수 있는 distance based algorithm, 의사결정트리 또는 신경망과 같은 single learning based techniques로 크게 3가지로 구분지을 수 있겠다. Attribute noise에서 사용되는 기술들은 인스턴스를  noise에 대해 상대적인 순위를 매길 수 있는 PANDA(pairwise Attribute Algorithm)가 있겠다. 이 기술은 클래스 레이블의 유무에 관계없이 사용할 수 있어서 유용한 기술이다.

 

 

Q]노이즈들을 다루는데는 어떠한 기술들이 필요할까?

A]class noise를 다루는 기술을 크게 3가지로 나누면 1. noise를 무시하지만 오버피팅에 대응할 충분한 견고성을 갖추는 기술 2. data set에서 필터링되거나 수정할 수 있는 기술 3. 재레이블링(데이터 스크러핑)이 있으며 attribute noise를 다루는 기술은 data set에서 잘못된 속성 값을 제거하는 filtering과 의심스러운 data들을 예측하고 식별하는 imputation(대체)가 필요하다.

 

 

 

 

 

 

[Discussion]

Polishing 기법이 도움이 되긴 하지만, 부적절한 사용은 데이터에 환상적인 특성을 도입할 가능성이 존재한다.

filtering하는 과정에서 제거된 noise data 양과 retained된 data양들에는 명백한 trade off가 있는데, 극단적인 경우에는 전체 data set이 폐기될 수도 있수도 있다.

거리에 기반하여 작동하는 기술은 최근접 이웃 알고리즘을 기반으로 작동하여 이해와 구현은 쉬울지 몰라도, 가깝다고 하여 동일한 레이블을 가질거라는 전제는 모든 data set에 적용되지 않는다.

esemble 기법은 위의 방법보다 우수하지만 여러 분류기를 사용하기 때문에 시간적인 측면에서는 효율적이라고 말하기 어렵다.효율성을 따지자면, single technique이 적절한데 동적인 noise data에 적절하다.