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을 위한 고성능 모듈 포함.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트