[クラウド分解辞典−Microsoft Azureの実像に迫る]

機械学習のためのAzure Machine Learning【第9回】

2017年2月27日(月)萩原 正義

米Microsoftのクラウドサービス「Microsoft Azure」(以下、Azure)。前回はPaaS(Platform as a Service)として提供されるAzure SQLデータベースと、IaaS(Infrastructure as a Service)上にSQLデータベースサーバーを構築する場合とを比較しながら、その特徴などを説明した。今回は、様々なビジネスに採り入れ始めた機械学習のためのサービスである「Azure Machine Learning」について説明する。

 機械学習は、クレジットカードの不正利用の検出や商品の販売予測、オンラインショッピングでのリコメンド機能など、実ビジネスへの利用が進んでいる。この機械学習のためのAzureのサービスが「Azure Machine Learning」である。同サービスを使うことで、上記のような仕組みを実現できる。

 機械学習といえば、難しいアルゴリズムを作成してデータを分析しなければならならないと身構える人が少なくないだろう。Azureでは、データサイエンティストなどの専門家が高度なアルゴリズムをプログラミングし独自のデータ分析を実行することもできるが、データ分析の専門知識を持たなくても、Azure上で公開されている予測モデルを組み合わせながら目的の予測モデルを開発できる。

 Azure Machine Learningを利用するための代表的なツールが「Azure Machine Learning Studio」である(図1)。このMachine Learning Studio上で、入力データ(訓練データやテストデータのデータセット)の読み取りから、データ変換、予測モデルの訓練、予測モデルの精度の確認、予測モデルのWebサービスとしての公開といった操作が可能だ。公開されている予測モデルのモジュールも“ドラッグ&ドロップ”で使用できる。

図1:Azure Machine Learning Studioの画面イメージ図1:Azure Machine Learning Studioの画面イメージ
拡大画像表示

Azureにおける機械学習の開発・利用手順

 機械学習の利用における基本的な作業の流れは、(1)機械学習に使うデータの収集、(2)機械学習のアルゴリズムを利用した予測モデルの作成、(3)予測モデルを利用した予測の実行、からなる(図2)。これに沿って、Azure Machine Learningの利用手順を見ていこう。

図2:Azure Machine Learningの利用手順図2:Azure Machine Learningの利用手順
拡大画像表示

(1)機械学習に使うデータの収集

 現在の機械学習ではデータセットを一旦格納し、予測モデルをバッチ処理で作成するのが主流なため、データの保存が必要になる。非構造化データと構造化データの違いなどによって、「Azure Blob/Table Storage」や「HDInsight(Hadoop)」「Azure SQL Database」、その他のデータベースに、それぞれ格納する。

 IoT(Internet of Things:モノのインターネット)などのデバイスのログを使用する場合は、Azure Blobに格納する。Azure Blobはログなどの非構造化データの保存に向いている。業務に使う表形式のデータ、例えば部品表や顧客データは、構造化データのためのAzure SQL Databaseに保存する。データ分析の分散並列ミドルウェアであるHadoopを使った大規模なデータ分析を実施する場合は、HadoopのPaaS機能(Platform as a Service)を提供するHDInsightに保存する。HDInsightは非構造化データも構造化データも保存できる。

(2)機械学習のアルゴリズムを利用した予測モデルの作成

 入力データを読み取り、将来の結果を予測する予測モデルを作成する。Machine Learning Studioで予測モデルを作成するための作業順序を定義する。アルゴリズムを選択し、入力データにより予測モデルを訓練し、最も精度が高い予測モデルになるように調整する。

バックナンバー
クラウド分解辞典−Microsoft Azureの実像に迫る一覧へ
関連記事

機械学習のためのAzure Machine Learning【第9回】米Microsoftのクラウドサービス「Microsoft Azure」(以下、Azure)。前回はPaaS(Platform as a Service)として提供されるAzure SQLデータベースと、IaaS(Infrastructure as a Service)上にSQLデータベースサーバーを構築する場合とを比較しながら、その特徴などを説明した。今回は、様々なビジネスに採り入れ始めた機械学習のためのサービスである「Azure Machine Learning」について説明する。

PAGE TOP