Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
nishio
PDF, PPTX
144,850 views
If文から機械学習への道
機械学習とif文が地続きであることを解説しました。 ver.2 質問への回答を追加し、顧客価値の小問に図を追加してわかりやすくかみ砕きました。
Education
◦
Read more
415
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 79
2
/ 79
3
/ 79
4
/ 79
5
/ 79
6
/ 79
7
/ 79
8
/ 79
9
/ 79
10
/ 79
11
/ 79
12
/ 79
13
/ 79
14
/ 79
15
/ 79
16
/ 79
17
/ 79
18
/ 79
19
/ 79
20
/ 79
21
/ 79
22
/ 79
Most read
23
/ 79
24
/ 79
Most read
25
/ 79
26
/ 79
27
/ 79
28
/ 79
29
/ 79
30
/ 79
31
/ 79
32
/ 79
33
/ 79
Most read
34
/ 79
35
/ 79
36
/ 79
37
/ 79
38
/ 79
39
/ 79
40
/ 79
41
/ 79
42
/ 79
43
/ 79
44
/ 79
45
/ 79
46
/ 79
47
/ 79
48
/ 79
49
/ 79
50
/ 79
51
/ 79
52
/ 79
53
/ 79
54
/ 79
55
/ 79
56
/ 79
57
/ 79
58
/ 79
59
/ 79
60
/ 79
61
/ 79
62
/ 79
63
/ 79
64
/ 79
65
/ 79
66
/ 79
67
/ 79
68
/ 79
69
/ 79
70
/ 79
71
/ 79
72
/ 79
73
/ 79
74
/ 79
75
/ 79
76
/ 79
77
/ 79
78
/ 79
79
/ 79
More Related Content
PDF
テスト文字列に「うんこ」と入れるな
by
Kentaro Matsui
PDF
ChatGPTは思ったほど賢くない
by
Carnot Inc.
PPTX
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
by
Tokoroten Nakayama
PDF
PlaySQLAlchemy: SQLAlchemy入門
by
泰 増田
PDF
機械学習で泣かないためのコード設計
by
Takahiro Kubo
PDF
ナレッジグラフとオントロジー
by
University of Tsukuba
PDF
MLOpsの概要と初学者が気をつけたほうが良いこと
by
Sho Tanaka
PDF
(修正)機械学習デザインパターン(ML Design Patterns)の解説
by
Hironori Washizaki
テスト文字列に「うんこ」と入れるな
by
Kentaro Matsui
ChatGPTは思ったほど賢くない
by
Carnot Inc.
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
by
Tokoroten Nakayama
PlaySQLAlchemy: SQLAlchemy入門
by
泰 増田
機械学習で泣かないためのコード設計
by
Takahiro Kubo
ナレッジグラフとオントロジー
by
University of Tsukuba
MLOpsの概要と初学者が気をつけたほうが良いこと
by
Sho Tanaka
(修正)機械学習デザインパターン(ML Design Patterns)の解説
by
Hironori Washizaki
What's hot
PDF
ブレインパッドにおける機械学習プロジェクトの進め方
by
BrainPad Inc.
PDF
イミュータブルデータモデル(世代編)
by
Yoshitaka Kawashima
PDF
Marp Tutorial
by
Rui Watanabe
PDF
イミュータブルデータモデルの極意
by
Yoshitaka Kawashima
PDF
ナレッジグラフ入門
by
KnowledgeGraph
PDF
ドメイン駆動設計のための Spring の上手な使い方
by
増田 亨
PDF
失敗から学ぶ機械学習応用
by
Hiroyuki Masuda
PDF
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
by
mlm_kansai
PDF
モジュールの凝集度・結合度・インタフェース
by
Hajime Yanagawa
PPTX
MLOpsはバズワード
by
Tetsutaro Watanabe
PPTX
事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)
by
Tokoroten Nakayama
PPTX
MLflowで学ぶMLOpsことはじめ
by
Kenichi Sonoda
PDF
データ基盤に関わる問い合わせ対応を仕組みで解決する
by
株式会社MonotaRO Tech Team
PPTX
なぜコンピュータを学ばなければならないのか 21世紀の君主論
by
Tokoroten Nakayama
PDF
MLflowによる機械学習モデルのライフサイクルの管理
by
Takeshi Yamamuro
PDF
マイクロにしすぎた結果がこれだよ!
by
mosa siru
PDF
イミュータブルデータモデル(入門編)
by
Yoshitaka Kawashima
PDF
SQL大量発行処理をいかにして高速化するか
by
Shogo Wakayama
PDF
深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで
by
Yahoo!デベロッパーネットワーク
PDF
シリコンバレーの「何が」凄いのか
by
Atsushi Nakada
ブレインパッドにおける機械学習プロジェクトの進め方
by
BrainPad Inc.
イミュータブルデータモデル(世代編)
by
Yoshitaka Kawashima
Marp Tutorial
by
Rui Watanabe
イミュータブルデータモデルの極意
by
Yoshitaka Kawashima
ナレッジグラフ入門
by
KnowledgeGraph
ドメイン駆動設計のための Spring の上手な使い方
by
増田 亨
失敗から学ぶ機械学習応用
by
Hiroyuki Masuda
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
by
mlm_kansai
モジュールの凝集度・結合度・インタフェース
by
Hajime Yanagawa
MLOpsはバズワード
by
Tetsutaro Watanabe
事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)
by
Tokoroten Nakayama
MLflowで学ぶMLOpsことはじめ
by
Kenichi Sonoda
データ基盤に関わる問い合わせ対応を仕組みで解決する
by
株式会社MonotaRO Tech Team
なぜコンピュータを学ばなければならないのか 21世紀の君主論
by
Tokoroten Nakayama
MLflowによる機械学習モデルのライフサイクルの管理
by
Takeshi Yamamuro
マイクロにしすぎた結果がこれだよ!
by
mosa siru
イミュータブルデータモデル(入門編)
by
Yoshitaka Kawashima
SQL大量発行処理をいかにして高速化するか
by
Shogo Wakayama
深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで
by
Yahoo!デベロッパーネットワーク
シリコンバレーの「何が」凄いのか
by
Atsushi Nakada
Viewers also liked
PDF
交渉力について
by
nishio
PDF
片手間MySQLチューニング戦略
by
yoku0825
PDF
ミリシタを支える GAE/Go
by
Google Cloud Platform - Japan
PPTX
本当は恐ろしい分散システムの話
by
Kumazaki Hiroki
PPTX
Elixir入門「第1回:パターンマッチ&パイプでJSONパースアプリをサクっと書いてみる」【旧版】※新版あります
by
fukuoka.ex
PDF
アドテクと機械学習システムの開発@SMN・サンカク・CodeIQワークショップ
by
Kei Tateno
PPTX
エンジニアのための学ぶ技術
by
nishio
PDF
[AKIBA.AWS] EC2の基礎 - パフォーマンスを100%引き出すオプション設定 -
by
Shuji Kikuchi
PDF
Dependency injection in PHP 5.3/5.4
by
Fabien Potencier
PDF
闇深めだったサービスのスタイルガイド作成までの真実
by
Yuriko Okabe
PDF
20120706-readablecode
by
Masanori Kado
PDF
人工知能に何ができないか? ー ゲームと人工知能の視点から -
by
Youichiro Miyake
PDF
Memory Networks (End-to-End Memory Networks の Chainer 実装)
by
Shuyo Nakatani
PDF
PHP 2大 web フレームワークの徹底比較!
by
Shohei Okada
PDF
Lyric Jumper:アーティストごとの歌詞トピックの傾向に基づく歌詞探索サービス
by
Kosetsu Tsukuda
PPTX
Jap2017 ss65 優しいベイズ統計への導入法
by
考司 小杉
PDF
広告プラットフォーム立ち上げ百鬼夜行
by
Takahiro Ogoshi
ODP
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
by
pospome
PDF
多腕バンディット問題: 定式化と応用 (第13回ステアラボ人工知能セミナー)
by
STAIR Lab, Chiba Institute of Technology
PDF
日本音響学会2017秋 ビギナーズセミナー "深層学習を深く学習するための基礎"
by
Shinnosuke Takamichi
交渉力について
by
nishio
片手間MySQLチューニング戦略
by
yoku0825
ミリシタを支える GAE/Go
by
Google Cloud Platform - Japan
本当は恐ろしい分散システムの話
by
Kumazaki Hiroki
Elixir入門「第1回:パターンマッチ&パイプでJSONパースアプリをサクっと書いてみる」【旧版】※新版あります
by
fukuoka.ex
アドテクと機械学習システムの開発@SMN・サンカク・CodeIQワークショップ
by
Kei Tateno
エンジニアのための学ぶ技術
by
nishio
[AKIBA.AWS] EC2の基礎 - パフォーマンスを100%引き出すオプション設定 -
by
Shuji Kikuchi
Dependency injection in PHP 5.3/5.4
by
Fabien Potencier
闇深めだったサービスのスタイルガイド作成までの真実
by
Yuriko Okabe
20120706-readablecode
by
Masanori Kado
人工知能に何ができないか? ー ゲームと人工知能の視点から -
by
Youichiro Miyake
Memory Networks (End-to-End Memory Networks の Chainer 実装)
by
Shuyo Nakatani
PHP 2大 web フレームワークの徹底比較!
by
Shohei Okada
Lyric Jumper:アーティストごとの歌詞トピックの傾向に基づく歌詞探索サービス
by
Kosetsu Tsukuda
Jap2017 ss65 優しいベイズ統計への導入法
by
考司 小杉
広告プラットフォーム立ち上げ百鬼夜行
by
Takahiro Ogoshi
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
by
pospome
多腕バンディット問題: 定式化と応用 (第13回ステアラボ人工知能セミナー)
by
STAIR Lab, Chiba Institute of Technology
日本音響学会2017秋 ビギナーズセミナー "深層学習を深く学習するための基礎"
by
Shinnosuke Takamichi
Similar to If文から機械学習への道
PDF
Hands on-ml section1-1st-half-20210317
by
Nagi Kataoka
PDF
ルールベースから機械学習への道 公開用
by
nishio
PPTX
機械学習の基礎
by
Ken Kumagai
PDF
機械学習入門とGPUと学習参考サイト
by
Yusuke Yoshie
PDF
[第2版] Python機械学習プログラミング 第1章
by
Haruki Eguchi
PDF
機械学習の理論と実践
by
Preferred Networks
PDF
Pythonで機械学習をやってみる(bizpy 1/19 2022)
by
Hirofumi Watanabe
PDF
20190526 bayes ml
by
Yoichi Tokita
PDF
データベースで始める機械学習
by
オラクルエンジニア通信
PDF
A Machine Learning Framework for Programming by Example
by
Koji Matsuda
PDF
初めての機械学習
by
Katsuhiro Morishita
PPTX
Digdagで機械学習モデルの自動更新がしたい!
by
洸介 藤田
PDF
機械学習 入門
by
Hayato Maki
PPTX
2020/11/19 Global AI on Tour - Toyama プログラマーのための機械学習入門
by
Daiyu Hatakeyama
PDF
What is machine_learning
by
tetuwo181
PPTX
統計と機械学習
by
MatsuiRyo
PDF
bigdata2012ml okanohara
by
Preferred Networks
PPTX
Machine learning
by
hiroyukikageyama2
PDF
R+pythonでKAGGLEの2値予測に挑戦!
by
Yurie Oka
PPTX
1028 TECH & BRIDGE MEETING
by
健司 亀本
Hands on-ml section1-1st-half-20210317
by
Nagi Kataoka
ルールベースから機械学習への道 公開用
by
nishio
機械学習の基礎
by
Ken Kumagai
機械学習入門とGPUと学習参考サイト
by
Yusuke Yoshie
[第2版] Python機械学習プログラミング 第1章
by
Haruki Eguchi
機械学習の理論と実践
by
Preferred Networks
Pythonで機械学習をやってみる(bizpy 1/19 2022)
by
Hirofumi Watanabe
20190526 bayes ml
by
Yoichi Tokita
データベースで始める機械学習
by
オラクルエンジニア通信
A Machine Learning Framework for Programming by Example
by
Koji Matsuda
初めての機械学習
by
Katsuhiro Morishita
Digdagで機械学習モデルの自動更新がしたい!
by
洸介 藤田
機械学習 入門
by
Hayato Maki
2020/11/19 Global AI on Tour - Toyama プログラマーのための機械学習入門
by
Daiyu Hatakeyama
What is machine_learning
by
tetuwo181
統計と機械学習
by
MatsuiRyo
bigdata2012ml okanohara
by
Preferred Networks
Machine learning
by
hiroyukikageyama2
R+pythonでKAGGLEの2値予測に挑戦!
by
Yurie Oka
1028 TECH & BRIDGE MEETING
by
健司 亀本
More from nishio
PDF
量子アニーリングマシンのプログラミング
by
nishio
PDF
夏プロ報告
by
nishio
PDF
ITと経営
by
nishio
PDF
部分観測モンテカルロ計画法を用いたガイスターAI
by
nishio
PDF
組織横断型研究室構想
by
nishio
PDF
2017首都大学東京情報通信特別講義
by
nishio
PDF
強化学習その5
by
nishio
PDF
良いアイデアを出すための方法
by
nishio
PDF
強化学習その4
by
nishio
PDF
強化学習その3
by
nishio
PDF
強化学習その2
by
nishio
PDF
強化学習その1
by
nishio
PDF
線形?非線形?
by
nishio
PDF
機械学習キャンバス0.1
by
nishio
PDF
首都大学東京「情報通信特別講義」2016年西尾担当分
by
nishio
PPTX
勾配降下法の最適化アルゴリズム
by
nishio
PDF
Wifiで位置推定
by
nishio
PDF
ESP8266EXで位置推定
by
nishio
PDF
Raspberry PiでWifiルータを作る
by
nishio
PDF
Wifiにつながるデバイス(ESP8266EX, ESP-WROOM-02, ESPr Developerなど)
by
nishio
量子アニーリングマシンのプログラミング
by
nishio
夏プロ報告
by
nishio
ITと経営
by
nishio
部分観測モンテカルロ計画法を用いたガイスターAI
by
nishio
組織横断型研究室構想
by
nishio
2017首都大学東京情報通信特別講義
by
nishio
強化学習その5
by
nishio
良いアイデアを出すための方法
by
nishio
強化学習その4
by
nishio
強化学習その3
by
nishio
強化学習その2
by
nishio
強化学習その1
by
nishio
線形?非線形?
by
nishio
機械学習キャンバス0.1
by
nishio
首都大学東京「情報通信特別講義」2016年西尾担当分
by
nishio
勾配降下法の最適化アルゴリズム
by
nishio
Wifiで位置推定
by
nishio
ESP8266EXで位置推定
by
nishio
Raspberry PiでWifiルータを作る
by
nishio
Wifiにつながるデバイス(ESP8266EX, ESP-WROOM-02, ESPr Developerなど)
by
nishio
If文から機械学習への道
1.
if文から機械学習への道 2017-09-26 BPStudy#121 サイボウズラボ /
BeProud技術顧問 理学博士 / 技術経営学修士 西尾泰和 ver.2 2017-09-29 公開
2.
機械学習って 今書いてるプログラムから 遠い世界だと思ってませんか? 2
3.
このスライドの目的 みんなのよく知っているif文と機械学習の 橋渡しをすることで地続きにし、 実務で機械学習を使えるようにする。 また、機械学習のビジネス導入の進め方を 4ステップに分けて一歩一歩解説する。 3
4.
if文 if(`条件`){ … } 4
5.
if文の仕組み 条件がTrueの時に、 中身を実行 5
6.
条件が複数ある時 条件x1と条件x2の どちらかがTrueの時に 実行したいなら、どうする? 6
7.
or if(x1 or x2){ … } 7
8.
条件が複数ある時 条件x1と条件x2の 両方がTrueの時に 実行したいなら、どうする? 8
9.
and if(x1 and x2){ … } 9
10.
条件が複数ある時 条件x1, x2, x3の内、 2つ以上がTrueの時に 実行したいなら、どうする? 10
11.
複雑! if((x1 and x2) or
(x1 and x3) or (x2 and x3)){ … } 11
12.
条件が複数ある時 条件x1, x2, …,
x5の内、 3つ以上がTrueの時に 実行したいなら、どうする? 12
13.
複雑! if((x1 and x2
and x3) or (x1 and x2 and x4) or (x1 and x2 and x5) or…){ … } 13
14.
もっと良い方法がある! 14
15.
真偽値を数値にする Trueを1、Falseを0に変換すると 「3つ以上がTrue」は 「足したら3以上」に変わる。 if((x1 + x2
+ x3 + x4 + x5) >= 3){ … } 15
16.
andもorも同じ形にできる x1 and x2
and x3 and x4 and x5 = 条件x1, x2, …, x5の、すべてがTrue = 足したら5以上 x1 or x2 or x3 or x4 or x5 = 条件x1, x2, …, x5の、どれかがTrue = 足したら1以上 16
17.
andもorも同じ形にできる 条件x1, x2, …,
x5の、すべてがTrue (x1 + x2 + x3 + x4 + x5) >= 5 条件x1, x2, …, x5のうち3つ以上True (x1 + x2 + x3 + x4 + x5) >= 3 条件x1, x2, …, x5の、どれかがTrue (x1 + x2 + x3 + x4 + x5) >= 1 17
18.
右辺をそろえてみる 条件x1, x2, …,
x5の、すべてがTrue(弱い) ( 𝟏 𝟓 * x1 + …) >= 1 条件x1, x2, …, x5のうち3つ以上True ( 𝟏 𝟑 * x1 + …) >= 1 条件x1, x2, …, x5の、どれかがTrue(強い) (1 * x1 + …) >= 1 18
19.
強さ=重み 条件の「強さ」のようなものが 係数(重み)の大きさで表現される。 19
20.
問 条件x1, x2, …,
x5の、すべてがTrueまたは 条件x6, x7, …, x10のうち3つ以上Trueまたは 条件x11, x12, …, x15の、どれかがTrue を表現するにはどうすればよい? 20
21.
重みは条件ごとに異なってもよい 𝟏 𝟓 * x1 +
… + 𝟏 𝟑 * x6 + … + 1 * x11 + … >= 1 21
22.
重み付き和の方法 真偽値のTrueを1、Falseを0にし、 条件の強さを重みにして掛け合わせ、 足し合わせることによって andやorの組み合わせでは苦労するような 複雑な条件を記述することができる。 22 否定が負の重みで実現できることと、xorが表現できないことは割愛
23.
重みはどうやって調整する? 1: 今やったみたいに人間が決める 2: 大量のデータを元に機械が決める=機械学習 23
24.
具体的なコード 今回の内容はロジスティック回帰を使って 学習できる。 from sklearn.linear_model import LogisticRegression
ってやって fit(X, y)を呼べば重みが自動調整されて predict(X)を呼べば重み付き和を計算して 判断してくれる。楽ちん。 24 ロジスティック回帰についてくわしく知りたい人は、 サイボウズラボの中谷秀洋さんが技術評論社のサイトで連載しているのがおススメ http://gihyo.jp/dev/serial/01/machine-learning/0018
25.
まとめ 複雑な条件はand/orで書くのが大変。 重み付き和で置きかえると楽になる。 重みはデータが十分あれば 機械学習で決められる。 今回説明した程度のことは scikit-learnを使えば数行でできる。 25
26.
ここまで 機械学習の技術 ここから 機械学習のビジネス 4つのステップ 26
27.
アカデミアとビジネスの違い アカデミア • データが公開されている • 枯れた技術はとっくの昔に調査済み •
新しい手法を考案して精度を競い合う ビジネス • データが公開されてない 27 枯れた技術を使う
28.
ビジネスの目的 顧客価値 28 新規性ではない
29.
顧客価値を体感するための小問 ある宝石の原石は、割ると1/2の確率で宝石が 入っていて2万円で売れる。原石は1つ9500円で 買える。原石は硬いので1日に20個しか割れない Q1: 1日に稼げる収益の期待値はいくらか 29
30.
A1 収益の期待値 A1: 1/2の確率で20000円手に入るので、 1個あたりの収入の期待値は10000円。 1個あたりの仕入れ価格は9500なので、 1個あたりの収益は500円。 1日に20個処理できるので、 1日あたりの収益は10000円。 30
31.
Q2 加工速度二倍の装置 Q2: 原石を人間の2倍の速度で割る機械を手に入 れたとする。つまり、1日に割ることができる原 石の数が20個から40個に増えたとする。 収益の期待値はいくら増えるか? 31
32.
A2 加工速度二倍の装置 A2: 原石1個あたり500円の利益なのは変わらない。 1日に処理できる量が20個から40個に増える。 20個増えるので、利益は1万円増える。 32
33.
Q3 60%の識別器 Q3: 60%の確率で宝石の入った原石を当てる識別 器*が買えるとする。 収益の期待値はいくら増えるか? 33 *
原石を買う前に使うことで「60%の確率で宝石が入っている原石」を9500円で手 に入れられるようになるとします。お店の人が嫌がりそう、という点は今回は気に ません。またQ2の機械は手に入っておらず、1日に割れる数は20個のままとします。
34.
A3: 60%の識別器 60%の確率で20000円手に入るので、 1個あたりの収入の期待値は12000円。 1個あたりの仕入れ価格は9500円なので、 1個あたりの収益は2500円。 1日に20個処理できるので1日あたりの収益は 5万円。4万円増える。 34
35.
つまり この問題設定では、 「加工速度を2倍にする装置」は 顧客の利益を1万円増やし、 「精度60%の識別器」は 顧客の利益を4万円増やす。 35
36.
教訓 この問題設定では、 「精度60%の識別器」が 「加工速度を2倍にする装置」の 4倍の顧客価値を持っている。 どの程度の精度でどの程度の顧客価値を 生み出すことができるかは ビジネス要件によって決まる。 36 精度は必ずしも重要ではない
37.
ビジネス要件 精度を高めようと考える前に、 まず顧客が何を求めているか、 どういう制約条件があるのかを 明確化する必要がある。 最新の論文に書かれた手法を実装しても、 その手法が要求する量のデータを 顧客が用意できないのであれば、 その実装は顧客価値を持たない。 37
38.
顧客は専門家ではない 多くの場合顧客は機械学習の専門家ではないので 必要な精度も、満たすべき制約条件も、 明確に言語化することができない。 なので、これを高速に学び取ることが必要。 38
39.
Minimum Viable Product ITベンチャー経営の方法論 「リーン・スタートアップ」で提唱された 考え方。ベンチャーは資金に限りがあるので 素早く顧客ニーズを理解しなければならない。 そこで、最小限のコストで雑な製品を作り、 それを実際に顧客に見せてみることで、 顧客のニーズがどこにあるのかを探る。 39
40.
最小限の実装=実装しない 「コンシェルジュ型MVP」と呼ばれる 40
41.
ステップ1 人間がやると想定して次の質問に答えよう (1) 顧客は何がどうなると嬉しいのか (2) それを人間がやるならどうやってやるか (既にやっている人間がいるのか?いないのか?) 41
42.
(2)人間がどうやってやるか 既にやっている人がいる、または、 やり方はわかる。 しかし時間や労力が掛かりすぎる。 → チャンス!機械化で時間や労力を減らすこと が顧客価値になる! 42
43.
(2)人間がどうやってやるか 顧客側などでやっている人がいる、しかし、 自分はやり方がわからない。 → 何か重要な情報の伝達漏れが発生している。 43
44.
(2)人間がどうやってやるか 人間がやる方法を、顧客も自分もわからない → そもそも無茶なことを妄想している可能性。 44
45.
例: スパムフィルタ Q1 顧客は何がどうなると嬉しいのか A1
顧客はメールボックスにスパムメールがたく さんあって困っている、スパムがなくなるとうれ しい Q2 それを人間がやるならどうやってやるか A2 メールの本文を見て、スパムかどうか判定し て、スパムは別のフォルダに移動する 45
46.
ステップ2 人間を箱に入れる。 この箱には電子データしか出し入れできない。 (リモートワークと考えてもよい) 46
47.
ステップ2 (3) 人間が(2)をするために、箱にどんなデータを 入れるのか? (4) 人間が(2)をすることで、箱からどんな出力 データが出てくるのか? 47
48.
ステップ2 (5) 入力データ(3)はどうやって入手するのか? (最初の一歩と継続的にやる方法) (6) 出力データ(4)をどうやって顧客価値(1)につな げるのか? 48
49.
答える順番は問わない この4つの質問の答える順番は問わない。 例1: 顧客に~をするために(6)、~を出力する(4)、 そのため入力~を入れる(3)、これをどうやって 入手しようか?(5) 例2: 今~データが入手できている(5,
3) ここから顧客価値を生むにはどうするか?(6) そのためにはどういう出力が必要か?(4) 49
50.
例: スパムフィルタ >Q2 それを人間がやるならどうやってやるか >A2
人間がやるなら、メールの本文を見て、ス パムかどうか判定して、スパムは別のフォルダに 移動する Q3 人間が(2) するために、どんなデータを入れる 必要があるか? A3 メールの本文の情報が必要。タイトルや送信 者も貰えるなら貰いたい 50
51.
例: スパムフィルタ Q4 人間が(2)をすることで、箱からどんな出力 データが出てくるのか? A4
各メールに対して「スパムである、スパムで ない」のラベルを出力 51
52.
例: スパムフィルタ Q5 入力データ(3)はどうやって入手するのか? A5
最初の一歩としてはとりあえずメールをエク スポートしてもらえれば。 継続的にやるにはメーラからデータを取る方法を 作るか、メールサーバの側に手を加えるかが必要 そう。 52
53.
例: スパムフィルタ Q6 出力データ(4)をどうやって顧客価値(1)につな げるのか? A6
スパムである/ないのラベルを見て、メールを 振り分けする 53
54.
アルバイト (7) 箱の中の人が、まったく知識のないアルバイ トだとしたら、どんなマニュアルを用意する必要 があるか? これを考えておくと次のステップが楽になる。 54
55.
ステップ3 ステップ1: 人間がやる ステップ2: 箱の中の人間がやる ステップ3:
箱の中の機械がやる 箱の中の人をコンピュータに置き換える。 55
56.
最初のプログラム (8) 箱の中のコンピュータが(2)をするためのプロ グラムを書く 完璧である必要はない 高度なアルゴリズムである必要はない 精度は低くてよい 「とりあえず動く」ぐらいでよい 56
57.
実行してみて顧客に見せる (9) プログラム(8)に実際にデータを入れて振る舞 いを観察する。(精度はどう?速度は?) (10) 顧客はこれで満足する? 57
58.
顧客に見せるのが怖い? 精度が出ていないのに顧客に見せるのは怖い? しかし顧客が何を重視するかは顧客にしかわから ない。低品質だと顧客に言われたとしても、それ は顧客が何を重視するかを知るチャンスになる。 58 see 「リーン・スタートアップ」
59.
顧客が満足しないなら (11) どう満足しないのか具体的不満を収集する (どういう入力の時にはどういう出力が出てほしいのか? これを教師データという) 59
60.
ステップ4 ようやく機械学習! (12) 教師データ(11)を使って学習をする 60
61.
科学的方法論 教師データが充実すると、アルゴリズムの良し悪 しが定量的に測れるようになる。 (教師データの一部を検証用のデータに使う) 機械学習にしたからと言ってよくなるとは限らな いのでプログラム(8)とキチンと比較する。 仮説・実験・検証・修正のサイクルを回す。 (PDCAサイクル/科学的方法論) サイクルを回して改善していく。 61
62.
改善の具体的方法 「現時点のアルゴリズムが正しく分類できてない データ」を抽出して眺め、それらを正しく分類す るためにはどうすれば良いかを考える。 (特徴量の追加など) ロジスティック回帰などの「判断の自信」を返し てくれるアルゴリズムなら、「自信のない結果」 を見て教師データの追加を行う。 (能動学習) 62
63.
間違えないように何度も言う ビジネス上重要なのは顧客価値。精度ではない。 例え精度が99%でも、間違う1%が顧客にとって致命的なら、精度 60%でその間違いをしないプログラムの方が顧客価値が高い。 63
64.
まとめ • ビジネスでは顧客価値が重要 • 顧客もあなたも何が顧客価値か 正確に理解していない •
素早く理解するために最小限の工数で 実験を繰り返す(Minimum Viable Prodict) • 実験によって不満点や顧客価値が 徐々に具体化されていく • 改善を繰り返して顧客価値を増やしていく 64
65.
以下補足と質問・回答 65
66.
補足 これは「顧客の要求が明瞭でない、仕様書がない 状態でのソフトウェア開発」に似ている。 違う点は、顧客が不満な場合に「ソフトウェアを 作り直す」ではなく「学習データにその情報を追 加」で解決できる可能性があるところ。 とはいえ常にデータで解決できるわけではないの で、やはり最小限の実装で実験するのは大事。 66
67.
補足: バッドパターン 67 これを避けるためにも 実験を繰り返せる形に することが大事
68.
Q&A マニュアル書き (7)と(8)についての質問: “アルバイトのためのマニュアルが書けるなら プログラムも書けるはずでは” はい。「アルバイトのためのマニュアルが書けな いぐらい仕様が曖昧だったらプログラムを書くの は無理だよね」が言いたいことでした。 「マニュアルをどう書くか?」を考えることで まだ言語化されていないものに気付き、 言語化が促されるのです。(次ページに具体例) 68
69.
例: スパムフィルタ 実現したいこと: >(2)“メールの本文を見て、スパムかどうか判定し、ス パムは別のフォルダに移動する” あなた「本文を見てスパムかどうか判断して」 バイト「どうやって判断するんですか~?」 あなた「例えば○○って単語が入ってたらスパム」 気付き: 最初の一歩のプログラム(8)を「NGキー ワードが含まれてるか判定」にしたらよい 69 補足の補足:
アルバイト向けマニュアルの作成は「最初のプアなプログラム」を書く上 での助けになることが目的なので、さらさらプログラムを書けるなら飛ばしてもよい。
70.
工数 Q: どれくらいの工数がかかると思えばいいか? A: ケースバイケース。例えば枯れた技術、ロジ スティック回帰にデータを入れてみて、サクッと 精度が出て顧客から一発OKもらえることもある し、逆にぜんぜんダメということもある。「実 験」するしかない。 工数を見積もることは困難なので、決まった時間 で成果を確約するような契約を結ぶのは危険。 70
71.
精度 Q: 顧客に精度保証を求められたら A: 「どのくらいの精度になるかは実験してみな いとわからない」ということを顧客との共通認識 にしていく必要がある。 精度を確約するのではなく「良いものができるか もしれない試行錯誤」に対してお支払いを頂く形 の契約が良い。 なるべく小さい単位で実験をして顧客とのコミュ ニケーションを密にしていく必要がある。 71
72.
判断のコストと精度 機械は24時間働かせても疲れないし 労基署に怒られることもない。 精度は必ずしも高くない*が、 コストの低下でビジネス上の価値が生まれる。 72 (* 頑張り次第)
73.
Deep Learning Q: “人間が条件を明確化できてなくても Deep
Learningなら自動でできるのでは?” A: 半分正しい。画像処理の分野では、例えば100x100の モノクロ画像でも「入力の値が10000個ある」という 辛い状態になる。こういう入力をうまく扱おうと 専門家が何十年もの間、色々な条件を考案してきた。 畳みこみを繰り返す特殊な形のニューラルネットを作っ て、大量のデータで学習してみたら、意外なことに 専門家が工夫して実装したものより良い精度が出た。 これが正しい半分。正しくない半分は次のページ。 73
74.
Deep Learning この成功によりDeep Leaningに注目が集まり 文脈を抜かして「Deep
Learningを使うと人間より精度 の高い判断をするプログラムが作れる」 と伝言ゲームがゆがむ。 その結果、全然違う条件の問題に対して 「これもDeep Learningでなんとかなるのでは」 と考える人が増えた。 問題条件が変われば手法の有効性も変わるので、 基本は「枯れた手法から順に小さい実験を繰り返す」 しかない。 74
75.
能動学習 Q: ナイーブベイズよりもロジスティック回帰で 能動学習した方がいいか? A: ナイーブベイズもロジスティック回帰同様に 信頼度を出せる手法なので、ナイーブベイズで能 動学習したらいい。 補足:
今回は割愛したけども、ロジスティック回 帰もナイーブベイズも「確率モデル」であって、 「この入力がクラス1になる確率は0.8だな~」み たいな出力を出すモデルです。これをこの発表で は「判断の自信」って表現していました。 75
76.
微分 Twitterの感想「行列も微分も出てこない」 機械が重みを調整する時に「正解とのずれが小さ くなる方向に重みをちょっと変更しよう」ってや るのだけども、 これを数学語で言うと「『正解とのずれ』を重み で微分して勾配を求め、勾配方向に重みをちょっ と変更しよう」になるわけです。 76
77.
行列 ロジスティック回帰では、 例えば条件が15個あったら 「重み」という値が15個できる。 これを数学語で言うと「ベクトル」になる。 ニューラルネットはロジスティック回帰的なもの が複数個集まってるので、仮に10個集まってる としたら15x10個の値ができる。 これを数学語で言えば「行列」になる。 77
78.
あいまいな判断 「P21は、例えばx1,x2,x3,x4,x6がTrueだと17/15になり、 Trueになる。数学的には正しくない」 そう、そこが重要なところ(強調し忘れました) 元の式と、重み付き和の式は等価ではない。 しかし機械学習を使おうという時、どういう条件式なら 顧客価値が生み出されるかがそもそもわかっていない。 なので「元式と等価であること」には顧客価値がない。 論理的にきちんと記述することを手放して、 雑であいまいな条件式で表現し、それがちゃんと機能す るかどうかは、論理ではなく実データでのテストで担保 する。これが機械学習の基本的スタンス。 78
79.
補足(宣伝) 「データを観察することが大事」 と明記・強調することを忘れていました。 僕が監修したPyQの「はじめての機械学習」では データを観察してif文を作るところから ロジスティック回帰までを 小さいステップで一歩一歩解説しています 機械学習の基本をif文から学ぼう しきい値を見つけよう 可視化してしきい値を見つける しきい値が決められないデータの扱い方 2次元のデータから分類 2次元データをプロット 1次方程式を用いた分類 はじめての機械学習:ロジスティック回帰 79
Download