Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
ECサイトにおける予測モデルの継続的インテグレーション
Search
Kenji
September 01, 2021
110
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ECサイトにおける予測モデルの継続的インテグレーション
Kenji
September 01, 2021
Featured
See All Featured
Fireside Chat
paigeccino
43
4.1k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.5k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
930
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.4k
The agentic SEO stack - context over prompts
schlessera
0
970
30 Presentation Tips
portentint
PRO
1
430
YesSQL, Process and Tooling at Scale
rocio
174
15k
Statistics for Hackers
jakevdp
799
230k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
890
Utilizing Notion as your number one productivity tool
mfonobong
4
620
How Software Deployment tools have changed in the past 20 years
geshan
2
35k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Transcript
塩谷 賢司 ECサイトにおける予測モデルの継 続的インテグレーション
自己紹介 塩谷 賢司 ▸ 京都出身 ▸ フリーランスのエンジニア ▸ Webアプリケーションのフロント・バック エンド開発
2
目次 3 1. 予測モデル導入の課題 2. ビジネス課題 3. アプリケーションの構成 4. 機械学習のテスト
5. 分析アプローチ 6. ダッシュボードデモ 7. まとめ
予測モデル導入 の課題 1
予測モデル導入の課題 5 データ分析 現状あるデータを分析 し、予測モデルに有効そ うな説明変数の選定・生 成などを行う POC 予測モデル作成 アルゴリズムを選定し、
ハイパーパラメータの チューニングをして予測 モデルを作成する 予測モデルの評価 RMSEなどの指標を用い て予測モデルの精度を 評価する 運用 運用 情報が少なく、手法が確 立されてない
運用に必要な項目 6 モデル作成 POC モデルの更新 新しいデータを使って学 習器を更新・バージョン 管理する テスト 一般的なソフトウェアテ
ストに加えて予測の妥 当性のテストも必要 運用 監視 定期的に精度や異常な 予測値が出力されない かモニタリングする
選んだ理由 ▸ 現在参画しているプロジェクトで施策 の実行し、KPIなどの指標をモニタリン グする必要がある ▸ 施策の実行、モニタリングに手動の要 素が多ければオペレーションに負荷が かかりスケールが難しい ▸
モニタリングではスプレッドシートで数 値のみ見ていたが非常に見づらい、、 7
ビジネス課題 ブラジルのEC代理サービス “Olist” 4
取り扱うテーマ https://www.kaggle.com/olistbr/brazilian-ecommerce 9
Olistとは 10 Market Places Magazine Luiza OLX Americanas Mercado Livre
customer Olist seller 注文 配送 出店 出品 注文 管理機能
注文画面 11 ▸ 他店舗と条件を比較 ▸ 配達予測時間の表示
12.4日 注文から到着までの平均 12.3日 予測と実績の差の平均 12 配達日を予測するモデルを作 成する
アプリケーションの 構成 予測モデル学習の自動化とモニタリング 2
全体像 14 精度の計算 モデル更新の定期実行 網羅検証の実施 作成された予測モデル 最新のモデルの予測結果を使用する Web API Database
Dashboard Operation 精度等、指標の表示 網羅検証の実行 データを蓄積 バージョンごとのモデルの管理 実績データ 精度などの数値 リクエスト 最新のモデル 実績データ
Web API 15 “ Web APIとは、コンピュータプログラムの提供する機能を外部の別のプログラムから呼び出して利用する ための手順・規約(API:Application Programming Interface)の類型の一つで、HTTPなどWebの技術を用 いて構築されたもの。
” 参照: https://e-words.jp/w/Web_API.html ざっくり言うと... HTTPでリクエストしたら結果を返してくれるプログラム
Web API ▸ データベースの最新の実績データを使用し予測モ デルの学習を定期実行する ▸ ダッシュボードからのリクエストを受けて予測モデ ルの精度を計算し結果を返却する ▸ 網羅検証(詳細は3.予測モデルのテスト参照)を行
い結果をデータベースに保存する 16 このアプリケーションでは
Dashboard ダッシュボードは管理者がウェブブラウザで閲 覧可能 17
Dashboard ▸ 定期実行の予測モデル作成の結果(エラーの有 無など)を監視できる ▸ 期間や説明変数毎に予測モデルの精度指標をモ ニタリングできる ▸ 網羅検証(詳細は3.予測モデルのテスト参照)を 実行できる
18
予測モデルのテスト 予測モデルのテストはなぜ難しいか 3
予測モデルは従来型のソフトウェアと違 いテストが難しい ”AIソフトウェアのテストが難しい理由の1つは、機械学習が帰納的だからという 点に求められます。 ” 20 - 佐藤直人, 小川秀人, 來間啓伸,
明神智之 (2021), AIソフトウェアのテスト
従来型のソフトウェア 従来型のソフトウェアとの違い 予測モデル 21 要件 仕様 ソフトウェア テスト 具体化 満たす
作成 満たすことを確認 予測モデル 訓練用 データセット 評価用データ セット テスト 学習 評価 ? 作成 具体化 満たす
従来型のソフトウェア 従来型のソフトウェアとの違い 予測モデル 22 要件 仕様 ソフトウェア テスト 年齢を入力しお酒が飲め るか判定する
年齢 >= 20 → True 予測モデル 訓練用 データセット 評価用データ セット テスト 年齢 < 20 → False 入力: 19 → False 入力: 20 → True 入力: 21 → True 入力: 19 → False 入力: 20 → True 入力: 21 → True 説明変数Xから年齢を予測する 説明変数: X 年齢: y 説明変数: X 年齢: y ? 評価用データセットから精度指標は出せるが、個々 の予測結果が正しいかどうかはわからない。 そもそ も「予測結果が正しい」は矛盾している。
予測モデルのテスト手法 ▸ メタモルフィックテスティング -主に画像解析 ▸ ニューロンカバレッジテスティング -Deep Neural Network ▸
最大安全半径 -主に画像解析 ▸ 網羅検証 -回帰問題 23 佐藤直人, 小川秀人, 來間啓伸, 明神智之 (2021), AIソフトウェアのテスト
網羅検証 例えば 年齢予測モデルで「150歳以上」、「身長170cm以上で8歳未満」はありそうもないの で、この条件を満たす出力の場合エラーとする。 24 「どのような入力データでも、事前に設定した条件を出力 データが逸脱することはない」ことを検証する。
網羅検証 今回のダッシュボードでは、予測モデルの自動更新でユーザーが設定した 条件の網羅検証を行う 25
分析アプローチ 説明変数とNgboost 5
閲覧可能なデータ 顧客・販売者関連 ▸ 顧客・販売者の州 ▸ 顧客・販売者の市 注文関連 ▸ 注文確定日時 ▸
注文承認日時 ▸ 配達業者到着日時 ▸ 到着日時 ▸ 配達予測日時 商品関連 ▸ カテゴリ ▸ 体積 ▸ 重さ ▸ 値段 27
使用するデータ 28 データの期間 2017/5/1 〜 2018/7/1 注文レコード数 87,157件 顧客レコード数 99,441件
販売者レコード数 3,095件
予測モデルに使用する説明変数 ▸ 商品カテゴリ ▸ 注文が行われた月 ▸ 顧客の州 ▸ 販売者の州 29
意外と効果の無かった説明変数 ▸ 販売者から顧客への直線距離 ▸ 商品の体積 ▸ 商品の重さ ▸ 商品の価格 30
NGBoost 一般的な回帰モデルは点推定値を返すが、NGBoostは予測結 果の確率分布を出力する。 31 平均(予測値)と標準偏差が出力されるので、確率 分布が求められる。 配達予測日を区間で出せる。 予測値がどのくらい不確かか把握することができ る。
ダッシュボードでの活用 今回のダッシュボードでは、カテゴリ、州情報等を入力して実際の 予測と実績値を確認できる 32
ダッシュボードデモ 6
まとめ 1
工夫したこと ▸ RMSEなどの評価指標だけではなく、網羅検証でもっともらしくない予 測を検査できる仕組みを作成した ▸ NGBoostで予測の不確かさを可視化できるようにした ▸ モデルの更新、網羅検証など時間のかかる処理はバッチ処理に ▸ 他の予測モデルでも使用できるようDBを設計した
35
苦労したこと ▸ 0から作ったので工数がかかった、、 ▸ ダッシュボードの設計が難しい 何の指標が必要か、UIなど ▸ 大量のデータを取り扱うためパフォーマンスに問 題がある 36
今後の展望 Olist ▸ 配達速度を改善するため要因分析 ▸ 配達やその他の施策の結果を監視するためダッシュボードを 拡張できる その他プロジェクト ▸ 今回作成したダッシュボード、APIはテンプレートとして流用でき
る ▸ 仕様やデザインなどブラッシュアップなどなど 37
38 THANKS!