9

ベイズ ネットを作成し、Scala (またはより良い解決策がない場合は Java) で学習と推論を実行するためのライブラリを探しています。ライブラリは積極的に維持され、パフォーマンスが高く、できれば簡単で、使用法が本当に単純でない限り、十分に文書化されている必要があります。無料、オープンソース、および商用の代替手段は問題ありませんが、商用ソリューションの場合は無料試用版が必要です.

理想的なソリューションは、.NET の世界では Microsoft Research による Infer.NET と同等ですが、より詳細に文書化されています。

前もって感謝します!

4

5 に答える 5

9

FACTORIEは若いプロジェクトですが、条件に適合し、Scala で実装されています。

FACTORIE は、展開可能な確率モデリングのためのツールキットであり、Scala のソフトウェア ライブラリとして実装されています。関係因子グラフを作成し、パラメーターを推定し、推論を実行するための簡潔な言語をユーザーに提供します。

UMass のAndrew McCallumと彼の研究室によって開発されました。また、非常に便利なMALLET 機械学習ツールキットも担当しています。

于 2012-02-02T13:34:20.650 に答える
4

SMILEを調べてみてはいかがでしょうか。これは無料で、Java API を備えています。Java の他の無料オプションは、UnBBayes と SamIam です。

  • 笑顔

    SMILE (Structural Modeling, Inference, and Learning Engine) は、ベイジアン ネットワークやインフルエンス ダイアグラムなどのグラフィカルな意思決定理論手法を実装する C++ クラスの完全に移植可能なライブラリであり、インテリジェント システムに直接組み込むことができます。

  • アンベイズ

    UnBBayes は、Java で書かれた確率的ネットワーク フレームワークです。推論、サンプリング、学習、評価を備えた GUI と API の両方を備えています。BN、ID、MSBN、OOBN、HBN、MEBN/PR-OWL、PRM、構造、パラメータ、増分学習をサポートしています。

  • サムアイム

    Samiam には、グラフィカル ユーザー インターフェイスと推論エンジンという 2 つの主要コンポーネントが含まれています。グラフィカル インターフェイスにより、ユーザーはベイジアン ネットワーク モデルを開発し、さまざまな形式で保存できます。推論エンジンは、次のような多くのタスクをサポートしています。パラメータ推定; 時空間のトレードオフ。感度分析; MAPとMPEに基づく説明生成。

純粋な Scala と無料のオプションは、FACTORIE (前述) と Figaro です。しかし、フィガロには現在、学習の部分が欠けています。

  • Figaro - 確率モデリング

    Figaro モデルは、Java と相互運用可能な Scala プログラミング言語のデータ構造であり、任意の Scala または Java プログラム内で直接構築、操作、および使用できます。

于 2012-07-06T18:26:11.527 に答える
1

この質問への回答として、Infer.NETに代わるいくつかのJavaが提示されました。つまり、基本的には、Javaまたは完全にScalaベースのソリューションに関するその質問(2010年の後半に尋ねられた)のフォローアップについて質問していると思います。

于 2012-02-07T14:21:58.487 に答える
1

おそらくバンジョーはその法案に合っていますか?どれだけ積極的に開発されているかはわかりませんが、少なくとも数年前から存在していることは知っています(自分で使用したことはありません)。

Banjo: Java オブジェクトを使用したベイジアン ネットワーク推論

于 2012-02-02T16:13:37.640 に答える
1

現在、Scala lib があります。

https://github.com/danielkorzekwa/bayes-scala

于 2015-01-03T22:02:05.147 に答える