ntucllab/libact

Pool-based active learning in Python

解決的問題

libact 是一個簡化池化主動學習實作的 Python 套件。它透過從大量未標記資料中智能選擇最具資訊量的樣本進行標記,幫助使用者減少模型訓練所需的標記資料量。

工作原理

該套件為實作查詢策略、模型與標記器提供統一介面。它實作了多種流行的主動學習策略,依其方法分類如下:

  • 利用/不確定性: 選擇模型最不確定的樣本(例如 UncertaintySampling)。
  • 多樣性/代表性: 選擇與已標記集距離最遠或能代表資料分佈的樣本(例如 CoreSetInformationDensity)。
  • 分歧: 使用一組模型(委員會)來尋找模型間分歧最大的樣本(例如 QueryByCommitteeBALD)。
  • 元算法: ActiveLearningByLearning(ALBL)算法作為多臂老虎机,可即時自動選擇最佳查詢策略。

適用對象

希望將主動學習整合至專案中,以優化標記成本並用更少的標記資料提升模型效能的資料科學家與機器學習實務者。

主要亮點

  • 豐富的策略庫: 包含不確定性、多樣性以及認知不確定性(BALD)等多種策略。
  • 元學習: 內建 ALBL 元算法,實現自動策略選擇。
  • 可擴展介面: 提供統一介面與適配器(如 SklearnAdapter),可封裝任意 scikit-learn 評估器。
  • C 擴展: 包含用於變異數降低與 HintSVM 的高效能模組。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案