PythonOT/POT
POT : Python Optimal Transport
解決する課題
このライブラリは、最適輸送 (OT) 問題を解決するための包括的なソルバー群を提供します。OT は確率分布間の距離を測定するための数学的フレームワークであり、ドメイン適応、データセットの比較、生成モデルの学習といった機械学習タスクにおいて非常に有用です。
仕組み
正確な線形計画法ソルバー(Earth Mover's Distance など)から、より高速な正則化近似(Sinkhorn アルゴリズムなど)まで、幅広いアルゴリズムを実装しています。このライブラリはハードウェアに依存しない設計となっており、NumPy、PyTorch、JAX、TensorFlow、CuPy とシームレスに統合されるバックエンドを提供し、CPU と GPU の両方で計算を実行可能です。
対象ユーザー
信号処理、コンピュータビジョン、またはディープラーニングに取り組む研究者や機械学習エンジニアを対象としており、Wasserstein 距離や OT ベースの損失関数をモデルに組み込む必要がある場合に最適です。
特徴
- 豊富な OT ソルバー:Gromov-Wasserstein、Fused Gromov-Wasserstein、非平衡 OT、部分 OT などを含みます。
- マルチバックエンドサポート:PyTorch、JAX、TensorFlow、NumPy 配列とネイティブに連携します。
- ML 対応:ドメイン適応、Wasserstein 重心、グラフニューラルネットワーク (GNN) レイヤー用の事前構築済みモジュールを提供します。
- パフォーマンス最適化:大規模データセット向けの安定化された Sinkhorn 実装や確率的ソルバーが含まれています。
関連
- プロジェクト
ott-jax/ott大規模な最適輸送問題を解くためのJAX駆動のライブラリで、離散ソルバーとニューラルネットワークアプローチを用いて点群を効率的にマッチングするツールを提供します。
- プロジェクト
hyperopt/hyperopt実数値、離散値、および条件付きの次元を含む複雑な探索空間に対して、逐次および並列のハイパーパラメータ最適化を行うためのPythonライブラリ。
- プロジェクト
lotus-data/lotusLOTUSは、大規模なLLM駆動型データ処理のためのPythonライブラリです。「セマンティック演算子」(LLMベースのmap、filter、reduce、joinなど)と、モデル呼び出しをバッチ処理およびカスケードして精度を向上させつつAPIコストを削減するオプティマイザーを導入しています。このライブラリは、純粋なLLM演算子だけでなく、各データシャード上でツールを使用するエージェント(サンドボックス化されたPython REPLなど)を実行する「エージェント演算子」もサポートしており、コードベース分析、研究の統合、障害モードのマイニング、ドキュメント抽出、LLM-as-a-judge評価、RAGなどの複雑なタスクを可能にします。インストールは `pip install lotus-ai` から行い、`Corpus` の作成、タスクの指定、`agent` またはセマンティック演算子の呼び出しという手順で使用します。スタンフォード大学およびカリフォルニア大学バークレー校の研究者によって支援されており、ReadTheDocsでドキュメントが公開されているほか、コミュニティDiscordやサンプルノートブックも用意されています。
- プロジェクト
sktime/skproscikit-learn互換のインターフェースを備えた、表形式回帰、生存分析、不確実性の定量化を実現するPythonライブラリ。
- プロジェクト
WenjieDu/PyPOTSPyPOTSは、部分的に観測された多変量時系列データを扱うために設計されたPython機械学習ツールボックスであり、補完、予測、分類、クラスタリング、異常検知のための統一されたAPIを提供します。