More Related Content
Similar to 失敗から学ぶ機械学習応用 (20)
失敗から学ぶ機械学習応用
- 5. 5
目録
◼ 私の失敗体験談(不均衡データの学習)
◼ 機械学習開発における壁
• 機械学習のビジネスフレームワーク「5D」
• Define(定義する)
• Data(データを集める)
• Development(開発する)
• Deploy(実装する)
• Drive(運用する)
◼ ビジネス応用における壁
• AIを使ったキュウリの自動選別
• 機械学習を使って売り上げに貢献する
• 機械学習を使わない選択肢
◼ まとめ
- 6. 6
目録
◼ 私の失敗体験談(不均衡データの学習)
◼ 機械学習開発における壁
• 機械学習のビジネスフレームワーク「5D」
• Define(定義する)
• Data(データを集める)
• Development(開発する)
• Deploy(実装する)
• Drive(運用する)
◼ ビジネス応用における壁
• AIを使ったキュウリの自動選別
• 機械学習を使って売り上げに貢献する
• 機械学習を使わない選択肢
◼ まとめ
- 9. 9
ROC曲線、AUCを用いた評価
AUC:0.908 AUC:0.930
■1:1で学習 ■20:1で学習
⚫ ROC曲線(Receiver Operating Characteristic Curve)
閾値を変化させることで得られるFalse Positive Rate(見逃し率)を横軸に、
True Positive Rate(1−誤検出率)を縦軸に置いてプロットしたもの
⚫ AUC(Area Under Curve)
ROC曲線下の面積(積分)。1に近い値を示すほど高精度
そのまま学習した方が高精度なモデルだったことが判明
見逃し率
良品判定の正答率
【ROC曲線とAUC】
機械学習の評価指標についての基礎講座
- 11. 11
目録
◼ 私の失敗体験談(不均衡データの学習)
◼ 機械学習開発における壁
• 機械学習のビジネスフレームワーク「5D」
• Define(定義する)
• Data(データを集める)
• Development(開発する)
• Deploy(実装する)
• Drive(運用する)
◼ ビジネス応用における壁
• AIを使ったキュウリの自動選別
• 機械学習を使って売り上げに貢献する
• 機械学習を使わない選択肢
◼ まとめ
- 25. 25
よくあるデータ収集の壁
データが整備されていないと、アルゴリズム開発も分析もできません
⚫ データが構造化されていない
• 貰えるデータはPDF、紙・・・
• データの形式が統一されていない(タイトル、ファイル形式、フォーマットなど)
⚫ データ収集の許可が下りない
• セキュリティの都合で簡単には渡せない(機微情報が含まれる、クラウドはNG)
• データ集めてもいいけど製造現場には影響なきように(通信帯域、サイクルタイム等)
⚫ データ収集やアノテーション(正解ラベル付与)にコストがかかる
• 誰がデータを集めるの? 誰がアノテーションするの?
• センサを付けるとコストが増えるんだけど・・・
• 上記コストに見合った精度(メリット)は実現できる? ⇒やってみないと何とも・・・
⚫ そもそも必要なデータがなかなか集まらない
• 故障予知をしたい。ただなかなか壊れないので肝心の故障データは集まっていない
⚫ データ加工に手間がかかる
• データに外れ値や欠損値が紛れている
• 同じ意味のデータ、カラムが混在している
• セル結合を駆使したExcelファイル
• 保存データの仕様を読み解かないとデータセットが作れない などなど
- 26. 26
頑張ってデータを集める?
参考記事
• データ分析案件をやるうえで何が障壁となるのか
• 行政をハックし、行政データをオープンにしてみようとした結果
• AI導入にあたって危険と思った5つの兆候
• 「データを集める前にデータ分析責任者(データサイエンティスト)を雇うべき」理由とは
マンパワーに頼るやり方はいずれ破綻します
導入を見据えるなら、データが集まる仕組みを必ず考えましょう
◼ 頑張って(マンパワーで)集めた場合
• 人手で都度計測
• 取得データを逐一、分析者に送信
(データはイントラ内にあり、システムからはデータ取得できない)
• 保存先がバラバラなので、pathがころころ変わってる
自動で計測され、一か所のストレージに集められ
バッチ処理でデータフローが周った方が建設的ではないでしょうか?
データが貯まる仕組みがあれば、後の開発・導入検証の負荷が大きく減少します
- 36. 36
クレジットカード審査(Target Leakage)
年齢 収入
カード
支出割合
カード支出
(月平均)
家を
所有
自営業
扶養
家族
現住所の
居住期間
主要な
カード数
有効なア
カウント数
0 37.66 45,200 0.033270 124.98 True False 3 54 1 12
1 33.25 24,200 0.005217 9.85 False False 3 34 1 13
2 33.66 45,000 0.004156 15.00 True False 4 58 1 5
3 30.50 25,400 0.065214 137.87 False False 0 25 1 7
4 32.16 97,867 0.067051 546.50 True False 2 64 1 5
https://www.kaggle.com/dansbecker/aer-credit-card-data
これは審査カードの支出額?それとも審査前の支出額?
審査カードの支出額だと審査に通らなかった人は0になるのでは?
予測時にどの情報が使えるのかを考慮して検証しましょう
全ての情報を学習
正答率98%
下記の申し込み情報からクレジットカードの審査結果を予測
カード支出情報を除いて学習
正答率83%
VS
どちらが正当な評価でしょう?
- 42. 42
コンペで発生したLeakage事例集
Leakage in Data Miningより抜粋
◼ 別タスクのデータを引っ張ってきて学習
• KDD Cup 2007: Netflix Rating Prediction
2つの開催コンペから、別タスクのテストデータを教師データに使用し、学習
◼ Target Leakage
• KDD Cup 2008: マンモグラフィデータからの乳ガン検出
普通は無視するはずの『患者ID』を特徴に使うと、なぜか予測精度に寄与
どこで受けた検査か?どの検査機器か?の情報がIDに紐づいていたために発生
◼ コンペのもとになったデータを特定
• INFORMS Data Mining Contest 2010: 株価変動予測
⇒株価というpublicなデータでは銘柄を隠しても、答えを探すことができた
• IJCNN 2011 Social Network Challenge: ソーシャルグラフのリンク存在予測
⇒データ元となったSNSを特定。6割以上の“正解”を見つけ出した
その道のプロが企画しても、起こりうる事例として認識してください
コンペである以上、順位を上げるために使える情報はなんでも使います
(開発としてこれはどうなの? とも思いますが
卓越したデータ分析スキルが成せる技だと思います)
- 50. 50
Netflix Prizeの優勝チーム
チーム名:BellKor's Pragmatic Chaos
アメリカ AT&T Researchの統計研究所 2人
オーストリア リサーチ/コンサルティング機関 Commendo ML専門家 2人
カナダ ソフトウェア会社 Pragmatic Theory 創設者とエンジニア 2人
イスラエル Yahoo! Research シニアサイエンティスト 1人
2006年10月からはじまったコンペは2009年7月に10%upが実現!
186ヶ国から5169チームが参戦した開発競争が遂に決着
精鋭が集うまさにオールスターチーム
- 54. 54
優勝モデルが実用化されなかった理由
NETFLIX TECH BLOG:Netflix Recommendations: Beyond the 5 stars (Part 1)
◼ アルゴリズムが重い
• 1億件のレーティングを処理するよう構築されていたが、50億件以上のレーティングを処
理できるようにする必要があった
• 加えて新しい作品の追加にも対応できるようにスケールする必要があった
• 上記課題からアンサンブルは実装に対する改善効果が割に合っていない
• 2007年のwinner(8.43%改善)チームが提案したSVDとRBMは実際に導入され、今でも
推薦アルゴリズムに利用されている
• 求められる精度がどのくらいか
• 応答速度はどのくらい欲しいか
• インターネット環境はどこまで保証されているか
• 電力やコストの面でハードウェアはどこまで許容できるか
精度がすべてではありません
Deploy時の環境を想定しておきましょう
優勝モデルは実用化されませんでしたが、コンテスト設計は高く評価されており
オープンイノベーションの代表的な事例となっています
参照: AI導入にあたって危険と思った5つの兆候
- 58. 58
仮運用でやらなければいけない事
◼ 当初の納品ルートで考えていたタスク
• データ前処理
• データ解析
• 特徴量、モデル検討
受領したデータを用いて、オフラインで検証
◼ 実際に納品するために行わなければいけないタスク
• サーバーでの環境構築(LinuxやDocker等)
• データベース(MySQL)
• Webアプリケーション
• Web API(Python)
• Cron(定期実行)
• Webサーバー(NginxやApache)
主にwebによるシステム自動化が必要
モデルを作っておしまいではありません
システムに乗らないとビジネスとしての価値にはならないです
モデル検証と運用のそれぞれで
別のスキルセットと開発工数が必要だった
- 62. 62
目録
◼ 私の失敗体験談(不均衡データの学習)
◼ 機械学習開発における壁
• 機械学習のビジネスフレームワーク「5D」
• Define(定義する)
• Data(データを集める)
• Development(開発する)
• Deploy(実装する)
• Drive(運用する)
◼ ビジネス応用における壁
• AIを使ったキュウリの自動選別
• 機械学習を使って売り上げに貢献する
• 機械学習を使わない選択肢
◼ まとめ
- 76. 76
目録
◼ 私の失敗体験談(不均衡データの学習)
◼ 機械学習開発における壁
• 機械学習のビジネスフレームワーク「5D」
• Define(定義する)
• Data(データを集める)
• Development(開発する)
• Deploy(実装する)
• Drive(運用する)
◼ ビジネス応用における壁
• AIを使ったキュウリの自動選別
• 機械学習を使って売り上げに貢献する
• 機械学習を使わない選択肢
◼ まとめ
- 80. 80
謝辞
• クックパッド株式会社(林田 千瑛さん)
クックパッドにおける推薦(と検索)の取り組み-99%の失敗と1%の成功-
• 株式会社ミクシィ(豊川 弘樹さん)
カスタマーサポートAIの失敗と教訓
• 株式会社Preferred Networks(秋葉 拓哉さん)
Kaggle State Farm Distracted Driver Detection
• naoinaさん
ディープラーニングで株価予測するときの罠
• Netflix, Inc
Netflix Recommendations: Beyond the 5 stars (Part 1)
• 株式会社キカガク(吉崎 亮介さん)
機械学習案件を納品するのは、そんなに簡単な話じゃないから気をつけて
• 小池 誠さん
AIを使ったキュウリの自動選別
上記方々の公開資料・体験談から多くの学びを得て
勉強会の資料に活用させていただきました
心より御礼申し上げます
- 81. 81
教科書
⚫ 教科書
仕事ではじめる機械学習
ハマって覚えるデータ分析・機械学習の罠
⚫ コースプログラム
「AI For Everyone」(TechTargetジャパンによるまとめ記事)
⚫ 講演資料
あなたの業務に機械学習を活用する5つのポイント
ブレインパッドにおける機械学習プロジェクトの進め方
⚫ 連載記事
ITmedia NEWS これからのAIの話をしよう
知らないと失敗するAI
「その課題、機械学習本当に必要?」どこで勝つかを考えるAI導入
⚫ Qiita
機械学習案件を料理に例えると分かりやすい件
「AIで〇〇したいんだけど」の相談前に確認してほしい3つのこと
機械学習を使った事業を成功させるために必要な考え方や人材、フェーズとは?
⚫ ブログ
AI(deep learningや機械学習)導入にあたって危険と思った5つの兆候
機械学習プロジェクトが失敗する9つの理由
Googleの研究者が教える、良い機械学習プロダクトを実装するための43のルール