ローグウェーブソフトウェアのブログ

開発をシンプルに 安全で高品質のコードを 素早くお客様のもとへ

JMSL 7.2 リリース - Java用数値計算・統計ライブラリ

ローグウェーブソフトウェアはの2015年10月16日、 Java数値計算・統計ライブラリ JMSL7.2をリリースしました。

JMSLは、100% Java の環境で利用できる数学、統計、金融、データマイニングおよびチャートのクラスが一つに集約された包括的な数値解析ライブラリです。

日本語版ドキュメント英語版ドキュメントリリースノートなどが公開されています。

JMSL7.2での主な変更点

バージョン7.2リリースのハイライト

バージョン7.2では、確率的勾配ブースティングが導入されました。 確率勾配ブースティングは、マシン学習で最も強力なアルゴリズムのひとつで、連続変数や予測変数を使った分類問題や回帰問題で用いられています。勾配ブースティングはアンサンブル法の一例で、予測を行う為にベースとなる学習法(通常は決定木)のコミッティを用います。勾配ブースティングは、独立木を使用する代わりに一連の回帰木を生成し、繰り返し重みを再設定する事により予測誤差を最小にして予測精度を向上させます。加えて、統計的なステップ内で繰り返し毎にランダムなサブサンプルを行うことで、より正確性を高め、オーバーフィッティングを防止することにつながります。

JMSLの確率的勾配ブースティングはGradientBoostingというJavaクラスです。そのコンストラクタメソッドの詳細はローグウェーブのホームページにアップしてあるリファレンスマニュアルで確認できます。具体的な使い方も例題(Example)として載っています。例えばマニュアルにあるExample1は、6つの変数からなるデータセットを使って回帰予測計算を行います。使い方はとても簡単、コンストラクタにデータセットと変数の型情報をセットし②乱数や収束に関するパラメータ設定し③fitmodelメソッドでトレーニングを実施し④predictメソッドで予測計算を実行するだけです。学習で使用する乱数やパラメータを変えてみると面白い結果が得られるかもしれません。ご興味のある方は是非お試しください。

【Example 1 より抜粋】         :             :                    GradientBoosting gb = new GradientBoosting(XY,0,VarType);  // ① //        gb.setShrinkageParameter(0.05);              // ② //        gb.setSampleSizeProportion(0.5);              // ② //       gb.setRandomObject(new Random(123457));         // ② //        gb.fitModel();                       // ③ //        double[] fittedValues = gb.predict();            // ④ //         :             :             

最近のリリース

JMSLの最近のリリースでは、ビッグデータの解析や機械学習データマイニングや予測で用いられるアルゴリズムを強化してきました。

  • オフライン、ストリーミング、分散分析の用途の全てのデータ解析ステージをサポートするアルゴリズム
  • コンピュータリソースを最大限に活用する並列化アルゴリズム
  • 予測モデルのための新しい抽象クラスは、トレーニングや予測、モデルの検証、ブートストラップ集計、クロス検証等の予測モデルのための共通の属性とメソッドを提供します。新しいクラスCrossValidation と BootstrapAggregation はそのパフォーマンスを最大限に活用するために並列化されています。
データマイニング機能と強化された既存クラス
  • ALACART, C4.5, CHAID, QUEST メソッドなどの決定木
  • アソシエーションルール発見(Association Rule Discovery )のためのApriori
  • コホネン自己組織化マップ
  • NormalTwoSample の中でストリーミング機能が可能になり、線形回帰、カルマンフィルター、標準統計、カイ二乗検定、判断分析等のクラスがストリーミング機能
  • adoop を使ったJMSLクラスの例題
  • Wilcoxon ランク総和

パフォーマンスの強化

JMSLはパフォーマンスの強化にも注力しています。

最適化 - 以下のソルバ―を並列化
  • 高速かつ効果的な疎行列用線形計画法ソルバー(Sparse LP solver) を用いることで、複素数線形計画法問題を少ないコンピュータリソースで解くことができます。データ構造の優位性を使ったアルゴリズムにより、少ないメモリでより大きな最適化問題に取り組む事ができ、場合によっては数時間掛かっていた問題を数十秒で解く事ができます。
  • 逐次等式2次計画法を使った一般非線形プログラミングのソルバー
  • 線形均等/非均等拘束を対象とした一般目的関数のソルバー
  • ニュートン法を用いた n 変数の f(x) 関数のためのソルバー
  • 非線形最小二乗ソルバー
  • ヤコビアンを返す境界条件付き最小二乗ソルバー
データマイニング - 以下のメソッドを使った並列化
  • CrossValidation 及び BootstrapAggregation クラス
  • Kohonen の自己組織化マップトレーナ
  • 自己相関
  • クラスタ K 近傍法分類
  • 相補非芯F累積分布関数

お問い合わせ / トライアル(評価版)リクエスト

試してみたい方、より詳細な情報を知りたい方はぜひお気軽にお問い合わせください。

by MS