Azure Machine Learningのハンズオンセミナーに参加してきた

大手町にあるMS社のInnovation Centerで行われているセミナーに参加してきました。

講師である衣川さんの説明はいつもとても丁寧で、かつデモとハンズオンが豊富でとてもわかりやすいです。特に最新技術を学ぶ時にはハンズオン加わると理解がとても早いので良く通わせていただいてます。とても品質の高いセミナーが無償で受けられるのでとてもオススメです。


そのInnovation Centerで開催されているセミナーに、以前から触ってみたいと思っていたAzure Machine Learningを扱ったセミナーをやると告知がでたので、すぐに申し込みました。
受付中のセミナー | スキルアップ カリキュラム - マイクロソフト イノベーション センター
 


セミナーの正式な名称は「クラウドを活用した機械学習の実践 ~ 静的なデータの活用から動的なデータの動的活用へ ~」です。


IoTのシナリオをベースにしたセミナーで、大量のセンサーからひっきりなしにに飛んでくる動的なデータをどうやって扱うのか。そんな課題に答えるAzureのサービスのセミナーでした。アジェンダは以下のようになってました。

IoTを進めるポイントとその事例
Azure Event Hubs
Azure Data Factory
Azure Stream Analytics
Azure Machine Learning



Azure Event Hubs以外は全てPreviewのサービスになります。それをデモやハンズオンで体験できたので、とても勉強になりました。(深夜まで頑張ってでも溜まってた仕事終わらせて参加した甲斐がありました)

 

Azure Event Hubs

ServiceBusの中の一機能で、センサーからのデータの入り口、AMQPやHTTP(S)でデバイスからのデータを受けとる。数百万件レベルのイベントを受けることが可能なキャパシティ、高いスケーラビリティ、ハイパフォーマンス。受けとったデータをStorage ServiceやHDInsightなど各種サービスに流せる。
Event Hubs




 
 

Azure Data Factory

分散された複数のデータソースのデータを、変換をかけたり、Hadoop機械学習通したり、パイプラインで要素間でデータを受け渡したりしながらオーケストレーションする。現時点ではPreview版で2015年上半期にGA予定。
Data Factory | 信頼できる情報にデータを変換する
https://acomdpsstorage.blob.core.windows.net/dpsmedia-prod/azure.microsoft.com/ja-jp/documentation/articles/data-factory-tutorial/20141216115353/endtoendworkflow.png


 

Azure Stream Analytics

センサーなどのリアルタイムで動的に送られてくるデータをSQL DSLクエリに通して、フィルター、集計などの操作をし、アウトプットしていく。アウトプット先はAzure DBやBlobや、他のEvent Hubsに流したりも可能。
Stream Analytics | リアルタイム イベント処理

 


Azure Machine Learning

ここまで機能に対する理解としては、DBなどに格納されているような従来の静的なデータだけでなく、IoTで増えてくるセンサーで取得したデータなど動的なデータを扱う仕組みができているということと理解しました。

そして静的、動的含めたデータを分析していく仕組みとしてのMachine Learningに続きます。
Machine Learning


このセミナーのメインの項目です。ハンズオンもありました。現時点では同じ内容のセミナーは予定されていないようですが、きっとまた開催されるので、理解するにはそれに参加するのが本当は一番です。


時間が無い方は、こちらのMSC2014の時のジニアス平井さんの動画がオススメです。私はこのデモを見てやっとAzure Machine Learningのイメージがつきました。もしInnovation Centerのセミナーに参加されるとしても事前に見ておくと理解が深まるかと思います。

 
 
この動画のデモ見たら、実際に触ってみたくなる方も多いかと思います。Azure Machine Learningの中にもデモデータが沢山存在しているので、少し試してみるにも困らなそうです。

セミナー内のハンズオンでは、カリフォルニア大学で提供されているデモデータであるGerman Credit Dataを利用して、複数の条件からの信用リスクを測り融資可能かどうかを判定するという仕組みを作りました。

実際にこんな感じでモデルを作っていきます。全てWEBブラウザのML Studioというサイトから操作できてしまいます。そしてWEBブラウザなのにネイティブアプリかと思うほど操作性が良いです。

 
作ったものをWebサービスとして公開して、PC側のソフトから年齢、扶養家族、勤続年数、借入額などの条件入力してWebサービス経由でAzureとやりとりして信用リスクの判定を出すところまでやりました。

 
もちろん統計学に基づいた一つ一つのロジックは知らないことが多いのですが、それでもまがいなりにも統計学を使った分析ができるというのは面白いです。実際にハンズオンで使ったアプリを利用して条件を動かしてみると、人間が判断しているように信用リスクの判断がされていきます。例えば、就業年数が短いとリスク高くなるとかです。

 
もしデータサイエンティストのようなスキルのある方が使うとしても、素人目にも構築が楽になるだろうサービスでした。今回作った仕組みももし、自分でコーディングしたりアーキテクチャ組んでいったらと思うと、かなりのスキルと労力が必要になるのはわかります。それがサービス側はほぼ完全にノンコーディングで対応できてしまうのは凄い。
 


面白いです。色々と可能性が広がるソリューションだと感じました。