ntucllab/libact
Pool-based active learning in Python
何を解決するか
libact は、プールベースのアクティブラーニングの実装を簡素化する Python パッケージです。未ラベルデータのプールから、モデルが最も情報量の多いサンプルを知的に選択することで、ラベル付きデータの量を削減します。
動作方法
このライブラリは、クエリ戦略、モデル、ラベラーの統一インターフェースを提供します。いくつかの代表的なアクティブラーニング戦略を、アプローチ別に分類して実装しています:
- 活用/不確実性: モデルの信頼度が最も低いサンプルを選択(例:
UncertaintySampling)。 - 多様性/代表性: ラベル付きデータセットから最も離れている、またはデータ分布を代表するサンプルを選択(例:
CoreSet、InformationDensity)。 - 不一致: 複数のモデルのコンセンサス(委員会)を使って、最も意見が分かれるサンプルを特定(例:
QueryByCommittee、BALD)。 - メタアルゴリズム:
ActiveLearningByLearning(ALBL)アルゴリズムは、マルチアームドバンディットとして機能し、リアルタイムで最適なクエリ戦略を自動選択します。
対象ユーザー
ラベル付けコストを最適化し、少ないラベルでモデル性能を向上させたいデータサイエンティストや ML プラクティショナー。
特徴
- 多様な戦略ライブラリ: 不確実性、多様性、エピステミック不確実性(BALD)を含む幅広い戦略を提供。
- メタラーニング: 自動戦略選択を実現する ALBL メタアルゴリズムを搭載。
- 拡張可能なインターフェース: 統一インターフェースとアダプター(例:
SklearnAdapter)を提供し、任意の scikit-learn 推定器をラップ可能。 - C拡張: 分散低減や HintSVM に最適化された高性能モジュールを含む。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト