SlideShare a Scribd company logo
Azure MLで何かやる
2015年5月30日 /サトヤ+プロ生勉強会@マイクロソフト 東北支店
山口 健史 (@quintia)
五十嵐 祐貴 (@bonprosoft) Microsoft MVP for .NET / MSP / サトヤ
1
土下座タイム
• 今回Azure MLの惨敗しました
• あまり良い結果は見せられません
2
自己紹介
• 五十嵐 祐貴
• 所属
 Microsoft MVP for .NET April 2015
 Microsoft Student Partners Fellow
 サトヤ仙台
 青葉山の上
• 自然言語処理の研究室でアルバイト
 機械学習はあまり良く分かってません
3
Azure MLとは
• ブラウザだけで簡単に機械学習が試せるサービス
 手元で環境を整える必要が一切なし!
• 数クリックで実験からデプロイまで可能
 Azureの安定したプラットフォームに支えられて動きます
• Azureでホストしているサービスと連携
 BlobやSQL Databaseなどとも連携可能
• 様々なモジュールが手軽に扱える
 Open CVやR/Pythonなども扱えます
4
Azure MLを使って何かやる
〜 機械学習のはなし 〜
山口健史 @quintia
サトヤ+プロ生勉強会@マイクロソフト 東北支店
2015/5/30
わたしのこと
 大学研究室で働いているエンジニア
 機械学習を勉強しているわけじゃない
 でも、機械学習を扱う研究室なので
門前の小僧なんとやらで
「どんな話をしているか」ぐらいは
わかる(気になっている)
 教科書とかチュートリアルとかを
斜め読み状態でこの場に望んでいます
6
機械学習って、なに?
7
機械学習って、なに?
 コンピュータプログラムが、ある種のタスクTと評価
尺度Pにおいて、経験Eから学習するとは、タスクTに
おけるその性能をPによって評価した際に、経験Eに
よってそれが改善されている場合である
 Wikipedia 機械学習のページ より
 原文は Wikipedia 英語版
Machine Learning (Tom M. Mitchell) 1997
8
機械学習って、なに?
 アルゴリズムとして明示的に
解法が与えられないタスクに対して、
そのタスクを遂行するためのモデルを、
学習データから構築すること
フリーソフトではじめる機械学習入門 (荒木 雅弘)
9
つまりどういうこと?
何かの
タスクを
解く
プログラム
データ
答え
今度はもっとうまくタスクを解けるよ!
10
解こうと
している
タスクの
問題領域
研究で普段やっていること
システムの
答え
合ってる?
間違えてる?
問題領域を
うまく記述できる
モデル
学習用データ
テストデータ
これを検証する
11
繰り返す
機械学習の種類
教師あり学習
Classification
識別
Regression
回帰
教師なし学習
Clustering
クラスタリング
Anomaly Detection
異常検出
Pattern Mining
パターンマイニング
半教師あり学習
強化学習
Deep learning
深層学習
12
Distant
supervision
機械学習の種類
Azure ML studio のコンポーネント
教師あり学習
Classification
識別
Regression
回帰
教師なし学習
Clustering
クラスタリング
Anomaly Detection
異常検出
13
14
識別
回帰
クラスタリング
異常検知
教師あり
学習
教師なし
学習
識別
 2つのクラスのどちらかに属する
データの集合で学習
 データを持ってきた時にどちらに
属する(可能性が高いか)
を当てるタスク
 もしくは識別面を
当てるタスク
怪奇!!次元の呪い : 識別問題,パターン認識,データマイニングの初心者のために(後編)
情報処理, vol.43, no.5, pp.562-567 (2002) ※彩色は引用者
http://ci.nii.ac.jp/naid/110002764383
15
識別
怪奇!!次元の呪い : 識別問題,パターン認識,データマイニングの初心者のために(後編)
情報処理, vol.43, no.5, pp.562-567 (2002) ※彩色は引用者
http://ci.nii.ac.jp/naid/110002764383
こんな感じだと
思った?
16
識別
 2変数正規分布から発生させた
乱数のデータでした
 なので「真の識別面」は2次曲線
怪奇!!次元の呪い : 識別問題,パターン認識,データマイニングの初心者のために(後編)
情報処理, vol.43, no.5, pp.562-567 (2002)
http://ci.nii.ac.jp/naid/110002764383
この谷間を上から見ると
2次曲線になる(らしい)
17
識別
 主な手法(主な、と言いつつたくさん)
 決定木
 ロジスティック識別
 ベイジアンネットワーク
 ニューラルネットワーク
 サポートベクターマシン
 3クラス以上を識別する問題は
一工夫すれば ok
18
19
識別
回帰
クラスタリング
異常検知
教師あり
学習
教師なし
学習
回帰
 数値特徴から数値特徴を出力する関数
を推定するタスク
 識別とは「地と図」みたいな関係
 主な手法
 線形回帰
 回帰木
20
回帰
 1次元特徴→1次元特徴の関数を推定
こう?
それとも
こう?
21
22
識別
回帰
クラスタリング
異常検知
教師あり
学習
教師なし
学習
クラスタリング
 教師なしデータから
「近いもの」の固まりを
見つけ出すタスク
 主な手法
 k-means
23
異常検出
 教師なしデータから
大多数の正常データ
と
ほとんど発生しない異常データ
を分離する
 クラスタリングの特殊なケースとも
考えられる
24
問題を
解いてみよう
25
こんな題材
26
ポーカーの役の識別
 Poker Hand Data Set
 トランプのカード5枚分のデータ
と
それでできる役のデータ(正解)
で1件分
 学習用データ 25,010件
 テスト用データ 1,000,000件
http://archive.ics.uci.edu/ml/datasets/Poker+Hand
27
ポーカーの役の識別
2 2
5 5 7 7
J J J
3 4 5 6 7
♥ ♥ ♥ ♥ ♥
6 6 6 Q Q
4 4 4 4
♦
4
♦
5
♦
6
♦
7
♦
8
♠
10
♠
J
♠
Q
♠
K
♠
A
ワンペア
ツーペア
スリーカード
ストレート
フラッシュ
フルハウス
フォアカード
ストレートフラッシュ
ロイヤルストレートフラッシュ
28
ポーカーの役の識別
識別器 ?
どんな役ができた?
識別モデル
29
ポーカーの役の識別
識別器
♥
J
♥
3
♠
3
♦
8
♣
3
スリー
カード
どんな役ができた?
識別モデル
30
ポーカーの役の識別
2 2
5 5 7 7
♥ ♥ ♥ ♥ ♥
6 6 6 Q Q
4 4 4 4
♠
10
♠
J
♠
Q
♠
K
♠
A
ワンペア
ツーペア
フラッシュ
フルハウス
フォアカード
ロイヤルストレートフラッシュ
学習器
識別モデル
正解から学習
31
学習用データ
さて
32
こう思った人が
いるはず
33
それ
機械学習
使わなくてもいいよね?
34
(再掲)
 アルゴリズムとして明示的に
解法が与えられないタスクに対して、
そのタスクを遂行するためのモデルを、
学習データから構築すること
フリーソフトではじめる機械学習入門(荒木 雅弘)
35
じゃあなんでこの題材?
 プログラマなら100%識別可能な
ルールベースの識別器が書ける
 ということはどう解くのかが分かる
 機械学習が間違えた時にどうして
間違えたのかが想像できる
 最初はそういう問題の方がいいのでは
と思った
36
データの加工
0 1 0 0 1 0 0 0 0 0 …… 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 5
0 0 0 0 0 1 0 0 0 0 …… 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 0 0 …… 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 2
0 0 0 0 0 0 0 0 1 0 …… 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 4
0 0 0 0 0 0 0 0 0 0 …… 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 1 0 0 0 0 0 0 …… 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5
0 0 1 0 0 0 0 0 0 0 …… 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 7
52個の 0/1 の2値データ
1つがカード1枚を表現
つまり1行には1が5個
0:役なし
から
9:ロイヤル
ストレート
フラッシュ
(正解データ)
1行が1つの役
37
動かしてみる
38
Azureで予測する、宮城県の○○
39
ところで…
40
身近な?
全国のラーメン二郎の4sq
チェックインをクロール
41
身近な? _人人人人人人人_
> データ不足 <
 ̄Y^Y^Y^Y^Y^Y ̄
42
身近な?
山手線各駅の
チェックイン数
43
身近な?
山手線各駅の
チェックイン数
⇒面白そう
だがやはりデータが足りない
(2週間前に始めた)
44
ある日のメール
45
Azure MLを使ってクマ出没を予測
• 「ある地点pにおいて時間tの時に、クマが出没す
るかどうか」
 簡単にするために、pは宮城県全体をグリッドとした時の一部とす
る
• 問題点
 データセットの入手
 熊の出没に関わる素性
 学習にどのようなモデルを用いるか
 熊を人が”目撃した”データからの学習である
 熊にGPSが付いているわけではない
46
データセットの入手
47
ツキノワグマ出没情報
• 宮城県公式ホームページよりダウンロード可
 http://www.pref.miyagi.jp/soshiki/sizenhogo/h27kumajouhou.
html
• H22〜H27で合計2827件の目撃情報が獲得できた
• 大体の日時と大体の場所が記録
48
熊の出没の条件とは?
49
熊の出没条件
地形・植生的条件
気温・時間的条件
50
データを眺める
• 気温と出没数
51
データを眺める
• 降水量と出没数
52
デモ
• 実際に学習させます
53
熊に出会ったときは
• http://www.shizenfureaikan.jp/material/images/pdf/
animals/kuma.pdf
※興奮させないことが大切です
54
Azureで識別する○○○○○
55
みんなのアイドルと言えば…?
56
みんなのアイドルと言えば…?
57
プロ生ちゃん!!!
58
プロ生ちゃんが出演する漫画があるらしい
• すぱこー
 http://pronama.azurewebsites.net/web-comic/
• 情報処理研究会のメンバー活躍するWebコミック
 http://pronama.azurewebsites.net/pronama/computer-
science-club/
59
Azure MLを使ってキャラ判別
• すぱこーのデータを入力した時に漫画中のキャラを識別する
• 今話題のDeep Learningに近いお話 (になるはずだった)
60
Deep Learning
• 画像の分類問題
 一昔前まで
 いかに画像から特徴を抽出するかがキー
 抽出した特徴を素性として機械学習
 今
 実は生画像だけでも機械が特徴を自動的に獲得してくれる(?)
 レイヤーが深くなるごとに全体的・抽象的となっていく
61
ConvolutionとPooling
(引用: http://www.vision.is.tohoku.ac.jp/files/9313/6601/7876/CVIM_tutorial_deep_learning.pdf )
カーネルは自動で学習
or
Denoising Autoencoder やRBMでプレトレーニング
62
CIFAR10のCNN
(引用: http://www.vision.is.tohoku.ac.jp/files/9313/6601/7876/CVIM_tutorial_deep_learning.pdf )
63
CIFAR10で学習した例
• Deep Learningでラブライブ!キャラを識別する
 http://christina.hatenablog.com/entry/2015/01/23/212541
• ご注文はDeep Learningですか?
 http://kivantium.hateblo.jp/entry/2015/02/20/214909
• きんいろDeepLearning
 http://showyou.hatenablog.com/entry/2015/05/24/174621
64(画像は各サイトからそれぞれ引用)
最高
65
さっそくやってみる
• AzureでもDeep Learning 出来るらしい
 http://gallery.azureml.net/Details/7d3f74981b5b42cd9687370
671c86696
• Multiclass Neural Networkモジュールを使用
 Hidden layer specificationをCustom definition scriptに変更
 言語はNet# と呼ばれるものを使う
 https://azure.microsoft.com/ja-
jp/documentation/articles/machine-learning-azure-ml-
netsharp-reference-guide/
66
書く
67
動かす
68
突然のエラー
_人人人人人人人人人人人人人人人人人人_
> System.NullReferenceException <
 ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄
69
とりあえずデモ
• します
70
思うこと
• Open CV Image Readerがちょっと使いにくい
 扱えるImageのサイズに制限がある
 正規化されない
 FileNameとピクセルごとの色データしか出力されない
• WebAPIのInput/Outputが少々使いにくい
 画像データを渡すのが大変
• よく内部例外にあたる
 どこが原因かつかみにくい
71
まとめ
• Azure MLは手軽に機械学習が試せる研究室
 Caffeなどの強力なツールもあるが、慣れていないと環境構築も大変
• クラウドの力で大規模なデータを扱える
 Azure MLはAzureと連携してクラウドの利点を最大限に活かせます
• まずは試してみよう!
 無料で試せます
 https://studio.azureml.net
72
謝辞
• 本セッション中の実験・データ処理にあたって、以下の
方々に多大なご協力をいただきました。
 佐々木さん ( @hikomimo)
 ぺろさん ( @ThePerorist )
 おぼさん ( @oboenikui )
 雀さん ( @WeatherSparrow )
73

More Related Content

PPTX
Azure MLやってみよう
PPTX
Azure Machine Learningを触ってみた!
PPTX
Azure MLによるWeb Serviceの作り方
PDF
Azure Machine Learningによるレコメンデーションの設計&実装を公開!~朝日カルチャーセンターの事例から~
PPTX
推薦システムを構築する手順書 with Azure Machine Learning
PPTX
20150608 初心者によるazure machinelearning入門
PDF
センサーデバイスのデータを使った Microsoft Azure Machine Learning 実装入門
PDF
20201216 jazug azureexam
Azure MLやってみよう
Azure Machine Learningを触ってみた!
Azure MLによるWeb Serviceの作り方
Azure Machine Learningによるレコメンデーションの設計&実装を公開!~朝日カルチャーセンターの事例から~
推薦システムを構築する手順書 with Azure Machine Learning
20150608 初心者によるazure machinelearning入門
センサーデバイスのデータを使った Microsoft Azure Machine Learning 実装入門
20201216 jazug azureexam

What's hot (20)

PPTX
Visual studio communityの紹介
PDF
20210925_jazug_azure_what_to_do_first
PPTX
Jazug福島 azure vm_20150404
PPTX
20181117 azure ml_seminar_1
PPTX
Tips for passing AZ-103 once
PDF
JAWS DAYS 2014 ACEに聞け! S3
PPTX
ここがつらいよAws batch
PPTX
Azure(クラウド)を使った堅牢なシステムを考える
PDF
Azure Cognitive Serviceの感情分析を使って自分を見つめ直す
PPTX
Azure event grid 紹介
PDF
jaws-ug kansai-special_kinesis_20150207
PDF
Azure Fundamental
PPTX
2016 09-03 jazug
PPTX
Redmineosaka 20 talk_crosspoints
PPTX
関数プロキシを使って REST APIっぽくを使ってみる
PPTX
jazug信州 オートメーションと可用性セットの話
PDF
20190731 Azure Functions x Line at Azure Tech Lab #4
PDF
俺的 Ignite 2021 Spring Update まとめ ミニ
PPTX
クラウド業界、移ってみてWindows Azure中の人になって 分かったこと(仮)
PPTX
sakura-baremetal_ssmjp
Visual studio communityの紹介
20210925_jazug_azure_what_to_do_first
Jazug福島 azure vm_20150404
20181117 azure ml_seminar_1
Tips for passing AZ-103 once
JAWS DAYS 2014 ACEに聞け! S3
ここがつらいよAws batch
Azure(クラウド)を使った堅牢なシステムを考える
Azure Cognitive Serviceの感情分析を使って自分を見つめ直す
Azure event grid 紹介
jaws-ug kansai-special_kinesis_20150207
Azure Fundamental
2016 09-03 jazug
Redmineosaka 20 talk_crosspoints
関数プロキシを使って REST APIっぽくを使ってみる
jazug信州 オートメーションと可用性セットの話
20190731 Azure Functions x Line at Azure Tech Lab #4
俺的 Ignite 2021 Spring Update まとめ ミニ
クラウド業界、移ってみてWindows Azure中の人になって 分かったこと(仮)
sakura-baremetal_ssmjp
Ad

Similar to Azure MLで何かやる (20)

PDF
Teratail Study  ~機械学習編#1~
PPTX
Microsoft Open Tech Night: Azure Machine Learning - AutoML徹底解説
PDF
Dat013 機械学習を真に活
PPTX
Azure Machine Learning Hands-on - AutoML編 - 2020年1月
PPTX
Azure Machine Learning services 2019年6月版
PPTX
20150404 jazug fukushima
PPTX
20140920 jazug ml
PPTX
Try Azure Machine Learning
PDF
[AI02] こんなに敷居が低いのならば、Azure でやってみようか機械学習
PPTX
BrainPad - Doors - A-1 - Microsoft Data and AI
PDF
Azure Machine Learning アップデートセミナー 20191127
PDF
機械学習と Azure ML Studio の基本
PPTX
Azure machine learning
PDF
[Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう
PPTX
機械学習 / Deep Learning 大全 (1) 機械学習基礎編
PDF
AutoML & InterpretML (2019/11/27 Deep Learning Lab 講演資料)
PDF
【de:code 2020】 学生諸君! Azure であそぼう! ~Microsoft の AI を自作アプリに取り入れるまで~
PPTX
日経コンピュータ主催:さわってわかる機械学習 Azure Machine Learning 実践セミナー
PDF
Azure Machine Learning Build 2020
PPTX
初めて機械学習を勉強しました
Teratail Study  ~機械学習編#1~
Microsoft Open Tech Night: Azure Machine Learning - AutoML徹底解説
Dat013 機械学習を真に活
Azure Machine Learning Hands-on - AutoML編 - 2020年1月
Azure Machine Learning services 2019年6月版
20150404 jazug fukushima
20140920 jazug ml
Try Azure Machine Learning
[AI02] こんなに敷居が低いのならば、Azure でやってみようか機械学習
BrainPad - Doors - A-1 - Microsoft Data and AI
Azure Machine Learning アップデートセミナー 20191127
機械学習と Azure ML Studio の基本
Azure machine learning
[Developers Festa Sapporo 2015] Azure Machine Learningで機械学習を始めよう
機械学習 / Deep Learning 大全 (1) 機械学習基礎編
AutoML & InterpretML (2019/11/27 Deep Learning Lab 講演資料)
【de:code 2020】 学生諸君! Azure であそぼう! ~Microsoft の AI を自作アプリに取り入れるまで~
日経コンピュータ主催:さわってわかる機械学習 Azure Machine Learning 実践セミナー
Azure Machine Learning Build 2020
初めて機械学習を勉強しました
Ad

More from Yuki Igarashi (15)

PDF
.NET Coreとツール類の今
PDF
論文紹介:The wavelet matrix
PDF
Introduction to VSCode
PDF
それっぽく感じる機械学習
PDF
Visual Studio 拡張機能の作り方
PDF
Microsoft Azure 概要
PDF
続・Kinect v2を通してMicrosoft技術を考える
PDF
Kinect v2を通してMicrosoft技術を考える
PDF
君も今日からWebMatrixMan(仮)
PDF
Visual Studio付きWindowsインスタンスの利用方法
PDF
EXTREME AZURE 2
PDF
Introduction to Roslyn
PDF
//publish/ MSPTutorial 応用編
PDF
Community Camp 2014 Tohoku LT
PDF
VBCPP - ICT+R 2012
.NET Coreとツール類の今
論文紹介:The wavelet matrix
Introduction to VSCode
それっぽく感じる機械学習
Visual Studio 拡張機能の作り方
Microsoft Azure 概要
続・Kinect v2を通してMicrosoft技術を考える
Kinect v2を通してMicrosoft技術を考える
君も今日からWebMatrixMan(仮)
Visual Studio付きWindowsインスタンスの利用方法
EXTREME AZURE 2
Introduction to Roslyn
//publish/ MSPTutorial 応用編
Community Camp 2014 Tohoku LT
VBCPP - ICT+R 2012

Azure MLで何かやる