カテゴリー別アーカイブ: 概論

Azure Machine Learning #00

はじめに

Azure Machine LearningもGA (一般提供)を向かえ、注目を集めているようです。ここで、Azure Machine Learningとは何か、そして、どう使って行くかをまとめて行きたいと思います。Azure Machine Learningは洗練されたUIを持ち、ユーザインターフェイスとしてなら使用は容易です。しかし、機械学習の基本的なスキルなしに使うことは容易くはありません。この辺は機械学習の側面をかなり遮蔽しBAプラットフォームとしてレポーティングを含めまとめた、IBM Watson Analyticsとは根本的に異なるところです。

逆に言うと、IBM Watson Analyticsは機械学習の仕組みを遮蔽しているために、学習結果の理由を説明するのはかなり困難です。これは、同様に学習のアプローチを見せない、Google Predictive APIも同様です。その意味では説明可能であり、モデルの中身が見えるという面白い立ち位置にあります。これは、優劣というよりも考え方の違いかと思います。当たれば良い、そしてモデルの開発に時間をかけたくないというニーズもあれば、説明可能性が重要なこともあります。ただ、技術の使い分けを考えるときには重要なファクターです。

Azure Machine Learningとは

Azure Machine LearningはMicrosoft Azureの上に構築された機械学習のPaaSプラットフォームです。基本的にはアドホックに学習モデルを作成するためのML StudioとWeb APIとして学習や予測を動かすためのAPI群からなります。使用可能なモデルはMicrosoftが用意したプロプライエタリなモデルとR及びPythonが使用可能です。

ML Studioでのモデリングは有効グラフでビルディングブロックのデータフローを結線していく、SPSS Modelerや各種ETLツールで見かける形式を採用しています。この方式はデータフローが確認しやすくモデリングの仕組みを把握しやすい優れた方法です。PythonやRはビルディングブロックにスクリプトを記載する方法です。これは、R Analytics Flowと同様でスキルセットを活用しやすいと思います。

データは現時点においてはAzureのBLOB StorageもしくはSQL ServerのDBaaSであるSQL Databaseが利用できます。BLOB Storageにアウトプットすることで同じAzureのData Factoryをデータ加工プラットフォームとして活用できます。また、Machine LearningのアウトプットをBLOB Storageにして、ExcelやPower BIといったBIプラットフォームを活用し世間的な言い方ではBAプラットフォームの一部として活用できます。また、Web APIとして展開することで多くのツールからアクセス可能であると思います。

今回、GAを迎え、料金体系もプレビューのときとは一新しています。特徴は無料とStandardの2つに料金体系が分かれたことです。無料の側はWeb APIの利用に制限があり、また、モデリングの連続実行時間に時間制約があることデータサイズに上限があること、またSLAが保障されず、スケジューリングの優先順位が高くないこと、などの制約がありますがデータサイズは10GBとゆるく無料でもかなりのことができます。また、使用可能なモデルにも制約はありません。(2015/02/20 現在)

データ分析ことはじめ

データの分析には一つのベストプラクティスがある。CRISP-DMとされているのがそれで、SPSS、NCR、ダイムラークライスラー、OHRAがメンバーとなっている(当時) コンソーシアムにて開発されたデータマイニングのための方法論を規定したもの。CRISP-DMではデータ分析を以下のフェイズで進めて行く。

  1. ビジネスの理解
  2. データの理解
  3. データの準備
  4. モデリング
  5. 評価
  6. 展開/共有

つまり、まず、ビジネスの理解があり、そしてデータの理解がある。つまり、ビジネスを理解せず何もバックボーンがわからない状態では何も分析できない。さらに、データの形式や仕組みを理解しないとやっぱり分析はできない。そして、データの準備がいる。一般にデータ加工と言われるものもこの中に入る。

分析で花形といえるのはモデリングであろうが、一般にデータはBad Data Handbookという本もあるとおり、綺麗ではないケースが圧倒的に多い、外れ値、欠損値といったものの他に小奇麗にされたExcelファイルも難易度が高い。方眼紙Excelも大変だ。なぜなら、人間が見て美しいと思う帳票と処理しやすい、再利用しやすいデータとは違うから。

モデリングはデータ準備の上に成立する。当然ながら、データがごみならばモデルも必定、ごみとなる。もちろん、よいデータに分析目的に適したモデルを組み合わせれば強力である。そして、ここでもビジネスの理解はものを言う。ビジネスの理解が間違っているとモデリング手法も間違う。

そして、評価、モデルは評価され、妥当性を検証する必要がある。手法やさまざまな要因によってオーバーフィットする場合もあるし、もちろんアンダーフィットしてしまうケースもある。当然ながら、どちらのケースも展開/共有するのは厳しい。

評価の結果、十分妥当で利用価値があるならば、展開/共有へと進むことができる。これはケースによってさまざまだ報告書として各種ビジネスの施策になる場合もあれば、具体的に実装されたアプリケーションとしてデプロイされるケースもある。報告書ならば会議の遡上に登ることになるし、アプリケーションとして実装ならば、そこからアプリケーションの開発が始まる。

当然ながら、これで終わりではない。ビジネスに終わりはないから。