ちょっと話題の記事

[レポート] 今日から始められる、機械学習! Amazon Machine Learningのご紹介 #AWSSummit

2015.06.03

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

平田です。

AWS Summit Tokyo で Amazon Machine Learning についてのランチセッションに参加してきたので、その様子をレポートします。

後半はデモがメインだったので、前半の内容についてのレポートとなります。

セッション情報

Amazon Machine Learning について

機械学習はなにをするのか?

  • 過去のデータを使って結果を予測するモデルを構築する
  • 構築したモデルを使って、未来の予測を行う

Amazon Machine Learning ができること

機械学習は大まかに分けて、「教師あり学習」と「教師なし学習」の2つ AMLが出来ることは「教師あり学習」

教師あり学習のなかでも、Amazon Machine Learning (AML) は

  • 二項分類
  • 多クラス分類
  • 回帰 (線形回帰)

の3つの予測モデルをサポートしている。

予測モデルとユースケース

予測モデルは、ターゲットの値の形式によって異なる。 目的に合わせて予測モデルを選択する。

二項分類

ターゲットが二値で表現される場合の予測モデル 例) SPAMメール判定 ターゲット: SPAMメールかどうか

多クラス分類

ターゲットが複数の値で表現される場合の予測モデル 例) 商品カテゴリ判定 ターゲット: 商品のカテゴリ

回帰

ターゲットが数値で表現される場合の予測モデル 例) 翌日の売り上げ予測 ターゲット: 売り上げ

Amazon Machine Learning の特徴

既存のSmart Applicationに要求されるスキル

  • 機械学習に関する知識
  • RやPythonなどによる実装
  • 適用分野に対する専門的な知識

高いスキルが複合的に要求される。

AMLは、

  • 使いやすい
  • マネージドな
  • 開発者のための

機械学習プラットフォームとなっている。

また、既存の機械学習システムと比較して、

  • 自前で用意するのではなく、サービスとして利用できる
  • 作業のワークフローがパッケージ化されている

ため、手軽に機械学習を行うことができる.

予測手法

モデルから予測結果を問い合わせる手法は2通りある。

  • バッチ
    • 複数の予測結果をまとめて問い合わせる
    • S3上のCSVファイルからAMLに問い合わせ
      • 結果はAMLからS3に出力される
  • リアルタイム
    • 個別に予測結果を問い合わせる
    • APIからAMLのモデルに対してリクエストする。

ワークフロー

AMLが用意している流れに従うことで、簡単にモデルを作成できる。

1. データソースの作成

S3, RedShift, RDSなどのサービスからデータを取得する。

2. モデルの作成

取得したデータソースから、予測のためのターゲットを指定する。 指定したターゲットに合わせて、予測モデルの種類も決定される。 例) ターゲットが 0/1 のみの場合は、二項分類

3. モデルの品質評価

デフォルトでは、モデルの作成にデータソースの7割が使われ、モデルの評価に残りの3割が使われる。 評価結果をもとに、予測判定の調整を行うこともできる。

活用例

広告不正クリック検知

教師データ クリックログ
予測モデル 二項分類
ターゲット 不正なクリックがされたか

デモグラ推定

教師データ ユーザの行動ログ
予測モデル 多クラス分類
ターゲット ユーザのデモグラ属性

デモグラからの商品推薦

教師データ 購入履歴 x デモグラ情報
予測モデル 多クラス分類
ターゲット デモグラから推測される商品

まとめ

AMLを利用すれば、溜めていたデータの評価や、その先のビジネスへの活用を簡単に始めることができる。

さいごに

今までと比較して、非常にお手軽に機械学習モデルを作成できるなぁと改めて思いました。 今後はモデルチューニングや予測のバリエーションが増えることを期待しています!