ビックデータ分析に対応できる機械学習ライブラリ Apache Mahoutとは?
今回は、Apache Mahoutという機械学習ライブラリのご紹介をしたいと思います。
機械学習としてはクラスタリングとか、レコメンデーション、分類などをするライブラリになります。
簡単に導入が可能で、Hadoopなどの分散環境下にて実行できることが出来ます。
■ なぜ、mahout?
機械学習というのは、計算に基づいて結果を出していくのですが、その対象となるデータ量が多ければ多いほど、確度の高い結果を出してくれます。
しかし、データ量が多ければ多いほど、指数的に計算量が増加してしまいます。
近年では、このような大量データ処理のニーズは高まっています。
特に大量のデータを扱うアドテクノロジーなどのDSP・RTBなどの仕組みを支えるため、
大量データ処理をこなさなけれななりません。
そこで、「Apache Hadoop」という技術が注目されてきました。
Hadoopとは、大量のデータを手軽に複数のマシンに分散して処理できるオープンソースのプラットフォームです。
Hadoop上では、MapReduceというHadoopで処理を記述するプログラミングモデルにてプログラムを実装していくことになります。
しかし、MapReduceでの実装は、機械学習のアルゴリズムを実装しようとすると、中々大変で開発現場でのリソースを大きく取ってしまいます。
そこで、Hadoopなどの分散環境で動作する機械学習のライブラリとして開発されたのがmahoutです。
引用元: https://www.gmo.jp/report/single/?art_id=40
■ mahout で使える機械学習アルゴリズム
以下に、Hadoopなどの分散環境下にて利用できるアルゴリズムを挙げます。
Collaborative Filtering with CLI drivers (協調フィルタリングに関連するアルゴリズム)
User-Based Collaborative Filtering
Item-Based Collaborative Filtering
Matrix Factorization with ALS
Matrix Factorization with ALS on Implicit Feedback
Weighted Matrix Factorization, SVD++
Classification with CLI drivers (分類問題に関連するアルゴリズム)
Logistic Regression – trained via SGD
Naive Bayes / Complementary Naive Bayes
Hidden Markov Models deprecated
Clustering with CLI drivers (クラスタリングに関連するアルゴリズム)
Canopy Clustering
k-Means Clustering
Fuzzy k-Means
Streaming k-Means
Spectral Clustering
Dimensionality Reduction note: most scala-based dimensionality reduction algorithms are available through the Mahout Math-Scala Core Library for all engines (構造抽出,汎化能力の向上に関するアルゴリズム)
Singular Value Decomposition
Lanczos Algorithm
Stochastic SVD
PCA (via Stochastic SVD)
QR Decomposition
このように、基本的な機械学習のアルゴリズムは用意されているので、大体の機械学習を必要とする要求には対応できると思います。
しかし、アルゴリズによっては、Hadoop上では、非推奨であったり、MapReduceでは動作しない場合があり、以下の
https://mahout.apache.org/users/basics/algorithms.html
での対応表を確認して、Sparkなどの他の分散環境下にて対応する必要がありますので、ご注意下さい。
■まとめ
今回はApache Mahoutという機械学習ライブラリのご紹介をしました。
やはり実際に大量のデータを分散環境下で分析してみて、処理速度を体感するのが一番だと思いますので、Mahoutを動かしてみて、とにかくデータを分析してみましょう!
次回は、実際のMahoutを利用しての大量のデータ分析の事例をご紹介したいと思います。
-
お問い合わせ
SiTest の導入検討や
他社ツールとの違い・比較について
弊社のプロフェッショナルが
喜んでサポートいたします。 -
コンサルティング
ヒートマップの活用、ABテストの実施や
フォームの改善でお困りの方は、
弊社のプロフェッショナルが
コンサルティングいたします。
今すぐお気軽にご相談ください。
今すぐお気軽に
ご相談ください。
(平日 10:00~19:00)
今すぐお気軽に
ご相談ください。
0120-315-465
(平日 10:00~19:00)
グラッドキューブは
「ISMS認証」を取得しています。
認証範囲:
インターネットマーケティング支援事業、インターネットASPサービスの提供、コンテンツメディア事業
「ISMS認証」とは、財団法人・日本情報処理開発協会が定めた企業の情報情報セキュリティマネジメントシステムの評価制度です。