読者です 読者をやめる 読者になる 読者になる

よしだのブログ

サブタイトルはありません。

機械学習ライブラリのアルゴリズム一覧 - 勉強メモ - 機械学習

IT、プログラミング 機械学習、ビッグデータ

Apache Mahout

https://mahout.apache.org/

- Hadoop MapReduce で稼働するライブラリ - 次バージョンからは Spark で、とのこと。 - バージョンは 0.9

アルゴリズム

https://mahout.apache.org/users/basics/algorithms.html

  • レコメンデーション

    • 協調フィルタリング(ユーザーベース、アイテムベース)
    • Matrix Factorization with Alternating Least Squares
    • Matrix Factorization with Alternating Least Squares on Implicit Feedback
    • Weighted Matrix Factorization, SVD++, Parallel SGD
  • クラスタリング

    • Canopy クラスタリング
    • k-Means
    • Fuzzy k-Means
    • Streaming k-Means
    • Spectral Clustering
  • 分類

    • ロジスティクス回帰 - trained via SGD
    • ナイーブベイズ / Complementary Naive Bayes
    • Random Forest
    • 隠れマルコフモデル
    • 多層パーセプトロン
  • 次元削減

    • singular value decomposition (SVD)
    • principal component analysis (PCA)
    • Stochastic SVD
    • Principal Component Analysis (via Stochastic SVD)
  • 学習

    • SGD など?
  • トピックモデル

    • Latent Dirichlet Allocation

Apache MLLib

https://spark.apache.org/mllib/

  • Apache Spark ネイティブで稼働する機械学習ライブラリ。
  • バージョンは、0.9

アルゴリズム

https://spark.apache.org/docs/latest/mllib-guide.html

  • 協調フィルタリング

    • alternating least squares (ALS)
  • クラスタリング

    • K-Means
  • 分類

    • SVM
    • 線形回帰 (linear least squares, Lasso, and ridge regression)
    • ロジスティック回帰
    • デシジョンツリー
    • ナイーブベイズ
  • 次元削減

    • singular value decomposition (SVD)
    • principal component analysis (PCA)
  • 学習

    • 確率的勾配降下法(Stochastic Gradient Descent)
    • limited-memory BFGS (L-BFGS)

SKYTREE SERVER

http://www.skytree.net/products-services/skytree-server/

  • Hadoop で稼働する、機械学習ソフトウェア。
  • バックエンドなど詳細は未確認。
  • 有償。
  • かなり速いらしい。
  • PowerPack Plus というプラグインを購入すると、利用できるアルゴリズムが増える。

アルゴリズム

http://www.skytree.net/products-services/skytree-server/

※ 全てリストアップされているわけではなさそうです。

  • 協調フィルタリング
  • クラスタリング
    • K-Means
  • 分類

    • 近傍探索 (Nearest Neighbor)
    • SVM
    • 線形回帰
    • Random Decision Forest
  • 次元削減

    • principal component analysis (PCA)
  • 学習

  • その他、分類不明

    • Two-Point Correlation
    • カーネル密度推定 Kernal Density Estimation (KDE)
    • Gradient Boosted Trees

Jubatus

http://jubat.us/ja/

- 「ユバタス」 - 国産。 - Hadoop 関係ない感じ。

アルゴリズム

http://jubat.us/ja/overview/machine_learning.html

※ ホームページに具体的なアルゴリズムの名称を書いていなかった。どうやら、詳細なアルゴリズムを隠ぺいし、パラメータの一部を自動的に計算・設定するなどをして、機械学習のハードルを下げることを目指している模様。

  • 多値分類
  • 線形回帰
  • クラスタリング
  • クラスター分析
  • 統計分析
  • 近傍探索
  • 推薦
  • グラフマイニング
  • 異常検知

まとめ

頻出アルゴリズム

  • 線形回帰
  • ロジスティック回帰
  • ナイーブベイズ
  • 協調フィルタリング
  • K-Means
  • 近傍探索

感想

  • 多すぎ。
  • 現状、全てを抑えているライブラリは無いので、どのアルゴリズムを使いたいかによって選ぶ必要がある?
  • デファクトはやはり Mahout。Spark 対応が楽しみ。
  • 対応しているアルゴリズムがあれば、MLLib でも良さそうだが、ベクトライザーなどの便利ツールがあるかが不明。
  • Jubatus もハードルが低そうで興味あるが、バージョンが浅いのと、大容量でのパフォーマンスが気になる。

Mahoutイン・アクション

Mahoutイン・アクション

  • 作者: Sean Owen,Robin Anil,Ted Dunning,Ellen Friedman,伊東直子,真鍋加奈子,堀内孝彦,都元ダイスケ
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2012/10/26
  • メディア: 大型本
  • 購入: 3人 クリック: 26回
  • この商品を含むブログ (10件) を見る

フリーソフトでつくる音声認識システム - パターン認識・機械学習の初歩から対話システムまで

フリーソフトでつくる音声認識システム - パターン認識・機械学習の初歩から対話システムまで

わかりやすいパターン認識

わかりやすいパターン認識