ちょっと話題の記事

Developers.IO 2015レポート:B-2『SAP InfiniteInsight:SAPが提供する機械学習エンジン』#cmdevio2015B

2015.04.01

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

cmdevio2015-devday

先日行われました『Developers.IO 2015:Develoer Day』に於きまして、機械学習エンジン『SAP InfiniteInsight』に関するセッションをトラック部屋の管理者として聴講致しました。セッション内容発表当初から個人的に興味があった内容でもあった一方、あまり日本語としての情報も事前に得る事が出来ていなかった(探し方が悪かったのもあるし、自らが発表する直前セッション(B-1)の準備で忙しかったのもある)ので、非常に楽しんで聞くことが出来ました。当エントリはそのレポートとなります。

登壇者はSAPジャパン株式会社 プラットフォーム事業本部 岩渕 聖(いわぶち きよし)氏です。

sap-infinite-insight-999

機械学習で何が出来るのか

まずは、SAP InfiniteInsightが守備範囲としている『機械学習』でどのような事が出来るのか?という点についての紹介から。主に機械学習では、以下の様な事が出来るとされています。

  • 分類(Classification)
  • 発生確率(Prediction)
  • セグメンテーション(Segmentation):クラスタリング等に代表されるもの。どんなクラスタがあるのかを割り出す
  • Social Network Analysis(インフルエンサー分析):因子、コミュニケーションパスを見つけ出す。
  • 連関性分析(Association Rules):『ビールとおむつ』のアレ。
  • 予測値の計算(Forecasting):故障する確率、売上や在庫をどれだけ持っておけば良いか等を算出

sap-infinite-insight-01

そして今回紹介する『SAP InfiniteInsight』はそんなテーマに関連する情報を、データと目的があればポンと出してくれる、そんなツールとなっているようです。

岩渕氏は『データサイエンティストの人が(分析業務やその周辺業務において)どれだけ苦労しているか、その苦労を、自動化する事でどのように解決しているのか。更にはその壁を越えた先に見えてくる世界について、フォーカスを当てて話して行きたいと思います。』とセッションの進め方について冒頭にコメント。

SAP InfiniteInsightの目指す世界

従来のデータ解析では、意思決定のニーズが発生し、データを加工してモデルを調整し、納得の行く(100点に近付けられるような)解析モデルを作り上げるまでに数ヶ月を要する、というスパン感覚とされています。しかしこのスパンだと、マーケティングではビジネスチャンスが逃げてしまい、バリューが無くなってしまい兼ねません。結果として『機械学習、使えないな』という風に捉えられてしまう危険性もあるのです。

でも、例えば88点のモデルが1日で出来るとすれば、どうでしょうか?

SAP InfiniteInsightは、そんな世界を目指しているのだそうです。いかにして85〜88点のモデルを短時間で作るか。しかもそれらをプログラミングレスで如何に作るか。

sap-infinite-insight-02

ビッグデータ化した現在は、その事業も多角化しており、顧客行動データの収集も色々な面で必要となってきています。取れるデータもカードの利用履歴、ECサイトの履歴、ソーシャルデータの情報等など...データサイエンティスト1人でそれらのデータ収集を行うとなると、一体どれだけ手間と時間を掛ければ出来るものなのでしょうか。

ちなみに、こういったものを集約する事でどういう事が出来るようになるのか。やれる事は沢山あります。見えてこなかったものも見えてくるようになります。アクセスパターンを解析する事で人の動きも分かるようになり。直接収益に結び付けられるように。人の属性を把握する事も出来るようになり、人も理解できるようになります。

sap-infinite-insight-03

岩渕氏はここで"ビッグデータの定義"について新たな切り口を提案しました。『POSのデータは件数が積み重なってくると大変大量なデータとなりますが、『ここでは【横】を注視したい。"人"に対してどのようなデータが取れるか。この人は何をどの様にどういうふうに行動を起こしたのか、またどういう情報を持っているのか...人を示す変数を増やすのもビッグデータではないか。』

SAP InfiniteInsightについて

SAP InfiniteInsightの肝となる部分は、買収製品となります(2013年10月にKXENを買収)。機械学習のアルゴリズムを持っているだけでなく、データマイニングのプロセスも自動化、実装しています。

sap-infinite-insight-04

製品の肝となっている『KXEN』は、壁を突破するために1990年代に作られた、世界初の商用機械学習エンジンです(特許も取得済だそう)。世界500社、日本でも50社程が利用をしているそうです。また、世界の3大データマイニングツールがKXENを採用しているというのも特筆すべき点でしょう。

sap-infinite-insight-05

SAP InfiniteInsightの特徴・機能解説等

SAP InfiniteInsightの特徴は『自動化』。加工処理やモデリング作業等、データマイニングに必要なプロセスの設定は殆ど自動で行う事が出来ます。

sap-infinite-insight-102

sap-infinite-insight-301

『SAP InfiniteInsight』では、ビジネス的に必要な変数を作成し、その上でそれらの中から不要なものを省く、という流れでモデルを作成する事が可能です。利用者(ユーザー)視点の『ここは!』というポイントを踏まえた上でのモデルを作成する事がスムーズに行えます。しかもそれらをGUIで作成する事が出来ます。

sap-infinite-insight-302

モデルを作成する上では外れ値や欠損値等を考慮する必要が出て来ますが、SAP InfiniteInsightではその作業も自動化出来ます。処理を自動化しながらベストモデルを作成する事が出来るのです。このツールを使う際には、如何に『機械に任せてしまうかどうか』という点を決断出来るかどうかに掛かっています。

sap-infinite-insight-303

『SAP InfiniteInsight』では、作成モデルを様々なプログラム言語等のコードに出力する事が出来ます。様々なコードに吐き出せるという事は、つまり『システムが変わっても利用する事が出来る』という事です。

sap-infinite-insight-305

SAP InfiniteInsight デモ実演

サンプルデータを用いてのデモ実演もセッション内で行われました。起動時のメニュー画面。

sap-infinite-insight-201Demo-01

データソースは様々なものが選択可能です。デモではCSVを選択。

sap-infinite-insight-201Demo-02

幾つか条件を選択し、実行。5万件のデータを使ったモデル作成が15秒で完了してしまいました。

sap-infinite-insight-201Demo-03

指定した変数に於いて、モデル作成に影響を及ぼす値の範囲も自動で値を振り分け、カテゴリ化して結果を弾き出してくれます。

sap-infinite-insight-201Demo-04

統計レポートも以下の様に様々な指針で詳細に確認する事が出来ます。

sap-infinite-insight-201Demo-05

こちらは前述のコード生成機能の模様。ご覧の様にプログラミングレスで、簡単に設定を行えます。

sap-infinite-insight-304

他にも相関関係が強い変数が共鳴した場合、それらを除去する機能等もある模様。この様に処理も簡素化、自動化されていますので、PoCでも、データが有れば2時間程で終わってしまうのだそうです。

またSAP InfiniteInsightは、『サポートベクターマシン』のアルゴリズムを作ったウラジミール バプニック教授の監修によるものだそうです。

最後に岩渕氏は以下の図を交えながら、SAP InfiniteInsightが目指す・実現する分析の世界について展望を述べました。

sap-infinite-insight-306

発表資料

 

まとめ

以上、SAP InfiniteInsightのセッションに関するレポートでした。当初は名前のみ知る形ではありましたが、今回セッションを聴講してみてその概要と動作風景(デモ)を見る事が出来、更にはイメージを掴む事も出来たと思います。機械学習に掛かる処理の殆どを任せることが出来て、実行も自動でやってくれると言うのは実に魅力的なポイントだと思います!私に限らず弊社メンバー間でも興味津々なメンバーが多数居りましたので、何らかの形で関わる事が出来ると嬉しいですね。SAPジャパン岩渕様、並びにSAPジャパン関係者の皆様ありがとうございました!こちらからは以上です。