1. 누락 데이터란?
누락된 데이터는 데이터 전처리 과정에서 매우 중요한 측면입니다. 누락된 데이터가 있는 경우 이를 처리하지 않으면 분석 결과에 영향을 미칠 수 있습니다. 따라서 누락된 데이터를 다루는 여러 가지 방법이 있습니다.
아래 방법 중에서 데이터의 특성과 분석 목적에 따라 가장 적합한 방법을 선택하여 누락된 데이터를 처리할 수 있습니다.
- 튜플 무시하기(Ignore the tuple) - 주로 분류(Classification) 작업을 수행할 때 클래스 레이블이 누락된 경우에 사용됩니다. 그러나 속성당 누락된 값의 비율이 상당히 다를 때 효과적이지 않을 수 있습니다.
- 수동으로 누락된 값 채우기 (Fill in the missing value manually) - 누락된 값을 직접 채우는 방법이지만, 번거롭고 실현이 어려울 수 있습니다.
- 자동으로 누락된 값 채우기 (Fill in it automatically) - 가장 많이 사용하는 방법이고 아래 방법 중 한 가지를 선택하여 사용합니다.
- 전역 상수(Global constant)로 채우기 - 예를 들어, "unknown"과 같은 새로운 클래스로 누락된 값을 채울 수 있습니다.
- 속성 평균으로 채우기 - 해당 속성의 평균값으로 누락된 값을 채울 수 있습니다.
- 동일한 클래스에 속한 모든 샘플의 속성 평균으로 채우기: 해당 클래스에 속한 샘플의 평균값으로 누락된 값을 채울 수 있습니다.
- 가장 가능성이 높은 값으로 채우기 - 베이지안 공식이나 의사 결정 트리와 같은 추론 기반 방법을 사용하여 가장 가능성이 높은 값으로 누락된 값을 채울 수 있습니다. 이는 약한 감독(Weak supervision)을 사용하여 수행될 수 있습니다.
2. 약한 감독(Weak Supervision)에 대해서
개요
약한 감독(Weak Supervision)은 보다 정확한 모델을 생성하기 위해 더 많은 훈련 데이터를 사용하는 것이 일반적이지만, 수작업으로 레이블을 지정하여 대규모의 훈련 데이터를 생성하는 것이 비용과 시간이 많이 소요되는 많은 응용 분야가 있습니다. 특히 named entity recognition, relation extraction, 그리고 image classification과 같은 작업이 이에 해당합니다.
저비용으로 대규모의 훈련 데이터를 신속하게 확보하기 위한 한 가지 방법은 약한 감독을 사용하는 것입니다. 이는 휴리스틱 규칙이나 기계 학습 모델에 의해 레이블이 지정되지 않은 데이터를 자동으로 주석 달아주는 것입니다.
약한 감독의 한 방법인 '원격 감독(Distant Supervision)'은 외부 지식 베이스를 활용하여 약한 레이블을 생성합니다. 최근 몇몇 연구는 소수 클래스에 대한 훈련 데이터를 보강하기 위해 ChatGPT와 같은 모델을 활용하여 훈련 데이터의 각 문장을 여러 유사한 문장으로 재구성하는 방법을 탐구하고 있습니다.
약한 감독(Weak Supervision)은 데이터 마이닝(Data Mining)에서 훈련 데이터에 레이블을 지정하는 것이 주요 병목이 되는 경우가 많습니다. 대규모 훈련 데이터에 레이블을 지정하기 위해 전문가를 고용하는 것은 시간이 많이 소요되고 비용이 많이 드는 일입니다.
해결책
- 적극적 학습(Active learning) - 모든 데이터 중에서 무엇을 레이블로 지정할지 순차적으로 선택합니다.
- 전이 학습(Transfer learning) - 한 도메인에서 훈련된 모델을 다른 도메인에 활용합니다.
- 반지도 학습(Semi-supervised learning) - 레이블이 지정되지 않은 데이터와 레이블이 지정된 데이터를 함께 활용합니다.
- 약한 감독(Weak supervision) - 레이블이 지정되지 않은 데이터에 레이블을 지정하고 훈련에 활용합니다.
- 원격 감독(Distant supervision) - 지식 베이스를 활용하여 기계 생성 레이블을 사용합니다.
- 크라우드소싱된 레이블(Crowdsourced labels) - 대중을 활용하여 데이터에 레이블을 지정합니다.
- 규칙과 휴리스틱(Rules and heuristics) - 규칙과 휴리스틱을 사용하여 데이터에 레이블을 지정합니다.
이러한 방법들은 전문가를 고용하여 데이터에 레이블을 지정하는 것보다 더 적은 비용과 시간이 소요되며, 자원이 제한된 상황에서 효율적으로 대규모 훈련 데이터를 확보하는 데 도움이 됩니다.
오픈 소스 프레임워크
약한 감독(Weak Supervision)은 모델의 정확도를 높이기 위해 많은 양의 데이터가 필요하지만, 전문가에 의한 많은 데이터 레이블링은 비용이 많이 들거나 현실적으로 불가능한 경우가 있습니다.
약한 감독은 빠르게 많은 양의 레이블이 지정된 데이터를 생성할 수 있습니다. 이는 전문가에 의한 레이블링에 비해 비용이 적게 들거나 빠르게 처리될 수 있습니다. 이러한 약한 감독 기법의 하나인 Snorkel은 가장 인기 있는 프로젝트 중 하나입니다. 많은 기업과 조직에서 널리 사용되고 있습니다.
Snorkel은 기계 학습 모델을 구축하기 위해 약한 감독 기법을 사용하는 오픈 소스 프레임워크로, 기존의 규칙, 휴리스틱, 또는 외부 지식을 활용하여 대규모 데이터에 레이블을 지정하는 데 사용됩니다. 이를 통해 기계 학습 모델을 구축하는 데 필요한 훈련 데이터를 효율적으로 확보할 수 있습니다.
Weak Supervision의 다양한 라벨링 함수
- 레이블링 함수 1
- 더 정확하지만 덜 커버리지를 가지는 함수입니다.
- 이 함수는 전문가가 생성한 휴리스틱이나 패턴과 같은 것을 기반으로 합니다.
- 예를 들어, 전문가가 만든 패턴을 사용하여 특정 조건이 충족되면 특정 레이블을 지정하는 방법입니다.
- 이 함수는 더 정확하지만 적용할 수 있는 경우가 제한적일 수 있습니다.
- 레이블링 함수 2
- 덜 정확하지만 많은 커버리지를 가지는 함수입니다.
- 이 함수는 원격 감독(Distant Supervision)과 같은 방법을 사용하여 생성된 레이블을 기반으로 합니다.
- 원격 감독은 외부 지식 베이스를 사용하여 자동으로 데이터에 레이블을 지정하는 방법입니다.
- 이 함수는 더 많은 데이터에 대해 레이블을 제공합니다. 하지만 정확성이 떨어질 수 있습니다.
결론
이러한 다양한 레이블링 함수를 결합하여 생성된 훈련 데이터의 정확도와 커버리지를 높일 수 있습니다. 예를 들어, 더 정확한 레이블링 함수와 더 많은 데이터를 제공하는 레이블링 함수를 결합하여 보다 정확하고 다양한 훈련 데이터를 얻을 수 있습니다.
'과학, IT 정보' 카테고리의 다른 글
데이터를 축소하는 전략에는 어떤 것들이 있을까? (Data Reduction Strategies) (0) | 2024.03.18 |
---|---|
데이터를 통합하는 이유와 중복성에 대해 알아보자 (0) | 2024.03.18 |
데이터 노이즈 처리와 데이터 정제(Data Cleaning)를 하는 방법들 (0) | 2024.03.17 |
실제 상황에서 데이터 전처리(Data Preprocessing)는 어떻게 이뤄질까 (0) | 2024.03.17 |
데이터 전처리(Data Preprocessing)는 왜 필요하고 어떻게 이루어질까? (0) | 2024.03.16 |