[クラウド分解辞典−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では、データの収集方法やデータ容量、非構造化データか構造化データかなどの違いに合わせて種々のデータサービスの組み合わせを選択できる。

(3)予測モデルを利用した予測の実行

 完成した予測モデルはWebサービスとして公開する。公開方法も柔軟に選択できる。Machine Learning Studioでは、ボタンクリックだけで公開可能だ。公開したWebサービスは、Webサーバ上のHTMLページ、PCやスマートフォンのクライアント(ネイティブ)アプリケーションから呼び出すことで、実際の入力データに対する予測結果を得られるようになる。

予測精度向上を支援するアルゴリズムを標準提供

 機械学習で重要なのは、どのような方法で入力データセットから学習させるかだ。入力データセットの特徴の選択や前処理、機械学習アルゴリズムの選択、テストの評価により予測モデルの良し悪しが決まってくると言っても過言ではない。

 とはいえ、データサイエンティストでもない一般のシステムエンジニアに、いきなり「このアルゴリズムを構成しろ」と言っても難しい。そのため、Azure Machine Learningでは、上述したようにアルゴリズムを標準で提供している。そのアルゴリズムを利用することで、より精度の高い予測モデルの構築が可能になる。

 Azure Machine Learningで利用可能な機械学習アルゴリズムを表1に示す。Azureが提供するアルゴリズムのカテゴリーは、これら5つである。Neural Network、Decision Tree(決定木)、Regression(回帰)、SVM(Support Vector Machine)などは複数のアルゴリズムのカテゴリーに利用できる基本的アルゴリズムである。

表1:Azure Machine Learningが提供するアルゴリズムの5つのカテゴリー表1:Azure Machine Learningが提供するアルゴリズムの5つのカテゴリー
拡大画像表示

分類

 入力データの集合を2種類(YES/NO、あり/なし、正/誤など)、または、3種類以上に分類するアルゴリズムである。代表的な例に、メールがスパムか非スパムかどうかの判定がある。アルゴリズムに訓練データとして、スパムか非スパムかを指定した正解のメールデータを学習させ、実際のメールを受信した時に、学習済みの分類アルゴリズムを呼び出してスパムを判定する。

回帰

 値を予測するためのアルゴリズムである。例えば、ビールの販売額が、気温が上がったときに、どれだけ増えるか予測するといった用途に使用する。

クラスタリング(クラスタ分析ともいう)

 一見すると分類と似ているが、分類が入力データをあらかじめ決めておいた部分集合に分類するのに対し、クラスタリングでは分類する部分集合には前提をおかず、入力データの類似性に基づいて分類法を探索する。どのような観点で類似性を決めるかはクラスタリングの結果で異なるため、厳密な正解があるわけではない。

 例えば、ソーシャルデータの中で語られている話題のクラスタリングは、最初から分類の基準となる特定の話題を与えて分類しているのではなく、データを分析した結果、類似性のあるデータのまとまりが分類として決まる例である。

異常検知

 デバイスの故障の予兆検知や、ネットワークの不正侵入の危険を検知するなどに応用される。

 これらのほかにAzure Machine Learningは、最近流行のニューラルネットワークを使ったアルゴリズムで機械学習を構築するツールキット「Cognitive Toolkit(CNTK)」も提供する。上記で説明した分類、回帰、クラスタリング、異常検知のすべてを実行できるアルゴリズムである。

筆者プロフィール

萩原 正義(はぎわら・まさよし)
アバナード アーキテクト。分散システムとデータベースを専門とし、クラウドのアーキテクチャーや次世代技術を調査・研究している。現在関心があるのは、スケーラブルなトランザクションシステムや、広域レプリケーション、ストリームコンピューティング、リアクティブなマイクロサービス、スマートコントラクト、P2P、リシリエントシステムなどを取り入れたアーキテクチャーと、その構築のための方法論。

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

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

PAGE TOP