amazon machine learning概要
TRANSCRIPT
classmethod.jp
Amazon Machine Learning 概要FIT2015
第14回情報科学技術フォーラム
1
2015/09/16 クラスメソッド株式会社 能登 諭
classmethod.jp
自己紹介• 氏名:能登 諭(のと さとし)• 会社:クラスメソッド株式会社• 所属:AWSコンサルティング部• 担当:機械学習とビッグデータ• Twitter:@n3104
2
classmethod.jp
クラスメソッド株式会社• 事業:AWSとiOS/Android開発• 設立:2004年• オフィス:秋葉原、札幌、シアトル• 体制:約80名• ブログ:Developers.IO
• http://dev.classmethod.jp/
3
classmethod.jp
本日のアジェンダ• Amazon Web Services概要• Amazon Machine Learning概要
4
classmethod.jp5
Amazon Web Services概要
classmethod.jp
Amazon Web Servicesとは• いわゆるクラウド• 従量課金• 40以上のサービス• 汎用仮想マシン(サーバー)• RDBMS、DWH、KVS• 並列分散処理• ストリーミング処理• クラウドストレージなどなど
6
40以上のサービス
7
classmethod.jp8
事例紹介
事例1:ANAシステムズ株式会社様効率化と自動化によるコスト削減
9
http://classmethod.jp/cases/ana-systems/group-website/
事例2:株式会社あきんどスシロー様すし皿のセンサーデータをリアルタイムにAWS上に転送してほぼリアルタイムで把握可能に
10
http://classmethod.jp/cases/sushiro/sushiro-all-data/
事例3:慶應義塾大学様並列分散処理のプログラム演習環境として利用
11
http://classmethod.jp/cases/keio/
classmethod.jp12
Amazon Machine Learning概要
classmethod.jp
Amazon Machine Learningとは• 略称はAmazon ML
• 2015年4月にAWSがリリースした機械学習に関するサービス
13
classmethod.jp
サービスとしての特徴• マネージドサービスとして提供されているため、モデルの学習/評価を行うサーバーの管理が不要になる。予測を行うサーバーの管理も不要となる。
• 手順に沿って進めれば機械学習の知識がなくとも手軽に利用できる。具体的には、目的変数のデータ型から自動的にモデルが決定される。
14
Amazon MLで利用可能なモデル二項分類(ロジスティック回帰) このお客様は商品を買うか?買わないか?
多項分類(多項式ロジスティック回帰) この商品は本か?映画か?衣服か?
回帰(線形回帰) この商品はいくつぐらい売れるか?
15
Amazon MLで利用可能な予測手法バッチ予測 予測対象となるデータファイルをAmazon S3という クラウドストレージにアップロードしてAmazon ML でまとめて予測する。
リアルタイム予測 データを1件ずつAmazon MLが提供するAPIを呼び出 して予測する。
16
classmethod.jp17
Amazon MLの利用手順
classmethod.jp
Amazon MLを使うための4つのステップ1.教師用/評価用データを準備
• 表形式のCSVファイルを用意する2.教師データからモデルを作成
• 用意されたデータをもとに予測モデルを作成3.モデルの品質評価
• 予測モデルの品質の確認や簡単なチューニングを行う4.実際の予測の実施
• バッチ予測• リアルタイム予測
18
classmethod.jp19
1. 教師用/評価用データを準備
classmethod.jp
1. 教師用/評価用データを準備(1)表形式のCSVファイルを用意し、Amazon S3(クラウドストレージ)にアップロードする。
20
※ ヘッダー行の指定は任意
classmethod.jp
1. 教師用/評価用データを準備(2)Amazon MLからS3上のCSVファイルをDatasourceとして指定する。
21
classmethod.jp
1. 教師用/評価用データを準備(3)スキーマ定義と目的変数の指定を行う。
22
classmethod.jp
1. 教師用/評価用データを準備(補足1)Datasourceを作成すると統計情報を参照できるようになる。
23
classmethod.jp
1. 教師用/評価用データを準備(補足2)Datasourceとしては現時点で以下の3つを利用できる。• Amazon S3(CSVファイル)• Amazon Redshift(DWH)• Amazon RDS for MySQL(RDBMS)
24
classmethod.jp25
2. 教師データからモデルを作成
classmethod.jp
2. 教師データからモデルを作成(1)学習用のDatasourceからModelを作成する。
26
classmethod.jp
2. 教師データからモデルを作成(2)利用する機械学習のモデルは目的変数のデータ型から自動的に決定される。• Binary:二項分類• Categorical:多項分類• Numeric:回帰
27
classmethod.jp
2. 教師データからモデルを作成(3)Datasourceを教師データと評価データに分割するか指定できる。デフォルト設定の場合は、教師用(7割)と評価用(3割)の2つに分割する。
28
classmethod.jp
2. 教師データからモデルを作成(補足)カスタム設定で、Recipeによるデータ変換、正則化オプション等を指定できる。
29
classmethod.jp30
3. モデルの品質評価
3. モデルの品質評価(1)評価データで学習モデルの評価をできる。モデル毎に評価指標が異なる。
二項分類: AUC(Area Under the Curve)
多項分類: F1値
回帰: RMSE(Root Mean Squared Error)
31
classmethod.jp
3. モデルの品質評価(2)二項分類であればcut-off scoreの調整ができる。
32
classmethod.jp
3. モデルの品質評価(3)多項分類、回帰ではモデルに合わせたグラフで詳細を確認できる。
33
classmethod.jp34
4. 実際の予測の実施
classmethod.jp
4. 実際の予測の実施(1)バッチ予測を行うには、学習データと同じ形式のCSVファイルをAmazon S3にアップロードする。バッチ予測結果はS3上に出力され、CSVファイルの各レコードに対するscoreが出力されている。
35
classmethod.jp
4. 実際の予測の実施(2)リアルタイム予測を行うには、1レコード分の説明変数を引数としてAPIを呼び出し、予測結果のscoreをレスポンスとして受け取る。
36
classmethod.jp
実際に試す際は• 公式ドキュメントのチュートリアル• http://docs.aws.amazon.com/machine-
learning/latest/dg/tutorial.html• http://dev.classmethod.jp/cloud/aws/getting-
started-amazon-machine-learning/• AWSアカウントの作成手順• https://aws.amazon.com/jp/register-flow/
37
classmethod.jp38
Amazon ML補足
利用費は使った分だけデータソース作成、モデル作成、評価: $0.42 / インスタンス時
バッチ予測: $0.10 / 1,000 レコード
リアルタイム予測: $0.10 / 1,000 リクエスト + 1時間毎のキャパシティリザベーションチャージ (10 MB のメモリにつき 1 時間あたり $0.001)
39
classmethod.jp
Amazon MLを利用してみての感想• インフラ管理について考える必要がないのは開発/運用が楽になる。APIについてもボタン1つで利用できるようになる。
• 特徴抽出は自前で行う必要があるので、機械学習の知識が全く不要というわけではない。
• 利用できるモデルが現時点では少ないので、今後に期待している。
40
classmethod.jp
弊社での利用する際の構成• DWHとしてAmazon Redshiftを利用• 可視化にはBIツールであるTableauを利用
41
classmethod.jp42
まとめ
classmethod.jp
Amazon MLまとめ• インフラ管理が不要。とりあえず始められる• 利用可能なモデルは現時点で二項分類/多項分類/回帰の3つ
• 利用費は従量課金• DWHやBIツールと併用する場合が多い
43