ntucllab/libact

Pool-based active learning in Python

해결하는 문제

libact는 풀 기반 활성 학습의 구현을 간소화하는 Python 패키지입니다. 미라벨링된 데이터 풀에서 모델이 가장 정보량이 많은 샘플을 지능적으로 선택함으로써, 모델 학습에 필요한 레이블 데이터 양을 줄여줍니다.

작동 방식

이 라이브러리는 쿼리 전략, 모델, 레이블러를 위한 통합 인터페이스를 제공합니다. 몇 가지 인기 있는 활성 학습 전략을 접근 방식별로 분류하여 구현합니다:

  • 이용/불확실성: 모델의 확신도가 가장 낮은 샘플을 선택 (예: UncertaintySampling).
  • 다양성/대표성: 레이블링된 데이터셋에서 가장 멀리 떨어져 있거나 데이터 분포를 대표하는 샘플을 선택 (예: CoreSet, InformationDensity).
  • 불일치: 여러 모델의 위원회를 사용하여 가장 의견이 다른 샘플을 찾음 (예: QueryByCommittee, BALD).
  • 메타 알고리즘: ActiveLearningByLearning (ALBL) 알고리즘은 다중 손잡이 밴디트처럼 작동하여 실시간으로 최적의 쿼리 전략을 자동 선택합니다.

대상 사용자

라벨링 비용을 최적화하고, 적은 레이블로 모델 성능을 향상시키고 싶은 데이터 과학자 및 ML 전문가.

주요 특징

  • 다양한 전략 라이브러리: 불확실성, 다양성, 그리고 지식 불확실성(BALD)을 포함한 다양한 전략을 제공.
  • 메타 학습: 자동 전략 선택을 위한 ALBL 메타 알고리즘을 탑재.
  • 확장 가능한 인터페이스: scikit-learn 추정기(any estimator)를 감싸는 통합 인터페이스와 어댑터(SklearnAdapter) 제공.
  • C 확장: 분산 감소 및 HintSVM을 위한 고성능 모듈 포함.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트