ntucllab/libact

Pool-based active learning in Python

何を解決するか

libact は、プールベースのアクティブラーニングの実装を簡素化する Python パッケージです。未ラベルデータのプールから、モデルが最も情報量の多いサンプルを知的に選択することで、ラベル付きデータの量を削減します。

動作方法

このライブラリは、クエリ戦略、モデル、ラベラーの統一インターフェースを提供します。いくつかの代表的なアクティブラーニング戦略を、アプローチ別に分類して実装しています:

  • 活用/不確実性: モデルの信頼度が最も低いサンプルを選択(例:UncertaintySampling)。
  • 多様性/代表性: ラベル付きデータセットから最も離れている、またはデータ分布を代表するサンプルを選択(例:CoreSetInformationDensity)。
  • 不一致: 複数のモデルのコンセンサス(委員会)を使って、最も意見が分かれるサンプルを特定(例:QueryByCommitteeBALD)。
  • メタアルゴリズム: ActiveLearningByLearning(ALBL)アルゴリズムは、マルチアームドバンディットとして機能し、リアルタイムで最適なクエリ戦略を自動選択します。

対象ユーザー

ラベル付けコストを最適化し、少ないラベルでモデル性能を向上させたいデータサイエンティストや ML プラクティショナー。

特徴

  • 多様な戦略ライブラリ: 不確実性、多様性、エピステミック不確実性(BALD)を含む幅広い戦略を提供。
  • メタラーニング: 自動戦略選択を実現する ALBL メタアルゴリズムを搭載。
  • 拡張可能なインターフェース: 統一インターフェースとアダプター(例:SklearnAdapter)を提供し、任意の scikit-learn 推定器をラップ可能。
  • C拡張: 分散低減や HintSVM に最適化された高性能モジュールを含む。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト