SlideShare uma empresa Scribd logo
1 de 56
誰でも簡単にAIを実現!
SageMaker実践ユースケース紹介
2私について
じょんすみす
• クラスメソッド株式会社
データインテグレーション部 ML推進チーム
• Alteryx ACE
• 北海道から来ました!
• 愛車はHondaのS660
日常で主に扱う技術
• Alteryx
• Hadoop, EMR
• 機械学習, Amazom SageMaker
3本日の内容
• AIと機械学習
• 機械学習とは
• Amazon SageMakerを使った機械学習の実現方法
• 機械学習のユースケース
• まとめ
4本日の内容
• AIと機械学習
• 機械学習とは
• Amazon SageMakerを使った機械学習の実現方法
• 機械学習のユースケース
• まとめ
5AIと機械学習
AIって結局何なの?
• 用語として使われるシーンが曖昧
• 高度で複雑な数学を理解しないと使えないんでしょ?
• 何が実現できるの?費用対効果は?
6AIと機械学習
アプローチの方法
ルールベース
エキスパートシステム
統計・機械学習 脳科学
条件が与えられたときに何をする
かを記述する。
専門家がどのように判断するかの
知識をそのまま記述していくので
第3者が見たときにもどのような
ルールが設けられているのか判断
しやすい。
ルールの数が多くなると管理が煩
雑になる。
人間にとっては常識となるような
ことも含めてルール化する必要が
あるため、記述すべき量が非常に
多くなる場合もある。
大量のデータから規則性を見つけ
出す。
特定の結果を得られるように正解
となる情報を与える教師あり学習
やデータの特徴を捉えるための
教師なし学習などがある。
多くの手法が提案されており、
学習結果を人間が理解可能なもの
とそうでないものがある。
現在のAIブームにおいて中核となる
アプローチの方法の1つ。
Amazon SageMakerもこれを実現す
るための仕組みを提供している。
Deep Learningはココ。
人間の脳の仕組みをそのまま再現
する「全脳アーキテクチャ」など
研究が進められている領域ではあ
るが、現在のAIブームにおいて
主流となるアプローチではないた
め詳細は割愛。
というか私も詳しくは知らない
7AIと機械学習
アプローチの方法
ルールベース
エキスパートシステム
統計・機械学習 脳科学
条件が与えられたときに何をする
かを記述する。
専門家がどのように判断するかの
知識をそのまま記述していくので
第3者が見たときにもどのような
ルールが設けられているのか判断
しやすい。
ルールの数が多くなると管理が煩
雑になる。
人間にとっては常識となるような
ことも含めてルール化する必要が
あるため、記述すべき量が非常に
多くなる場合もある。
大量のデータから規則性を見つけ
出す。
特定の結果を得られるように正解
となる情報を与える教師あり学習
やデータの特徴を捉えるための
教師なし学習などがある。
多くの手法が提案されており、
学習結果を人間が理解可能なもの
とそうでないものがある。
現在のAIブームにおいて中核となる
アプローチの方法の1つ。
Amazon SageMakerもこれを実現す
るための仕組みを提供している。
Deep Learningはココ。
人間の脳の仕組みをそのまま再現
する「全脳アーキテクチャ」など
研究が進められている領域ではあ
るが、現在のAIブームにおいて
主流となるアプローチではないた
め詳細は割愛。
というか私も詳しくは知らない
8本日の内容
• AIと機械学習
• 機械学習とは
• Amazon SageMakerを使った機械学習の実現方法
• 機械学習のユースケース
• まとめ
9機械学習とは
機械学習でできること
• 教師あり学習
• 回帰
• 分類
• 教師なし学習
• クラスタリング
• 次元削減
• など
• その他(強化学習, 半教師あり学習など)
10機械学習とは
分類の例 : スパムメール判定
本日はありがとうございました
勤怠の連絡について
【当選】おめでとうございます
本番環境で利用するVPCのご相談
私の家来ちゃいます?
受信Box
11機械学習とは
分類の例 : スパムメール判定
本日はありがとうございました
勤怠の連絡について
【当選】おめでとうございます
本番環境で利用するVPCのご相談
私の家来ちゃいます?
受信Box
スパム
スパム
非スパム
非スパム
非スパム
正解情報のラベル付け
12機械学習とは
分類例 : スパムメール判定
本日はありがとうございました
勤怠の連絡について
【当選】おめでとうございます
本番環境で利用するVPCのご相談
私の家来ちゃいます?
受信Box
スパム
スパム
非スパム
非スパム
非スパム
正解情報のラベル付け
メールタイトル・本文などから
どんなメールがスパムかを学習して
モデルを生成する
モデル
13機械学習とは
分類例 : スパムメール判定
本日はありがとうございました
勤怠の連絡について
【当選】おめでとうございます
本番環境で利用するVPCのご相談
私の家来ちゃいます?
受信Box
スパム
スパム
非スパム
非スパム
非スパム
正解情報のラベル付け
メールタイトル・本文などから
どんなメールがスパムかを学習して
モデルを生成する
息子さんが事故を起こしました
新しく受信したメール
明日のMTGのアジェンダ
モデル
モデルを使ってスパムかの推論を行う
14機械学習とは
分類例 : スパムメール判定
本日はありがとうございました
勤怠の連絡について
【当選】おめでとうございます
本番環境で利用するVPCのご相談
私の家来ちゃいます?
受信Box
スパム
スパム
非スパム
非スパム
非スパム
正解情報のラベル付け
メールタイトル・本文などから
どんなメールがスパムかを学習して
モデルを生成する
息子さんが事故を起こしました
新しく受信したメール
明日のMTGのアジェンダ
モデル
スパムっぽい
スパムじゃないっぽい
15機械学習とは
分類例 : スパムメール判定
本日はありがとうございました
勤怠の連絡について
【当選】おめでとうございます
本番環境で利用するVPCのご相談
私の家来ちゃいます?
受信Box
スパム
スパム
非スパム
非スパム
非スパム
正解情報のラベル付け
メールタイトル・本文などから
どんなメールがスパムかを学習して
モデルを生成する
息子さんが事故を起こしました
新しく受信したメール
明日のMTGのアジェンダ
モデル
スパムは自動的に削除
16機械学習とは
データを機械学習で利用できる形式に落とし込む
• 1行が1件データ
• 列ごとに同じ要素の特徴
• 各値は数値
スパム “当選”の出現回数 “AWS”の出現回数 タイトルの文字数 過去にスパムを送っ
たメールアドレスか
…
0 0 5 20 0 …
1 3 0 45 1 …
1 2 0 30 0 …
0 1 3 12 0 …
0 0 7 32 0 …
17機械学習とは
データを機械学習で利用できる形式に落とし込む
• 1行が1件データ
• 列ごとに同じ要素の特徴
• 各値は数値
スパム “当選”の出現回数 “AWS”の出現回数 タイトルの文字数 過去にスパムを送っ
たメールアドレスか
…
0 0 5 20 0 …
1 3 0 45 1 …
1 2 0 30 0 …
0 1 3 12 0 …
0 0 7 32 0 …
これらの情報を使って
18機械学習とは
データを機械学習で利用できる形式に落とし込む
• 1行が1件データ
• 列ごとに同じ要素の特徴
• 各値は数値
スパム “当選”の出現回数 “AWS”の出現回数 タイトルの文字数 過去にスパムを送っ
たメールアドレスか
…
0 0 5 20 0 …
1 3 0 45 1 …
1 2 0 30 0 …
0 1 3 12 0 …
0 0 7 32 0 …
これを予想できるようにする
19本日の内容
• AIと機械学習
• 機械学習とは
• Amazon SageMakerを使った機械学習の実現方法
• 機械学習のユースケース
• まとめ
20Amazon SageMakerを使った機械学習の実現方法
機械学習で実現したいこと
機械翻訳
画像の顔認識
広告のクリック予測
商品の需要予測
レコメンド
故障しそうな機器の検出
データと実現のしたいことの組み合わせで実現方法が決まる
どのようなデータがあるか
データベース上の商品マスタ
Webサイトのアクセスログ
SNSの口コミ
政府統計データ
RI情報やその元データ
アンケート
21Amazon SageMakerを使った機械学習の実現方法
機械学習で実現したいこと
機械翻訳
画像の顔認識
広告のクリック予測
商品の需要予測
レコメンド
故障しそうな機器の検出
データと実現のしたいことの組み合わせで実現方法が決まる
どのようなデータがあるか
データベース上の商品マスタ
Webサイトのアクセスログ
SNSの口コミ
政府統計データ
RI情報やその元データ
アンケート
• 機械学習の結果はどのようなデータがあるかに大
きく依存する
• 必要に応じてデータの整形や変換が必要となる
• データは集約するなどして使える状態になってい
る必要がある
22Amazon SageMakerを使った機械学習の実現方法
機械学習で実現したいこと
機械翻訳
画像の顔認識
広告のクリック予測
商品の需要予測
レコメンド
故障しそうな機器の検出
データと実現のしたいことの組み合わせで実現方法が決まる
どのようなデータがあるか
データベース上の商品マスタ
Webサイトのアクセスログ
SNSの口コミ
政府統計データ
RI情報やその元データ
アンケート
• ビジネス課題や実現したいことを分解して機械学習
のタスクへと落とし込む必要がる
• 機械学習のタスクに落とし込めればSageMakerのラ
イブラリなどを使って実現可能
23Amazon SageMakerを使った機械学習の実現方法
機械学習の2ステップ
• 学習
• データから傾向を学習したモデルを作成する
• モデルはこの後の推論で使うものであらかじめ作っておく必要がある
• データの傾向が変化する場合もあるので定期的に作り直す必要がある
• 推論
• 学習したモデルを使って予測を行う
• 学習のステップで作成したモデルを利用する
• システムなどに組み込んで新たにアクセスした際の情報をモデルに渡すことで実現
24Amazon SageMakerを使った機械学習の実現方法
Build-Inアルゴリズムにおけるアーキテクチャ
(1) 学習用コードの記述
(2) 前処理・特徴抽出などをした
学習データをS3に保存
(3) ライブラリがインストールされた
コンテナ上で学習
(4) モデルはS3に保存される
(5) 予測を行うAPIをデプロイ
(6) 他のシステムから利用
25Amazon SageMakerを使った機械学習の実現方法
機械学習のプログラムの流れ
26Amazon SageMakerを使った機械学習の実現方法
機械学習のプログラムの流れ
Notebookインスタンスを立ててプログラムで処理を記述
• データを取得し機械学習で利用できる形に整形
• 機械学習の手法やパラメータの設定
• 学習処理の実行
などを行う
27Amazon SageMakerを使った機械学習の実現方法
機械学習のプログラムの流れ
コンテナを立ち上げて学習処理の実行
• Notebookから指定された手法・パラメータで学習
• モデルはS3に出力される
28Amazon SageMakerを使った機械学習の実現方法
機械学習のプログラムの流れ
推論API用のコンテナ作成
• S3からモデルを読み込んで推論を行う
• REST APIでアクセスが可能
• 他のシステムが推論に必要な情報を渡して呼び出すこ
とで予測結果を取得できる
29Amazon SageMakerを使った機械学習の実現方法
SageMakerのBuilt-inアルゴリズムはどれもインターフェースが統一されている
データの取得
データの加工
30Amazon SageMakerを使った機械学習の実現方法
SageMakerのBuilt-inアルゴリズムはどれもインターフェースが統一されている
データの取得
データの加工
ここではWebから取得している
通常のPythonコードなので、S3やDWH, RDBなど
Pythonを使って接続可能であれば利用可能
ExcelやCSVなどローカルにあるファイルは転送して
おく必要あり
31Amazon SageMakerを使った機械学習の実現方法
SageMakerのBuilt-inアルゴリズムはどれもインターフェースが統一されている
データの取得
データの加工
学習処理に渡すための形式にデータを変換
画像をピクセルごとの配列として表形式にしたり、
文章から単語を抽出したりなど、必要な処理はデー
タと何をしたいかに依存
32Amazon SageMakerを使った機械学習の実現方法
SageMakerのBuilt-inアルゴリズムはどれもインターフェースが統一されている
S3に保存
33Amazon SageMakerを使った機械学習の実現方法
SageMakerのBuilt-inアルゴリズムはどれもインターフェースが統一されている
S3に保存
学習対象のデータはS3に置かれいる必要がある
学習用に加工後のデータをS3に保存する
34Amazon SageMakerを使った機械学習の実現方法
SageMakerのBuilt-inアルゴリズムはどれもインターフェースが統一されている
学習処理の実行
35Amazon SageMakerを使った機械学習の実現方法
SageMakerのBuilt-inアルゴリズムはどれもインターフェースが統一されている
学習処理の実行
利用するアルゴリズム用のコンテナを指定
36Amazon SageMakerを使った機械学習の実現方法
SageMakerのBuilt-inアルゴリズムはどれもインターフェースが統一されている
学習処理の実行
Estimatorをコンテナ名を指定してEstimatorインスタ
ンスを作成
利用するインスタンスタイプなどもここで指定する
37Amazon SageMakerを使った機械学習の実現方法
SageMakerのBuilt-inアルゴリズムはどれもインターフェースが統一されている
学習処理の実行
学習時に利用するハイパーパラメータ(アルゴリズム
ごとに項目は異なる)を設定する
38Amazon SageMakerを使った機械学習の実現方法
SageMakerのBuilt-inアルゴリズムはどれもインターフェースが統一されている
学習処理の実行
学習の処理を実行する
完了後はS3にモデルが出力される
39Amazon SageMakerを使った機械学習の実現方法
学習処理までのまとめ
• データを機械学習で使えるように変換・加工処理を行う
• これは通常のPythonコードとして実現する
• 加工したデータはS3に保存する
• 処理内容は取得したデータに依存する
• ただし、S3に出力する際のフォーマットはアルゴリズムごとに指定あり
• 学習の流れはアルゴリズムにかかわらず固定でSageMakerのSDKが使える
• get_image_uri()関数でコンテナ名を取得
• コンテナ名を指定してEstimatorインスタンスを作成する
• Estimator.hyper_parameters()関数でハイパーパラメータを設定
• Estimator.fit()関数で学習の処理を実行
40Amazon SageMakerを使った機械学習の実現方法
SageMakerのBuilt-inアルゴリズムはどれもインターフェースが統一されている
推論エンドポイントの作成
推論時のヘッダ情報を設定
推論を行う
41Amazon SageMakerを使った機械学習の実現方法
SageMakerのBuilt-inアルゴリズムはどれもインターフェースが統一されている
推論エンドポイントの作成
推論時のヘッダ情報を設定
推論を行う
推論用エンドポイントを作成
エンドポイントのインスタンスタイプ、数を指定
APIはオートスケールにも対応
42Amazon SageMakerを使った機械学習の実現方法
SageMakerのBuilt-inアルゴリズムはどれもインターフェースが統一されている
推論エンドポイントの作成
推論時のヘッダ情報を設定
推論を行う
ここではSageMaker Python SDKでラップされたものを
利用しているが実体はREST API
入出力のフォーマットなどをヘッダで指定
43Amazon SageMakerを使った機械学習の実現方法
SageMakerのBuilt-inアルゴリズムはどれもインターフェースが統一されている
推論エンドポイントの作成
推論時のヘッダ情報を設定
推論を行う
データを渡して推論処理の実行
44Amazon SageMakerを使った機械学習の実現方法
推論処理のまとめ
• 推論の流れもアルゴリズムにかかわらず固定でSageMakerのSDKが使える
• Estimator.deploy()関数でエンドポイントを作成
• 結果としてRealTimePredictorのインスタンスを取得する
• RealTimePredictorに推論時に利用するヘッダ情報を与える
• RealTimePredictor.predict()関数で推論する
45Amazon SageMakerを使った機械学習の実現方法
deploy関数の戻り値以外の方法でpredictorを取得するには?
• 推論用エンドポイントは既存システムなどNotebookの外から利用する
• エンドポイントのデプロイ処理はしないので戻り値以外で取得したい
46Amazon SageMakerを使った機械学習の実現方法
deploy関数の戻り値以外の方法でpredictorを取得するには?
• 推論用エンドポイントは既存システムなどNotebookの外から利用する
• エンドポイントのデプロイ処理はしないので戻り値以外で取得したい
$ pip install sagemaker
47Amazon SageMakerを使った機械学習の実現方法
エンドポイントの名前がわからない場合
• deployの際にendpoint_name引数で指定できるが必須ではない
• 指定したとしても忘れるかも
48本日の内容
• AIと機械学習
• 機械学習とは
• Amazon SageMakerを使った機械学習の実現方法
• 機械学習のユースケース
• まとめ
49機械学習のユースケース
Amazon SageMakerのBuilt-inアルゴリズムの一部
手法 使い時
Linear Learner 回帰・分類
XGBoost 回帰・分類
ImageClassification 画像認識
Object Detection 物体検出
Factorization Machines レコメンド
Sequenct to Sequence 機械翻訳・文章生成
DeepAR 時系列予測
Random Cut Forest 異常値検知
50機械学習のユースケース
回帰
• 数値の予測を行う
回帰が利用可能な主なアルゴリズム
• Linear Learner
• XGBoost
利用例
• 売上の予測
• 売れ行きに貢献しそうな要素をデータとして利用
• 明日の仕入れ量などを決めるのに利用
• 各要素が売上にどのくらい影響しているかのインパクトを調べる
51機械学習のユースケース
分類
• カテゴリカルな結果を予測する
分類が利用可能な主なアルゴリズム
• Linear Learner
• XGBoost
利用例
• Web広告のクリック予測
• サブスクリプション制サービスの退会者予測
• 口コミ情報のポジネガ判定
• ブックマークの自動カテゴライズ
52機械学習のユースケース
レコメンド
• 商品やコンテンツに対して関連したものを提示する
レコメンドが利用可能な主なアルゴリズム
• Factorization Machines
利用例
• ECサイトでのオススメ商品
• 動画サイトでのオススメ動画
• ニュースサイトでの関連記事
53機械学習のユースケース
物体検出
• 画像中のどこに何が映っているかを判定する
物体検出が利用可能な主なアルゴリズム
• Object Detection
利用例
• 自動レジ
• 横田deGOコーナーでデモ展示中!
• 自動運転
54本日の内容
• AIと機械学習
• 機械学習とは
• Amazon SageMakerを使った機械学習の実現方法
• 機械学習のユースケース
• まとめ
55まとめ
• 現在主流のAIを構成する要素の1つとして機械学習がある
• 最初にやることはビジネス要件を機械学習のタスクに落とし込む
• 機械学習をするには十分な量のデータが必要
• やりたいこととデータから適切なアルゴリズムを選択する
• Amazon SageMakerではライブラリの利用方法は共通
• 機械学習は様々な場面で活用されている
ML Sagemaker Dev.IO

Mais conteúdo relacionado

Semelhante a ML Sagemaker Dev.IO

Microsoft Intelligent Data Platform -データ活用のための最新技術-
Microsoft Intelligent Data Platform -データ活用のための最新技術-Microsoft Intelligent Data Platform -データ活用のための最新技術-
Microsoft Intelligent Data Platform -データ活用のための最新技術-Daiyu Hatakeyama
 
20180920_【ヒカ☆ラボ】【データサイエンティストが教える 】 機械学習、人工知能を使った「ビジネスになる」アプリケーションの作り方
20180920_【ヒカ☆ラボ】【データサイエンティストが教える 】 機械学習、人工知能を使った「ビジネスになる」アプリケーションの作り方20180920_【ヒカ☆ラボ】【データサイエンティストが教える 】 機械学習、人工知能を使った「ビジネスになる」アプリケーションの作り方
20180920_【ヒカ☆ラボ】【データサイエンティストが教える 】 機械学習、人工知能を使った「ビジネスになる」アプリケーションの作り方Shunsuke Nakamura
 
Amazon_Rekognitionの使用例_オートバイの画像判別.pdf
Amazon_Rekognitionの使用例_オートバイの画像判別.pdfAmazon_Rekognitionの使用例_オートバイの画像判別.pdf
Amazon_Rekognitionの使用例_オートバイの画像判別.pdfssuserdd6c91
 
このサービスは俺に聞け勉強会(機械学習)
このサービスは俺に聞け勉強会(機械学習)このサービスは俺に聞け勉強会(機械学習)
このサービスは俺に聞け勉強会(機械学習)Satoshi Noto
 
Machine Learning Serviceを使ってみよう
Machine Learning Serviceを使ってみようMachine Learning Serviceを使ってみよう
Machine Learning Serviceを使ってみようYoshitaka Seo
 
機械学習システムのアーキテクチャアラカルト
機械学習システムのアーキテクチャアラカルト機械学習システムのアーキテクチャアラカルト
機械学習システムのアーキテクチャアラカルトBrainPad Inc.
 
LINE Developer Community: Microsoft AI を楽しく使おう
LINE Developer Community: Microsoft AI を楽しく使おうLINE Developer Community: Microsoft AI を楽しく使おう
LINE Developer Community: Microsoft AI を楽しく使おうAyako Omori
 
Japan Wrap Up re:Invent2018
Japan Wrap Up re:Invent2018Japan Wrap Up re:Invent2018
Japan Wrap Up re:Invent2018Kameda Harunobu
 
PoCで終わらせない!データ分析・AI活用
PoCで終わらせない!データ分析・AI活用PoCで終わらせない!データ分析・AI活用
PoCで終わらせない!データ分析・AI活用__john_smith__
 
Connect 2018 in Koriyama, with UDC - Microsoft AI Session
Connect 2018 in Koriyama, with UDC - Microsoft AI SessionConnect 2018 in Koriyama, with UDC - Microsoft AI Session
Connect 2018 in Koriyama, with UDC - Microsoft AI SessionDaiyu Hatakeyama
 
Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-
Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-
Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-Recruit Technologies
 
不足するAI人材に対する「パソナテックの人材育成ソリューション」
不足するAI人材に対する「パソナテックの人材育成ソリューション」不足するAI人材に対する「パソナテックの人材育成ソリューション」
不足するAI人材に対する「パソナテックの人材育成ソリューション」Natsutani Minoru
 
機械学習を使った「ビジネスになる」アプリケーションの作り方 v1
機械学習を使った「ビジネスになる」アプリケーションの作り方 v1機械学習を使った「ビジネスになる」アプリケーションの作り方 v1
機械学習を使った「ビジネスになる」アプリケーションの作り方 v1Shunsuke Nakamura
 
機械学習を使った「ビジネスになる」アプリケーションの作り方 V2
機械学習を使った「ビジネスになる」アプリケーションの作り方 V2機械学習を使った「ビジネスになる」アプリケーションの作り方 V2
機械学習を使った「ビジネスになる」アプリケーションの作り方 V2Shunsuke Nakamura
 
20180809_機械学習を使った「ビジネスになる」アプリケーションの作り方
20180809_機械学習を使った「ビジネスになる」アプリケーションの作り方20180809_機械学習を使った「ビジネスになる」アプリケーションの作り方
20180809_機械学習を使った「ビジネスになる」アプリケーションの作り方Shunsuke Nakamura
 
Matcherの紹介@ITリーダー育成キャンプ
Matcherの紹介@ITリーダー育成キャンプMatcherの紹介@ITリーダー育成キャンプ
Matcherの紹介@ITリーダー育成キャンプnoriyaz
 
タグ管理のススメ
タグ管理のススメタグ管理のススメ
タグ管理のススメMakoto Shimizu
 
ITエンジニアのためのAI基礎2020
ITエンジニアのためのAI基礎2020ITエンジニアのためのAI基礎2020
ITエンジニアのためのAI基礎2020Keisuke Tameyasu
 
最新!2015年 クラウドAI プラットフォーム比較 AzureML & AmazonML
最新!2015年 クラウドAI プラットフォーム比較 AzureML & AmazonML最新!2015年 クラウドAI プラットフォーム比較 AzureML & AmazonML
最新!2015年 クラウドAI プラットフォーム比較 AzureML & AmazonMLJunichi Noda
 

Semelhante a ML Sagemaker Dev.IO (20)

Microsoft Intelligent Data Platform -データ活用のための最新技術-
Microsoft Intelligent Data Platform -データ活用のための最新技術-Microsoft Intelligent Data Platform -データ活用のための最新技術-
Microsoft Intelligent Data Platform -データ活用のための最新技術-
 
20180920_【ヒカ☆ラボ】【データサイエンティストが教える 】 機械学習、人工知能を使った「ビジネスになる」アプリケーションの作り方
20180920_【ヒカ☆ラボ】【データサイエンティストが教える 】 機械学習、人工知能を使った「ビジネスになる」アプリケーションの作り方20180920_【ヒカ☆ラボ】【データサイエンティストが教える 】 機械学習、人工知能を使った「ビジネスになる」アプリケーションの作り方
20180920_【ヒカ☆ラボ】【データサイエンティストが教える 】 機械学習、人工知能を使った「ビジネスになる」アプリケーションの作り方
 
Amazon_Rekognitionの使用例_オートバイの画像判別.pdf
Amazon_Rekognitionの使用例_オートバイの画像判別.pdfAmazon_Rekognitionの使用例_オートバイの画像判別.pdf
Amazon_Rekognitionの使用例_オートバイの画像判別.pdf
 
このサービスは俺に聞け勉強会(機械学習)
このサービスは俺に聞け勉強会(機械学習)このサービスは俺に聞け勉強会(機械学習)
このサービスは俺に聞け勉強会(機械学習)
 
Machine Learning Serviceを使ってみよう
Machine Learning Serviceを使ってみようMachine Learning Serviceを使ってみよう
Machine Learning Serviceを使ってみよう
 
機械学習システムのアーキテクチャアラカルト
機械学習システムのアーキテクチャアラカルト機械学習システムのアーキテクチャアラカルト
機械学習システムのアーキテクチャアラカルト
 
LINE Developer Community: Microsoft AI を楽しく使おう
LINE Developer Community: Microsoft AI を楽しく使おうLINE Developer Community: Microsoft AI を楽しく使おう
LINE Developer Community: Microsoft AI を楽しく使おう
 
Japan Wrap Up re:Invent2018
Japan Wrap Up re:Invent2018Japan Wrap Up re:Invent2018
Japan Wrap Up re:Invent2018
 
Japan wrapup reinvent2018
Japan wrapup reinvent2018Japan wrapup reinvent2018
Japan wrapup reinvent2018
 
PoCで終わらせない!データ分析・AI活用
PoCで終わらせない!データ分析・AI活用PoCで終わらせない!データ分析・AI活用
PoCで終わらせない!データ分析・AI活用
 
Connect 2018 in Koriyama, with UDC - Microsoft AI Session
Connect 2018 in Koriyama, with UDC - Microsoft AI SessionConnect 2018 in Koriyama, with UDC - Microsoft AI Session
Connect 2018 in Koriyama, with UDC - Microsoft AI Session
 
Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-
Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-
Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-
 
不足するAI人材に対する「パソナテックの人材育成ソリューション」
不足するAI人材に対する「パソナテックの人材育成ソリューション」不足するAI人材に対する「パソナテックの人材育成ソリューション」
不足するAI人材に対する「パソナテックの人材育成ソリューション」
 
機械学習を使った「ビジネスになる」アプリケーションの作り方 v1
機械学習を使った「ビジネスになる」アプリケーションの作り方 v1機械学習を使った「ビジネスになる」アプリケーションの作り方 v1
機械学習を使った「ビジネスになる」アプリケーションの作り方 v1
 
機械学習を使った「ビジネスになる」アプリケーションの作り方 V2
機械学習を使った「ビジネスになる」アプリケーションの作り方 V2機械学習を使った「ビジネスになる」アプリケーションの作り方 V2
機械学習を使った「ビジネスになる」アプリケーションの作り方 V2
 
20180809_機械学習を使った「ビジネスになる」アプリケーションの作り方
20180809_機械学習を使った「ビジネスになる」アプリケーションの作り方20180809_機械学習を使った「ビジネスになる」アプリケーションの作り方
20180809_機械学習を使った「ビジネスになる」アプリケーションの作り方
 
Matcherの紹介@ITリーダー育成キャンプ
Matcherの紹介@ITリーダー育成キャンプMatcherの紹介@ITリーダー育成キャンプ
Matcherの紹介@ITリーダー育成キャンプ
 
タグ管理のススメ
タグ管理のススメタグ管理のススメ
タグ管理のススメ
 
ITエンジニアのためのAI基礎2020
ITエンジニアのためのAI基礎2020ITエンジニアのためのAI基礎2020
ITエンジニアのためのAI基礎2020
 
最新!2015年 クラウドAI プラットフォーム比較 AzureML & AmazonML
最新!2015年 クラウドAI プラットフォーム比較 AzureML & AmazonML最新!2015年 クラウドAI プラットフォーム比較 AzureML & AmazonML
最新!2015年 クラウドAI プラットフォーム比較 AzureML & AmazonML
 

Mais de __john_smith__

全部Excelだけで実現しようとして後悔するデータ分析 2nd Edition
全部Excelだけで実現しようとして後悔するデータ分析 2nd Edition 全部Excelだけで実現しようとして後悔するデータ分析 2nd Edition
全部Excelだけで実現しようとして後悔するデータ分析 2nd Edition __john_smith__
 
全部Excelでやろうとして後悔するデータ分析
全部Excelでやろうとして後悔するデータ分析全部Excelでやろうとして後悔するデータ分析
全部Excelでやろうとして後悔するデータ分析__john_smith__
 
Alteryx UG3 LT #alteryx_ug
Alteryx UG3 LT #alteryx_ugAlteryx UG3 LT #alteryx_ug
Alteryx UG3 LT #alteryx_ug__john_smith__
 
Alteryx Inspire2017 新製品&新機能紹介
Alteryx Inspire2017 新製品&新機能紹介Alteryx Inspire2017 新製品&新機能紹介
Alteryx Inspire2017 新製品&新機能紹介__john_smith__
 
How to create Yarn Application #cmdevio2017
How to create Yarn Application #cmdevio2017How to create Yarn Application #cmdevio2017
How to create Yarn Application #cmdevio2017__john_smith__
 
Alteryxでkaggleに挑戦する #alteryx #alteryx_ug
Alteryxでkaggleに挑戦する #alteryx #alteryx_ugAlteryxでkaggleに挑戦する #alteryx #alteryx_ug
Alteryxでkaggleに挑戦する #alteryx #alteryx_ug__john_smith__
 
初心者向けに機械学習のハンズオンセミナーをしてわかったこと
初心者向けに機械学習のハンズオンセミナーをしてわかったこと初心者向けに機械学習のハンズオンセミナーをしてわかったこと
初心者向けに機械学習のハンズオンセミナーをしてわかったこと__john_smith__
 
この素晴らしいSQLに祝福を!
この素晴らしいSQLに祝福を!この素晴らしいSQLに祝福を!
この素晴らしいSQLに祝福を!__john_smith__
 
5分でわかる 怖くない機械学習
5分でわかる 怖くない機械学習5分でわかる 怖くない機械学習
5分でわかる 怖くない機械学習__john_smith__
 
初心者向け「凛ちゃん」
初心者向け「凛ちゃん」初心者向け「凛ちゃん」
初心者向け「凛ちゃん」__john_smith__
 
SparkRをつかってみた(Japan.R)
SparkRをつかってみた(Japan.R)SparkRをつかってみた(Japan.R)
SparkRをつかってみた(Japan.R)__john_smith__
 

Mais de __john_smith__ (15)

全部Excelだけで実現しようとして後悔するデータ分析 2nd Edition
全部Excelだけで実現しようとして後悔するデータ分析 2nd Edition 全部Excelだけで実現しようとして後悔するデータ分析 2nd Edition
全部Excelだけで実現しようとして後悔するデータ分析 2nd Edition
 
全部Excelでやろうとして後悔するデータ分析
全部Excelでやろうとして後悔するデータ分析全部Excelでやろうとして後悔するデータ分析
全部Excelでやろうとして後悔するデータ分析
 
Alteryx UG3 LT #alteryx_ug
Alteryx UG3 LT #alteryx_ugAlteryx UG3 LT #alteryx_ug
Alteryx UG3 LT #alteryx_ug
 
Alteryx Inspire2017 新製品&新機能紹介
Alteryx Inspire2017 新製品&新機能紹介Alteryx Inspire2017 新製品&新機能紹介
Alteryx Inspire2017 新製品&新機能紹介
 
How to create Yarn Application #cmdevio2017
How to create Yarn Application #cmdevio2017How to create Yarn Application #cmdevio2017
How to create Yarn Application #cmdevio2017
 
Alteryxでkaggleに挑戦する #alteryx #alteryx_ug
Alteryxでkaggleに挑戦する #alteryx #alteryx_ugAlteryxでkaggleに挑戦する #alteryx #alteryx_ug
Alteryxでkaggleに挑戦する #alteryx #alteryx_ug
 
初心者向けに機械学習のハンズオンセミナーをしてわかったこと
初心者向けに機械学習のハンズオンセミナーをしてわかったこと初心者向けに機械学習のハンズオンセミナーをしてわかったこと
初心者向けに機械学習のハンズオンセミナーをしてわかったこと
 
この素晴らしいSQLに祝福を!
この素晴らしいSQLに祝福を!この素晴らしいSQLに祝福を!
この素晴らしいSQLに祝福を!
 
Javado2
Javado2Javado2
Javado2
 
Jubatus hack2
Jubatus hack2Jubatus hack2
Jubatus hack2
 
5分でわかる 怖くない機械学習
5分でわかる 怖くない機械学習5分でわかる 怖くない機械学習
5分でわかる 怖くない機械学習
 
LSTMで話題分類
LSTMで話題分類LSTMで話題分類
LSTMで話題分類
 
初心者向け「凛ちゃん」
初心者向け「凛ちゃん」初心者向け「凛ちゃん」
初心者向け「凛ちゃん」
 
SparkRをつかってみた(Japan.R)
SparkRをつかってみた(Japan.R)SparkRをつかってみた(Japan.R)
SparkRをつかってみた(Japan.R)
 
Jubatus Hackathon
Jubatus HackathonJubatus Hackathon
Jubatus Hackathon
 

ML Sagemaker Dev.IO

Notas do Editor

  1. 機械学習をシステムに組み込むにはやらないとダメなことがいっぱいある 構成として、学習を行ってモデルを生成する部分とほかのシステムから利用される推論部分に大きく分けられる 学習部分と推論部分はそれぞれ別のシステムとなっていて、学習で作られたモデルが推論用のシステムで利用される 機械学習を含まない通常のシステムとの対比で考えると 学習部分は夜間バッチのようなもので他から利用かのうなデータを生成する 推論部分はユーザが一般に利用するUIを持っているシステムでバッチが生成したデータを利用する というような感じで考えるといい その際”データ”として共有されるのが”モデル”となる 学習時のフローに関してはまずデータがないと学習できないので、データを使え状態にしておく必要がある。 これは、データベースへのアクセスやファイルが利用可能な状態になっている、というのはもとより 既存のデータを使える状態にするために前処理したり、場合によっては定期的にデータを収集・集約するロジックも必要になる。つらい。 利用可能な状態のデータに対して、正解ラベルを作成する必要がある場合もある。 例えば、広告のクリック・商品購入の有無・レビューの星の数などユーザの行動がそのまま正解ラベルになることもあれば、 レビュー内容がポジティブな内容かネガティブな内容かなど、人間が見てアノテーションを設定する必要がある場合もある 特徴抽出(Feature Engineering)は場合によっては前処理と同じ扱いのこともある ここでは、 データをそもそも使える状態にするのが前処理 よりよい学習結果を得るためにデータに対して行う加工全般を特徴抽出 とする 学習はデータに対して実際に機械学習の手法を適用させて予測が可能なモデルを作成するプロセス 難しい数学の理論が絡んだりするが、SageMakerでは用意されているライブラリの関数を呼び出すのみ ただし、どの手法がどの目的で使えるかなどの対応関係は知っておく必要がある 学習を行った後は、モデルがどれだけうまく推論できるようになっているのかを評価する 機械学習の結果は100%正解するわけではないので、どのような場面で利用するかに応じて様々な方法で評価を行う 評価の結果うまく推論できそうもないとなった場合はデータを変えたり、手法を変えたりしながら結果を改善したり、諦めたりする。 推論時には、推論環境にモデルをデプロイして、関数やAPIなどで呼び出せるようにしておく 予測対象が限定的な場合は、あらかじめ結果をDBに入れておくなどしてもよい 推論用のシステムに入れるデータとしては、前処理などが済んでいる状態のものを入力とすることが可能だが、 特徴抽出で行ったロジックはそれ用のパラメータを持ってたりもするので、わりかしシステム側で持っておく必要がある。 この部分は推論結果を返す
  2. 機械学習をシステムに組み込むにはやらないとダメなことがいっぱいある 構成として、学習を行ってモデルを生成する部分とほかのシステムから利用される推論部分に大きく分けられる 学習部分と推論部分はそれぞれ別のシステムとなっていて、学習で作られたモデルが推論用のシステムで利用される 機械学習を含まない通常のシステムとの対比で考えると 学習部分は夜間バッチのようなもので他から利用かのうなデータを生成する 推論部分はユーザが一般に利用するUIを持っているシステムでバッチが生成したデータを利用する というような感じで考えるといい その際”データ”として共有されるのが”モデル”となる 学習時のフローに関してはまずデータがないと学習できないので、データを使え状態にしておく必要がある。 これは、データベースへのアクセスやファイルが利用可能な状態になっている、というのはもとより 既存のデータを使える状態にするために前処理したり、場合によっては定期的にデータを収集・集約するロジックも必要になる。つらい。 利用可能な状態のデータに対して、正解ラベルを作成する必要がある場合もある。 例えば、広告のクリック・商品購入の有無・レビューの星の数などユーザの行動がそのまま正解ラベルになることもあれば、 レビュー内容がポジティブな内容かネガティブな内容かなど、人間が見てアノテーションを設定する必要がある場合もある 特徴抽出(Feature Engineering)は場合によっては前処理と同じ扱いのこともある ここでは、 データをそもそも使える状態にするのが前処理 よりよい学習結果を得るためにデータに対して行う加工全般を特徴抽出 とする 学習はデータに対して実際に機械学習の手法を適用させて予測が可能なモデルを作成するプロセス 難しい数学の理論が絡んだりするが、SageMakerでは用意されているライブラリの関数を呼び出すのみ ただし、どの手法がどの目的で使えるかなどの対応関係は知っておく必要がある 学習を行った後は、モデルがどれだけうまく推論できるようになっているのかを評価する 機械学習の結果は100%正解するわけではないので、どのような場面で利用するかに応じて様々な方法で評価を行う 評価の結果うまく推論できそうもないとなった場合はデータを変えたり、手法を変えたりしながら結果を改善したり、諦めたりする。 推論時には、推論環境にモデルをデプロイして、関数やAPIなどで呼び出せるようにしておく 予測対象が限定的な場合は、あらかじめ結果をDBに入れておくなどしてもよい 推論用のシステムに入れるデータとしては、前処理などが済んでいる状態のものを入力とすることが可能だが、 特徴抽出で行ったロジックはそれ用のパラメータを持ってたりもするので、わりかしシステム側で持っておく必要がある。 この部分は推論結果を返す
  3. 機械学習をシステムに組み込むにはやらないとダメなことがいっぱいある 構成として、学習を行ってモデルを生成する部分とほかのシステムから利用される推論部分に大きく分けられる 学習部分と推論部分はそれぞれ別のシステムとなっていて、学習で作られたモデルが推論用のシステムで利用される 機械学習を含まない通常のシステムとの対比で考えると 学習部分は夜間バッチのようなもので他から利用かのうなデータを生成する 推論部分はユーザが一般に利用するUIを持っているシステムでバッチが生成したデータを利用する というような感じで考えるといい その際”データ”として共有されるのが”モデル”となる 学習時のフローに関してはまずデータがないと学習できないので、データを使え状態にしておく必要がある。 これは、データベースへのアクセスやファイルが利用可能な状態になっている、というのはもとより 既存のデータを使える状態にするために前処理したり、場合によっては定期的にデータを収集・集約するロジックも必要になる。つらい。 利用可能な状態のデータに対して、正解ラベルを作成する必要がある場合もある。 例えば、広告のクリック・商品購入の有無・レビューの星の数などユーザの行動がそのまま正解ラベルになることもあれば、 レビュー内容がポジティブな内容かネガティブな内容かなど、人間が見てアノテーションを設定する必要がある場合もある 特徴抽出(Feature Engineering)は場合によっては前処理と同じ扱いのこともある ここでは、 データをそもそも使える状態にするのが前処理 よりよい学習結果を得るためにデータに対して行う加工全般を特徴抽出 とする 学習はデータに対して実際に機械学習の手法を適用させて予測が可能なモデルを作成するプロセス 難しい数学の理論が絡んだりするが、SageMakerでは用意されているライブラリの関数を呼び出すのみ ただし、どの手法がどの目的で使えるかなどの対応関係は知っておく必要がある 学習を行った後は、モデルがどれだけうまく推論できるようになっているのかを評価する 機械学習の結果は100%正解するわけではないので、どのような場面で利用するかに応じて様々な方法で評価を行う 評価の結果うまく推論できそうもないとなった場合はデータを変えたり、手法を変えたりしながら結果を改善したり、諦めたりする。 推論時には、推論環境にモデルをデプロイして、関数やAPIなどで呼び出せるようにしておく 予測対象が限定的な場合は、あらかじめ結果をDBに入れておくなどしてもよい 推論用のシステムに入れるデータとしては、前処理などが済んでいる状態のものを入力とすることが可能だが、 特徴抽出で行ったロジックはそれ用のパラメータを持ってたりもするので、わりかしシステム側で持っておく必要がある。 この部分は推論結果を返す
  4. 機械学習をシステムに組み込むにはやらないとダメなことがいっぱいある 構成として、学習を行ってモデルを生成する部分とほかのシステムから利用される推論部分に大きく分けられる 学習部分と推論部分はそれぞれ別のシステムとなっていて、学習で作られたモデルが推論用のシステムで利用される 機械学習を含まない通常のシステムとの対比で考えると 学習部分は夜間バッチのようなもので他から利用かのうなデータを生成する 推論部分はユーザが一般に利用するUIを持っているシステムでバッチが生成したデータを利用する というような感じで考えるといい その際”データ”として共有されるのが”モデル”となる 学習時のフローに関してはまずデータがないと学習できないので、データを使え状態にしておく必要がある。 これは、データベースへのアクセスやファイルが利用可能な状態になっている、というのはもとより 既存のデータを使える状態にするために前処理したり、場合によっては定期的にデータを収集・集約するロジックも必要になる。つらい。 利用可能な状態のデータに対して、正解ラベルを作成する必要がある場合もある。 例えば、広告のクリック・商品購入の有無・レビューの星の数などユーザの行動がそのまま正解ラベルになることもあれば、 レビュー内容がポジティブな内容かネガティブな内容かなど、人間が見てアノテーションを設定する必要がある場合もある 特徴抽出(Feature Engineering)は場合によっては前処理と同じ扱いのこともある ここでは、 データをそもそも使える状態にするのが前処理 よりよい学習結果を得るためにデータに対して行う加工全般を特徴抽出 とする 学習はデータに対して実際に機械学習の手法を適用させて予測が可能なモデルを作成するプロセス 難しい数学の理論が絡んだりするが、SageMakerでは用意されているライブラリの関数を呼び出すのみ ただし、どの手法がどの目的で使えるかなどの対応関係は知っておく必要がある 学習を行った後は、モデルがどれだけうまく推論できるようになっているのかを評価する 機械学習の結果は100%正解するわけではないので、どのような場面で利用するかに応じて様々な方法で評価を行う 評価の結果うまく推論できそうもないとなった場合はデータを変えたり、手法を変えたりしながら結果を改善したり、諦めたりする。 推論時には、推論環境にモデルをデプロイして、関数やAPIなどで呼び出せるようにしておく 予測対象が限定的な場合は、あらかじめ結果をDBに入れておくなどしてもよい 推論用のシステムに入れるデータとしては、前処理などが済んでいる状態のものを入力とすることが可能だが、 特徴抽出で行ったロジックはそれ用のパラメータを持ってたりもするので、わりかしシステム側で持っておく必要がある。 この部分は推論結果を返す
  5. ・ notebookインスタンスの起動方法 ・ 起動してるインスタンスは仕込んでおく ・ コードを動かす  ・ 仕込むもの : モデル、エンドポイント ・ 推論する
  6. ・ notebookインスタンスの起動方法 ・ 起動してるインスタンスは仕込んでおく ・ コードを動かす  ・ 仕込むもの : モデル、エンドポイント ・ 推論する
  7. ・ notebookインスタンスの起動方法 ・ 起動してるインスタンスは仕込んでおく ・ コードを動かす  ・ 仕込むもの : モデル、エンドポイント ・ 推論する
  8. ・ notebookインスタンスの起動方法 ・ 起動してるインスタンスは仕込んでおく ・ コードを動かす  ・ 仕込むもの : モデル、エンドポイント ・ 推論する
  9. ・ notebookインスタンスの起動方法 ・ 起動してるインスタンスは仕込んでおく ・ コードを動かす  ・ 仕込むもの : モデル、エンドポイント ・ 推論する
  10. ・ notebookインスタンスの起動方法 ・ 起動してるインスタンスは仕込んでおく ・ コードを動かす  ・ 仕込むもの : モデル、エンドポイント ・ 推論する
  11. ・ notebookインスタンスの起動方法 ・ 起動してるインスタンスは仕込んでおく ・ コードを動かす  ・ 仕込むもの : モデル、エンドポイント ・ 推論する
  12. ・ notebookインスタンスの起動方法 ・ 起動してるインスタンスは仕込んでおく ・ コードを動かす  ・ 仕込むもの : モデル、エンドポイント ・ 推論する
  13. ・ notebookインスタンスの起動方法 ・ 起動してるインスタンスは仕込んでおく ・ コードを動かす  ・ 仕込むもの : モデル、エンドポイント ・ 推論する
  14. ・ notebookインスタンスの起動方法 ・ 起動してるインスタンスは仕込んでおく ・ コードを動かす  ・ 仕込むもの : モデル、エンドポイント ・ 推論する
  15. ・ notebookインスタンスの起動方法 ・ 起動してるインスタンスは仕込んでおく ・ コードを動かす  ・ 仕込むもの : モデル、エンドポイント ・ 推論する
  16. ・ notebookインスタンスの起動方法 ・ 起動してるインスタンスは仕込んでおく ・ コードを動かす  ・ 仕込むもの : モデル、エンドポイント ・ 推論する
  17. ・ notebookインスタンスの起動方法 ・ 起動してるインスタンスは仕込んでおく ・ コードを動かす  ・ 仕込むもの : モデル、エンドポイント ・ 推論する
  18. ・ notebookインスタンスの起動方法 ・ 起動してるインスタンスは仕込んでおく ・ コードを動かす  ・ 仕込むもの : モデル、エンドポイント ・ 推論する
  19. ・ notebookインスタンスの起動方法 ・ 起動してるインスタンスは仕込んでおく ・ コードを動かす  ・ 仕込むもの : モデル、エンドポイント ・ 推論する
  20. ・ notebookインスタンスの起動方法 ・ 起動してるインスタンスは仕込んでおく ・ コードを動かす  ・ 仕込むもの : モデル、エンドポイント ・ 推論する
  21. ・ notebookインスタンスの起動方法 ・ 起動してるインスタンスは仕込んでおく ・ コードを動かす  ・ 仕込むもの : モデル、エンドポイント ・ 推論する
  22. ・ notebookインスタンスの起動方法 ・ 起動してるインスタンスは仕込んでおく ・ コードを動かす  ・ 仕込むもの : モデル、エンドポイント ・ 推論する
  23. ・ notebookインスタンスの起動方法 ・ 起動してるインスタンスは仕込んでおく ・ コードを動かす  ・ 仕込むもの : モデル、エンドポイント ・ 推論する
  24. 例えば小売業であれば ・天気・気温 ・チラシ配布の有無や枚数 ・安売りなどの実施 ・夜間・昼間人口 ・幹線道路沿いにあるか など、売上に影響しそうな要素が使える
  25. クリック予測 : アクセスしたサイトの内容、年齢・性別、流入経路、直近クリックした広告など 退会者予測 : RFMや最終ログイン日、滞在時間、利用コンテンツ数など 口コミ : SNS上での書き込み カテゴライズ : これまでブックマークされたコンテンツの情報
  26. 協調フィルタリングとか