こんにちは!HALです。
今回は、前回の『Kinesisで実現するlot』でご案内したリアルタイムにデータを処理する技術のCEPを実現するためのツールをご紹介したいと思います。
CEPにおいて、一般的に言われている課題点として、「複数の分析を行う場合に処理が複雑になりメンテナンスに負荷がかかる」といわれておりました。
そうした課題を解決できるのが、データに潜むパターンや規則性などを見つけ、それを予測に生かすことができる「機械学習」の技術です。
この機会学習を実現できるソフトの一つに「Jubatus」というオープンソースがあります。
機械学習とは?
機械学習(Machine Learning)とは、人工知能の研究分野の一つで、人間が事例から学ぶのと似たようなデータからの学習をコンピュータで実現しようとする技術・手法のことです。
センサデータ等を入力して目的別の解析を行い、有用な規則、ルール、知識表現、判断基準を抽出し、機械学習モデルを構築します。
データ集合の性質を扱うので統計学との関連が深いようです。
機械学習関連技術はECサイトの商品レコメンド、検索エンジン、医療診断、スパムメール検出、金融市場の予測、DNA配列の分類、音声認識や文字認識などのパターン認識、ゲーム戦略、ロボット制御など幅広い分野で用いられています。
Jubatusとは?
NTTソフトウェアイノベーションセンタと株式会社Preferred Infrastructureが共同開発しオープンソースソフトウェアとして公開しているビッグデータ向けのリアルタイム分散機械学習基盤です。
Hadoop等がバッチ処理型のビッグデータ処理を主体とするのに対し、リアルタイムかつ分散実行可能な機械学習アルゴリズムを備えているのが特徴になります。
Jubatusでできる分析方法
分類・回帰・レコメンド・統計・異常検知・クラスタリング等の機会学習アルゴリズムを実装できます。
・分類/回帰
正解データを学習して入力値に対して出力値を推定
例)スパムメールか普通のメールかの推測
Tweetの内容から、性別や、職業、年代を推測 等
・レコメンド(推薦)
データから特徴を抽出した上で膨大のデーターから似たデータを高速に求める
・異常値検出
膨大なデータの中から他と似ていない異常なデータを検出
いかがでしたでしょうか。
今回は概要のみでしたが、別の機会もこのJubatusについて、もっと掘り下げてご紹介したいと思います!
次回もお楽しみに!!