Taste of Tech Topics

Acroquest Technology株式会社のエンジニアが書く技術ブログ

Elastic{ON} 2017 2日目 |X-pack Machine Learning の内部に迫る! #elasticon

Elastic{ON}2017 レポートのまとめはこちら!!

こんにちは!菅野です。
Elastic{ON}2日目!
最新情報、ユースケースの講演、海外エンジニアとの交流と
脳汁ダバダバな一日でした。

それでは、早速本題のElastic{ON}2日目のレポートです。

参加セッション

私が本日参加したセッションは次の通りです。

  1. Sustainable Harvesting: How a Few Geeks Learned to Elastic Stack Logs
  2. Localizing Kibana for the Global Language Landscape
  3. This Paper Has Been Plagiarized: How Blackboard Curbs Cheating with Elasticsearch
  4. How Warner Bros. is Using Elastic to Solve Entertainment and Media Problems at Scale
  5. Elastic Cloud Inside Out
  6. BoF: Alerting Use Cases
  7. Machine Learning and Statistical Methods for Time Series Analysis
  8. Elastic{ON} Party

その中でもMachine Learning and Statistical Methods for Time Series Analysis
が面白かったので紹介しますね。

Machine Learning and Statistical Methods for Time Series Analysis

f:id:acro-engineer:20170309164301j:plain:w500

概要

PrelertがX-packに追加されたことにより、
Elastic Stackで機械学習、異常検知ができるようになります。

今回のセッションでは、どのように
時系列データでの機械学習を実現するかのコア技術を紹介していました。

面白かったポイント

機械学習の基礎から知る

本セッションでは、機械学習とは、
異常値とは何かといった基礎的な話からスタートしました。

機械学習アルゴリズムの種類は教師あり学習と教師なし学習に分かれます。

教師あり学習

教師あり学習は与えられたデータと正解のペアから、
新しいデータが与えられた際にそのデータのタグを予測します。

例えば、機械学習で犬と猫を判定する問題を解きます。
この場合、2種類のデータを準備します。1つ目は犬の写真とそれが犬であるデータの組み合わせ、
2つ目は猫の写真とそれが猫であるというデータの組み合わせです。

そのデータからデータの特徴を学習し、犬か猫を判定します。

f:id:acro-engineer:20170309164152j:plain:w500

たとえが可愛い😍

教師なし学習

教師なし学習では教師を与えずに学習します。
例えば、クラスタリングがその1つです。データのみが与えられ、それらのデータのグルーピングを行います。

先ほどの犬猫の例だと、犬と猫のデータから、
猫っぽいグループと犬っぽいグループに振り分けるグルーピングをします。

f:id:acro-engineer:20170309164408j:plain:w500

やはりかわいい😍

異常値とは?

教師なし学習でクラスタに分類を行いました。
しかし、グルーピングされたデータの中に、いかにも外れているデータがあることもあります。
これを、異常値と呼びます。

犬、猫で例えると馬の写真は全く異なる特徴がみられますね。

f:id:acro-engineer:20170309164435j:plain:w500

そういった以前までと異なる特徴を持つデータを見つけるのが
異常値検知というものになります。

X-pack Machine Learningでの異常検知

X-pack Machine Learningでは過去のデータの傾向や周期を学習しています。
それら、過去のデータから未来を推定します。
過去のデータと傾向と未来の傾向が同じだと殆ど同じ予測になりますよね!
しかし、過去のデータにない傾向の場合は未来の予測があたらない(=過去にデータがない)ので、これを
異常とみなすアルゴリズムを使っています。

f:id:acro-engineer:20170309164459j:plain:w500

X-pack Machine Learningのデモ

セッションの後半では
X-pack Machine Learningのデモを行っていました。

今回利用したデータは、ニューヨークのタクシー利用データです。
利用者数をキーとして、異常検知を行いました。

Machine Learningのjobを作成し
Elasticsearchのインデックスを選択して、解析対象のキーを選び、jobを実行します。

たったこれだけで、X-pack Machine Learningで異常検知を行えます。
f:id:acro-engineer:20170309164636j:plain:w500

今回のデモでは、普段より利用者が少ない日、多い日を割り出すことができていました。
利用者が多い日はクリスマスの日です。ディナーに出かけたり、プレゼント買ったりで利用者が増えるようです。
また、利用者が少ない日はニューヨークマラソンが行われた日、交通規制等で利用者が減ったみたいですね。

手軽に異常検知が行えるX-pack machine learningはバージョン5.4からのリリースです。
いまから使えるのが楽しみ!!

おまけ

Elastic{ON}Partyにて

博物館を貸切ってのパーティ。こんな感じでもりあがりましたーー

f:id:acro-engineer:20170309160518j:plain:w500

最後に

明日がいよいよ最終日!
次回もHotな情報を提供するのでぜひ見てみてください!

Elastic{ON}2017 レポートのまとめはこちら!!

Acroquest Technologyでは、キャリア採用を行っています。

  • ビッグデータHadoop/Spark、NoSQL)、データ分析(Elasticsearch、Python関連)、Web開発(SpringCloud/SpringBoot、AngularJS)といった最新のOSSを利用する開発プロジェクトに関わりたい。
  • マイクロサービスDevOpsなどの技術を使ったり、データ分析機械学習などのスキルを活かしたい。
  • 社会貢献性の高いプロジェクトや、顧客の価値を創造するようなプロジェクトで、提案からリリースまで携わりたい。
  • 書籍・雑誌等の執筆や、対外的な勉強会の開催・参加を通した技術の発信、社内勉強会での技術情報共有により、エンジニアとして成長したい。

 
少しでも上記に興味を持たれた方は、是非以下のページをご覧ください。

Elasticsearchを仕事で使いこみたいデータ分析エンジニア募集中! - Acroquest Technology株式会社のエンジニア中途・インターンシップ・契約・委託の求人 - Wantedlywww.wantedly.com