astroautomata/PySR

Symbolic Learning in Python and Julia

何を解決するか

PySRは、データセットに適合する解釈可能な解析式を見つける問題を解決します。標準的な機械学習モデルが「ブラックボックス」として機能するのに対し、PySRは記号回帰を実行して、与えられた目的関数を最適化する実際の数学的表現を発見し、変数間の関係を明確にします。

動作方法

PySRは、Juliaで書かれた高性能な検索エンジン(SymbolicRegression.jl)へのPythonインターフェースを提供します。数百数千の突然変異と式評価を並列処理することで、最適な記号式を探索します。また、「記号的蒸留(Symbolic Distillation)」にも使用でき、複雑なニューラルネットワークを単純な解析式に変換し、ディープラーニングモデルの解釈を支援します。

対象ユーザー

解釈可能な人間が読める数学モデルが必要な研究者やデータサイエンティスト向けです。特に低次元のデータセットを扱う場合や、ニューラルネットワークの解釈を図る場合に適しています。

特徴

  • scikit-learn互換: 熟知された .fit() と .predict() API を使用。
  • 高パフォーマンス: 記号探索の重い処理はJuliaで実行。
  • 微分可能な出力: 学習された式をJAXやPyTorch形式にエクスポート可能。
  • 高度にカスタマイズ可能: カスタムの二項演算子、単項演算子、損失関数、複雑さの制約を定義可能。
  • 統合機能: PySRをエージェントループ内で使用するためのスキルを内蔵。

関連

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