SlideShare uma empresa Scribd logo
1 de 25
ソーシャルゲームにおける
機械学習 活用事例
Machine Learning 15minutes! #16
2017/09/30
グリー株式会社
開発本部 応用人工知能チーム
鈴木 隆史
自己紹介
■氏名:鈴木隆史 (@t24kc)
■所属:開発本部 応用人工知能チーム
JapanGame事業本部 ENチーム
■業務:Webプロダクト ENマネジメント
大規模データ活用した機械学習ツール開発
これまでに機械学習を利用したPUSH通知の最適化、
バナーのレコメンデーション、チャットボットなどを担当
2
1. はじめに
2. プロジェクト紹介
3. 技術紹介
4. まとめ
はじめに
3
■FY17 4Qリリースタイトル セールスランキング
グリーのサービスについて
4※ランキングは、App StoreまたはGoogle Playのセールスランキングより7月31日時点までの最高順位を採用
分析データ基盤
Hadoopベース
1TB / 1日
自社の大規模分析基盤を活用
5
チーム発足の経緯
6
■2016年
■2017年4月
一部プロダクトで独自開発
使用するライブラリやノウハウはバラバラ
応用人工知能チーム発足
様々な事業領域での技術検証/応用を開始
利用している機械学習技術
■Deep Learning関連
CNN:美容メディア画像タグ付け、不適切な画像識別
RNN:チャットボット、レコメンデーション
■Machine Learning関連
分類:PUSH通知最適化、離脱ユーザ予測
クラスタリング:画像の領域抽出、ユーザセグメント分析
最適化:レベルデザイン支援システム
■Reinforcement Learning関連
QAの自動化
7
■機械学習を活用したサービス導入事例の紹介
・現場のニーズから機械学習に紐づけるアプローチについて
・精度向上のための技術的な取り組み
・機械学習の導入部分の話が多く、数学的な高度な内容は含まれていません
本日のテーマ
8
1. はじめに
2. プロジェクト紹介
3. 技術紹介
4. まとめ
プロジェクト紹介
9
■PUSH通知の最適化
プロジェクト概要
10
効果低い
全てのお客様に対して同じ文言・時間帯
効果高い
お客様一人一人のニーズに適した文言・時間帯
■プレイ時間帯セグメント
ex) 最適な時間帯に送信する
・個別のサービス利用状況を分析し、一人一人に適した時間帯を学習
・曜日や年代やプレイ時間帯からパーソナライズ
■プレイ熱量セグメント
ex) 継続熱量に応じて文言を分ける
・例えば、明日もプレイしてくれそうなヘビーユーザと
イベント谷間で離脱リスクがあるユーザを予測してアプローチを変える
ニーズとは
11
モチベーション
12
お客様一人一人のプレイ熱量や時間帯を予測
予測した上で Next Actionに繋げる
お客様のニーズにあったAction
■機械学習が向いているタスクか否か
・ルールベースの方が精度が出る場合がある
・機械学習は技術的負債が溜まっていく
・開発工数、ランニングコストに見合う課題かどうか
・モデルやデータやりとりが属人化させずに連携できるか
・長期的に同一のモデルを利用できるかどうか(予測するデータ傾向は変化しないか)
・大量の質の良いデータを担保できるか
注意している点
13
1. はじめに
2. プロジェクト紹介
3. 技術紹介
4. まとめ
技術紹介
14
システム構成
15
プロダクション
サーバ
機械学習
サーバ
バッチサーバ
ユーザ
システム構成
16
プロダクション
サーバ
機械学習
サーバ
バッチサーバ
ユーザ
Dailyでユーザ一人一人の
期待される熱量や時間帯を
予測する
プレイ熱量識別
17
■アルゴリズム
SVM(RBFカーネル)
■学習データ
数十次元の前日のユーザプレイログ
(アクセス情報、施策プレイ情報、年代、性別など)
過去半年間の数千万レコード
■精度
訓練データは80%程度、テストデータは60%程度と過学習気味
実際のプレイ熱量とは関係が薄い、不要な特徴量を学習してしまっている可能性がある
→ 精度向上のための工夫
■データの前処理
データの可視化
・実データは思ったよりも汚い
・ラベルの特徴量差分が少ないものは削除
データの質担保
・スケーリングの調整
・フォーマットの調整
・外れ値の削除
・ラベル数が均等になるようにデータ調整
精度向上の工夫#1
18
■データの前処理
特徴選択と次元削除
・RandomForestによるランク付けが便利
・重要な特徴量を可視化
・説明力が弱い特徴量は削除検討
・汎化性能を保つ
精度向上の工夫#2
19
精度向上の工夫#3
20
■パラメータチューニング
・ランダムサーチを利用してパラメータのあたりをつけていく
・今回のプロジェクトでは、熱量が低いお客様を取りこぼさないようにしたい
・評価関数でrecall重視のチューニングを実施
テストデータ精度も80%まで向上
以上の取り組みで
精度向上の工夫#4
■アルゴリズム自体の変更
深層学習系
・MLP
・RNN
機械学習系
・SVM(別カーネル)
・KNN
・ロジスティック回帰
21
最近のライブラリは
モデルやアルゴリズムの変更が楽なので
いくつか試作するのも手
今回はSVM(RBFカーネル)が
一番精度が高かった
■メンテナンス工数の削減
・精度をあげることも必要だが、数パーセントの精度差よりもメンテナンス工数を重視
・複雑なアルゴリズムにしすぎない
・フレームワークの利用
(よっぽどのことがない限りフレームワークの中で完結させる)
・プロダクトにはAPIやバッチとして提供する
(プロダクト側に調整コストをかけない)
注意している点
22
1. はじめに
2. プロジェクト紹介
3. 技術紹介
4. まとめ
まとめ
23
まとめ
24
■課題の定式化
・向いたタスクかどうかを検討する
・ルールベースなど機械学習以外で解決できないかデータリテラシーを高める
■前処理大事
・最新のアルゴリズムがいくつも発表されているが、
それ以前にデータの質の担保や、ラベル判別がしやくなるように前処理を工夫することが大事
[Gree] グリーのソーシャルゲームにおける機械学習活用事例

Mais conteúdo relacionado

Mais procurados

Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2Preferred Networks
 
カスタムメモリマネージャと高速なメモリアロケータについて
カスタムメモリマネージャと高速なメモリアロケータについてカスタムメモリマネージャと高速なメモリアロケータについて
カスタムメモリマネージャと高速なメモリアロケータについてalwei
 
shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理DADA246
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けモノビット エンジン
 
不揮発メモリ(NVDIMM)とLinuxの対応動向について(for comsys 2019 ver.)
不揮発メモリ(NVDIMM)とLinuxの対応動向について(for comsys 2019 ver.)不揮発メモリ(NVDIMM)とLinuxの対応動向について(for comsys 2019 ver.)
不揮発メモリ(NVDIMM)とLinuxの対応動向について(for comsys 2019 ver.)Yasunori Goto
 
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計Yoshinori Matsunobu
 
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例sairoutine
 
ゲーム開発者のための C++11/C++14
ゲーム開発者のための C++11/C++14ゲーム開発者のための C++11/C++14
ゲーム開発者のための C++11/C++14Ryo Suzuki
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けモノビット エンジン
 
Redmineチューニングの実際と限界(旧資料) - Redmine performance tuning(old), See Below.
Redmineチューニングの実際と限界(旧資料) - Redmine performance tuning(old), See Below.Redmineチューニングの実際と限界(旧資料) - Redmine performance tuning(old), See Below.
Redmineチューニングの実際と限界(旧資料) - Redmine performance tuning(old), See Below.Kuniharu(州晴) AKAHANE(赤羽根)
 
DSIRNLP #3 LZ4 の速さの秘密に迫ってみる
DSIRNLP #3 LZ4 の速さの秘密に迫ってみるDSIRNLP #3 LZ4 の速さの秘密に迫ってみる
DSIRNLP #3 LZ4 の速さの秘密に迫ってみるAtsushi KOMIYA
 
畳み込みLstm
畳み込みLstm畳み込みLstm
畳み込みLstmtak9029
 
backbone としての timm 入門
backbone としての timm 入門backbone としての timm 入門
backbone としての timm 入門Takuji Tahara
 
高次アンビソニックスのための マイクロホンアレイ設計の研究
高次アンビソニックスのための マイクロホンアレイ設計の研究高次アンビソニックスのための マイクロホンアレイ設計の研究
高次アンビソニックスのための マイクロホンアレイ設計の研究horieyuto
 
インターネットの仕組みとISPの構造
インターネットの仕組みとISPの構造インターネットの仕組みとISPの構造
インターネットの仕組みとISPの構造Taiji Tsuchiya
 
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)Preferred Networks
 
【Unity】 Behavior TreeでAIを作る
 【Unity】 Behavior TreeでAIを作る 【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作るtorisoup
 
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~Takuya Akiba
 

Mais procurados (20)

Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
 
カスタムメモリマネージャと高速なメモリアロケータについて
カスタムメモリマネージャと高速なメモリアロケータについてカスタムメモリマネージャと高速なメモリアロケータについて
カスタムメモリマネージャと高速なメモリアロケータについて
 
shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理
 
Hessian free
Hessian freeHessian free
Hessian free
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
 
不揮発メモリ(NVDIMM)とLinuxの対応動向について(for comsys 2019 ver.)
不揮発メモリ(NVDIMM)とLinuxの対応動向について(for comsys 2019 ver.)不揮発メモリ(NVDIMM)とLinuxの対応動向について(for comsys 2019 ver.)
不揮発メモリ(NVDIMM)とLinuxの対応動向について(for comsys 2019 ver.)
 
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
 
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
 
MLOpsはバズワード
MLOpsはバズワードMLOpsはバズワード
MLOpsはバズワード
 
ゲーム開発者のための C++11/C++14
ゲーム開発者のための C++11/C++14ゲーム開発者のための C++11/C++14
ゲーム開発者のための C++11/C++14
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
 
Redmineチューニングの実際と限界(旧資料) - Redmine performance tuning(old), See Below.
Redmineチューニングの実際と限界(旧資料) - Redmine performance tuning(old), See Below.Redmineチューニングの実際と限界(旧資料) - Redmine performance tuning(old), See Below.
Redmineチューニングの実際と限界(旧資料) - Redmine performance tuning(old), See Below.
 
DSIRNLP #3 LZ4 の速さの秘密に迫ってみる
DSIRNLP #3 LZ4 の速さの秘密に迫ってみるDSIRNLP #3 LZ4 の速さの秘密に迫ってみる
DSIRNLP #3 LZ4 の速さの秘密に迫ってみる
 
畳み込みLstm
畳み込みLstm畳み込みLstm
畳み込みLstm
 
backbone としての timm 入門
backbone としての timm 入門backbone としての timm 入門
backbone としての timm 入門
 
高次アンビソニックスのための マイクロホンアレイ設計の研究
高次アンビソニックスのための マイクロホンアレイ設計の研究高次アンビソニックスのための マイクロホンアレイ設計の研究
高次アンビソニックスのための マイクロホンアレイ設計の研究
 
インターネットの仕組みとISPの構造
インターネットの仕組みとISPの構造インターネットの仕組みとISPの構造
インターネットの仕組みとISPの構造
 
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
 
【Unity】 Behavior TreeでAIを作る
 【Unity】 Behavior TreeでAIを作る 【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作る
 
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
 

Semelhante a [Gree] グリーのソーシャルゲームにおける機械学習活用事例

[Gree] Dialogflowを利用したチャットボット導入事例
[Gree] Dialogflowを利用したチャットボット導入事例[Gree] Dialogflowを利用したチャットボット導入事例
[Gree] Dialogflowを利用したチャットボット導入事例Takashi Suzuki
 
『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点-
『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点- 『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点-
『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点- Koichi Hamada
 
2018/07/26 Game change by Deep Learning and tips to make a leap
2018/07/26 Game change by Deep Learning and tips to make a leap2018/07/26 Game change by Deep Learning and tips to make a leap
2018/07/26 Game change by Deep Learning and tips to make a leapSony Network Communications Inc.
 
DataEngConf NYC’18 セッションサマリー #1
DataEngConf NYC’18 セッションサマリー #1DataEngConf NYC’18 セッションサマリー #1
DataEngConf NYC’18 セッションサマリー #1gree_tech
 
[Gree] DataEngConf NYC’18 セッションサマリー #1
[Gree] DataEngConf NYC’18 セッションサマリー #1[Gree] DataEngConf NYC’18 セッションサマリー #1
[Gree] DataEngConf NYC’18 セッションサマリー #1Takashi Suzuki
 
非エンジニアに人工知能に 興味を持ってもらう話
非エンジニアに人工知能に興味を持ってもらう話非エンジニアに人工知能に興味を持ってもらう話
非エンジニアに人工知能に 興味を持ってもらう話Satoru Mikami
 
2020/05/18 Alibaba cloud AIソリューションセミナー
2020/05/18 Alibaba cloud  AIソリューションセミナー2020/05/18 Alibaba cloud  AIソリューションセミナー
2020/05/18 Alibaba cloud AIソリューションセミナー寛之 松浦
 
エンジニアからプロダクトマネージャーへ
エンジニアからプロダクトマネージャーへエンジニアからプロダクトマネージャーへ
エンジニアからプロダクトマネージャーへSmartNews, Inc.
 
エッジヘビーコンピューティングと機械学習
エッジヘビーコンピューティングと機械学習エッジヘビーコンピューティングと機械学習
エッジヘビーコンピューティングと機械学習Preferred Networks
 
データマイニングCROSS 第2部-機械学習・大規模分散処理
データマイニングCROSS 第2部-機械学習・大規模分散処理データマイニングCROSS 第2部-機械学習・大規模分散処理
データマイニングCROSS 第2部-機械学習・大規模分散処理Koichi Hamada
 
アジャイルナイトセミナー_2012年10月18日_Social Game x Agile Development
アジャイルナイトセミナー_2012年10月18日_Social Game x Agile Developmentアジャイルナイトセミナー_2012年10月18日_Social Game x Agile Development
アジャイルナイトセミナー_2012年10月18日_Social Game x Agile DevelopmentGo2GroupJapan
 
プロトタイピングツール投入のケーススタディ
プロトタイピングツール投入のケーススタディプロトタイピングツール投入のケーススタディ
プロトタイピングツール投入のケーススタディ力也 伊原
 
いじめられた子供を支援する 仮想世界ピグパーティの コミュニケーション
いじめられた子供を支援する 仮想世界ピグパーティの コミュニケーションいじめられた子供を支援する 仮想世界ピグパーティの コミュニケーション
いじめられた子供を支援する 仮想世界ピグパーティの コミュニケーションcyberagent
 
ディープラーニングの産業応用とそれを支える技術
ディープラーニングの産業応用とそれを支える技術ディープラーニングの産業応用とそれを支える技術
ディープラーニングの産業応用とそれを支える技術Shohei Hido
 
20171031エンジニア交流会 Google Apps Script ミートアップ「『壁』超える鍵としてのGAS」
20171031エンジニア交流会 Google Apps Script ミートアップ「『壁』超える鍵としてのGAS」20171031エンジニア交流会 Google Apps Script ミートアップ「『壁』超える鍵としてのGAS」
20171031エンジニア交流会 Google Apps Script ミートアップ「『壁』超える鍵としてのGAS」Noriaki Takahashi
 
20181206 Jazug DataScience TeamBuilding and DevOps
20181206 Jazug DataScience TeamBuilding and DevOps20181206 Jazug DataScience TeamBuilding and DevOps
20181206 Jazug DataScience TeamBuilding and DevOpsYukako Shimizu
 
20230216_Python機械学習プログラミング.pdf
20230216_Python機械学習プログラミング.pdf20230216_Python機械学習プログラミング.pdf
20230216_Python機械学習プログラミング.pdfShintaro Fukushima
 
「今後現場で求められるAIエンジニア像とは?」株式会社ホットリンク 榊 剛史
「今後現場で求められるAIエンジニア像とは?」株式会社ホットリンク  榊 剛史「今後現場で求められるAIエンジニア像とは?」株式会社ホットリンク  榊 剛史
「今後現場で求められるAIエンジニア像とは?」株式会社ホットリンク 榊 剛史Leading Edge Co.,Ltd.
 

Semelhante a [Gree] グリーのソーシャルゲームにおける機械学習活用事例 (20)

[Gree] Dialogflowを利用したチャットボット導入事例
[Gree] Dialogflowを利用したチャットボット導入事例[Gree] Dialogflowを利用したチャットボット導入事例
[Gree] Dialogflowを利用したチャットボット導入事例
 
自然言語処理紹介(就職編)
自然言語処理紹介(就職編)自然言語処理紹介(就職編)
自然言語処理紹介(就職編)
 
『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点-
『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点- 『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点-
『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点-
 
2018/07/26 Game change by Deep Learning and tips to make a leap
2018/07/26 Game change by Deep Learning and tips to make a leap2018/07/26 Game change by Deep Learning and tips to make a leap
2018/07/26 Game change by Deep Learning and tips to make a leap
 
DataEngConf NYC’18 セッションサマリー #1
DataEngConf NYC’18 セッションサマリー #1DataEngConf NYC’18 セッションサマリー #1
DataEngConf NYC’18 セッションサマリー #1
 
[Gree] DataEngConf NYC’18 セッションサマリー #1
[Gree] DataEngConf NYC’18 セッションサマリー #1[Gree] DataEngConf NYC’18 セッションサマリー #1
[Gree] DataEngConf NYC’18 セッションサマリー #1
 
非エンジニアに人工知能に 興味を持ってもらう話
非エンジニアに人工知能に興味を持ってもらう話非エンジニアに人工知能に興味を持ってもらう話
非エンジニアに人工知能に 興味を持ってもらう話
 
2020/05/18 Alibaba cloud AIソリューションセミナー
2020/05/18 Alibaba cloud  AIソリューションセミナー2020/05/18 Alibaba cloud  AIソリューションセミナー
2020/05/18 Alibaba cloud AIソリューションセミナー
 
エンジニアからプロダクトマネージャーへ
エンジニアからプロダクトマネージャーへエンジニアからプロダクトマネージャーへ
エンジニアからプロダクトマネージャーへ
 
エッジヘビーコンピューティングと機械学習
エッジヘビーコンピューティングと機械学習エッジヘビーコンピューティングと機械学習
エッジヘビーコンピューティングと機械学習
 
データマイニングCROSS 第2部-機械学習・大規模分散処理
データマイニングCROSS 第2部-機械学習・大規模分散処理データマイニングCROSS 第2部-機械学習・大規模分散処理
データマイニングCROSS 第2部-機械学習・大規模分散処理
 
アジャイルナイトセミナー_2012年10月18日_Social Game x Agile Development
アジャイルナイトセミナー_2012年10月18日_Social Game x Agile Developmentアジャイルナイトセミナー_2012年10月18日_Social Game x Agile Development
アジャイルナイトセミナー_2012年10月18日_Social Game x Agile Development
 
プロトタイピングツール投入のケーススタディ
プロトタイピングツール投入のケーススタディプロトタイピングツール投入のケーススタディ
プロトタイピングツール投入のケーススタディ
 
いじめられた子供を支援する 仮想世界ピグパーティの コミュニケーション
いじめられた子供を支援する 仮想世界ピグパーティの コミュニケーションいじめられた子供を支援する 仮想世界ピグパーティの コミュニケーション
いじめられた子供を支援する 仮想世界ピグパーティの コミュニケーション
 
ディープラーニングの産業応用とそれを支える技術
ディープラーニングの産業応用とそれを支える技術ディープラーニングの産業応用とそれを支える技術
ディープラーニングの産業応用とそれを支える技術
 
[Japan Tech summit 2017] MAI 001
[Japan Tech summit 2017]  MAI 001[Japan Tech summit 2017]  MAI 001
[Japan Tech summit 2017] MAI 001
 
20171031エンジニア交流会 Google Apps Script ミートアップ「『壁』超える鍵としてのGAS」
20171031エンジニア交流会 Google Apps Script ミートアップ「『壁』超える鍵としてのGAS」20171031エンジニア交流会 Google Apps Script ミートアップ「『壁』超える鍵としてのGAS」
20171031エンジニア交流会 Google Apps Script ミートアップ「『壁』超える鍵としてのGAS」
 
20181206 Jazug DataScience TeamBuilding and DevOps
20181206 Jazug DataScience TeamBuilding and DevOps20181206 Jazug DataScience TeamBuilding and DevOps
20181206 Jazug DataScience TeamBuilding and DevOps
 
20230216_Python機械学習プログラミング.pdf
20230216_Python機械学習プログラミング.pdf20230216_Python機械学習プログラミング.pdf
20230216_Python機械学習プログラミング.pdf
 
「今後現場で求められるAIエンジニア像とは?」株式会社ホットリンク 榊 剛史
「今後現場で求められるAIエンジニア像とは?」株式会社ホットリンク  榊 剛史「今後現場で求められるAIエンジニア像とは?」株式会社ホットリンク  榊 剛史
「今後現場で求められるAIエンジニア像とは?」株式会社ホットリンク 榊 剛史
 

Mais de Takashi Suzuki

到着予想時間サービスの特徴量のニアリアルタイム化
到着予想時間サービスの特徴量のニアリアルタイム化到着予想時間サービスの特徴量のニアリアルタイム化
到着予想時間サービスの特徴量のニアリアルタイム化Takashi Suzuki
 
AI予約サービスのMLOps事例紹介
AI予約サービスのMLOps事例紹介AI予約サービスのMLOps事例紹介
AI予約サービスのMLOps事例紹介Takashi Suzuki
 
MLプロジェクトのリリースフローを考える
MLプロジェクトのリリースフローを考えるMLプロジェクトのリリースフローを考える
MLプロジェクトのリリースフローを考えるTakashi Suzuki
 
Optuna on Kubeflow Pipeline 分散ハイパラチューニング
Optuna on Kubeflow Pipeline 分散ハイパラチューニングOptuna on Kubeflow Pipeline 分散ハイパラチューニング
Optuna on Kubeflow Pipeline 分散ハイパラチューニングTakashi Suzuki
 
GOの機械学習システムを支えるMLOps事例紹介
GOの機械学習システムを支えるMLOps事例紹介GOの機械学習システムを支えるMLOps事例紹介
GOの機械学習システムを支えるMLOps事例紹介Takashi Suzuki
 
MOVの機械学習システムを支えるMLOps実践
MOVの機械学習システムを支えるMLOps実践MOVの機械学習システムを支えるMLOps実践
MOVの機械学習システムを支えるMLOps実践Takashi Suzuki
 
タクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて
タクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについてタクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて
タクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについてTakashi Suzuki
 
MOV お客さま探索ナビの GCP ML開発フローについて
MOV お客さま探索ナビの GCP ML開発フローについてMOV お客さま探索ナビの GCP ML開発フローについて
MOV お客さま探索ナビの GCP ML開発フローについてTakashi Suzuki
 

Mais de Takashi Suzuki (9)

到着予想時間サービスの特徴量のニアリアルタイム化
到着予想時間サービスの特徴量のニアリアルタイム化到着予想時間サービスの特徴量のニアリアルタイム化
到着予想時間サービスの特徴量のニアリアルタイム化
 
AI予約サービスのMLOps事例紹介
AI予約サービスのMLOps事例紹介AI予約サービスのMLOps事例紹介
AI予約サービスのMLOps事例紹介
 
Kubernetes超入門
Kubernetes超入門Kubernetes超入門
Kubernetes超入門
 
MLプロジェクトのリリースフローを考える
MLプロジェクトのリリースフローを考えるMLプロジェクトのリリースフローを考える
MLプロジェクトのリリースフローを考える
 
Optuna on Kubeflow Pipeline 分散ハイパラチューニング
Optuna on Kubeflow Pipeline 分散ハイパラチューニングOptuna on Kubeflow Pipeline 分散ハイパラチューニング
Optuna on Kubeflow Pipeline 分散ハイパラチューニング
 
GOの機械学習システムを支えるMLOps事例紹介
GOの機械学習システムを支えるMLOps事例紹介GOの機械学習システムを支えるMLOps事例紹介
GOの機械学習システムを支えるMLOps事例紹介
 
MOVの機械学習システムを支えるMLOps実践
MOVの機械学習システムを支えるMLOps実践MOVの機械学習システムを支えるMLOps実践
MOVの機械学習システムを支えるMLOps実践
 
タクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて
タクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについてタクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて
タクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて
 
MOV お客さま探索ナビの GCP ML開発フローについて
MOV お客さま探索ナビの GCP ML開発フローについてMOV お客さま探索ナビの GCP ML開発フローについて
MOV お客さま探索ナビの GCP ML開発フローについて
 

[Gree] グリーのソーシャルゲームにおける機械学習活用事例

Notas do Editor

  1. 機械学習を利用したユーザー行動分析 自然言語系のタスク
  2. 今年のリリースタイトルのアプリセールスランキング おかげさまでランキング上位タイトルが増えている ランキング1位をとった子会社ポケラボのシノアリス含む複数ビッグタイトルのデータを 全て格納するHadoopベースの分析基盤を運用しており、大量のデータが簡単に利用できるのが強み どのくらいのデータ量かというと
  3. これまで興味ある人がそれぞれやっていたが、 そのため、使用する言語やライブラリ、ノウハウはバラバラだった しかし、組織として力を入れていこうという話になり 4月に専門チームが編成され、まさに今、様々な事業領域にAI技術を応用して、その成果を検証している段階 チーム構成も強化されてきていて、 DL関連の研究をやってた未踏スーパークリエイターの子が今年入社している あとは分析基盤系のエンジニアやゲームエンジニアが兼務で働いている
  4. 主に2つのお客様ニーズに分割して、機械学習を利用しようと考えた ・時間帯の例 ・熱量の例
  5. つまり、今回のプロジェクトのモチベーションはこのように定式化している 予測した後は、単にpush通知の送信だけでなく、プロダクトの施策などに紐づけることもできる それは、プロダクト次第
  6. 今回は機械学習を利用してプロジェクト進行をしたが、注意している点が何個かある
  7. ざっくりと今回のシステム構成を説明
  8. そのうち、今回のプロジェクトで開発した部分はこちら ここの説明をしていく
  9. ・svmで検証  ・実データは思った以上に汚い  ・非線形カーネルのRBF一択(他にも線形、多項式、シグモイドなど) ・学習データ  ・データの量と質が大事  ・ただ単にデータ量を増やしすぎても学習するためのリソースが増えすぎたりする ・精度  ・精度を向上させるための工夫を説明する
  10. ・データの可視化  ・本番データは思った以上に汚い、実際にデータを可視化して変なデータが混ざっていないか、特徴量があるのかを確認  ・皆さんやっているかと思うが、可視化にはjupyter+pandas+seaboarnなどで可視化を実施  ・DWH参照用の自社のpandasライブラリがあったりする データの質担保 ・スケーリング(標準化、正則化)で特徴量の取りうる範囲を調整する  ・特徴量を同じスケールで比較  ・カーネル関数は特徴量の内積で計算するので、ロストさせないため ・フォーマットの調整  ・one-hot-vector(離散的なデータの場合は、数値ベクトルで表現せずに、フォーマットを変更 ・外れ値の削除  ・年齢、プレイ履歴が外れ値を持つものは別値に保管したり、削除したり ・アンダーサンプリング(大きいデータを小さい方に揃える、データをクラスタリングして一定数をランダムサンプリング)  ・データ量が多いのでこのやり方、データ数が少ない時はオーバーサンプリングでデータを増やすこともできる  ・その際は過学習させないようにknnで増やすやり方が一般的
  11. ・特徴選択  ・特徴量の次元が増えすぎると、学習には不要な特徴量をとらえて、過学習してしまったり、学習に多くのリソースが必要になることがある  ・特徴選択にはランダムフォレストでランキング付けがオススメ ・次元削除  ・説明力が弱い特徴量は削除することで、訓練データの過学習を抑えて、汎化性能をキープできる
  12. ・ランダムサーチでパラメータのあたりをつける  ・svmにはいくつかのパラメータがある   ・コストパラメータC、誤りへのペナルティーを大きくする   ・カーネルパラメータγ、決定境界の複雑さ  ・データ量が膨大なので、いきなりグリッドサーチで全パターンを試行のではなく、ランダムサーチであたりをつけてから実施  ・ヒートマップなどで評価値の可視化をすると見やすい ・熱量高いお客様はサービス離脱リスクが低く、特別アクションをとることなく、継続してくれる  ・それと比較して、熱量が低く離脱するリスクがあるお客様は、長期的なプロダクト運用において事業リスクがある  ・そのため、離脱リスクが高い方を取りこぼさないようにする ・評価関数  ・再現率(recall)はラベルが正のものの精度が上がるように評価する関数  ・F2スコアなど、recall重視のパラメータにするのが重要
  13. ・今回はdeepでは精度でない案件  ・レコード数と比較してデータの質が数十次元と特徴量の数が少ない  ・世間的にdeepに注目が集まっているが、画像や自然言語系など複雑な問題でなければMLが有効なことが多い
  14. ・自社コードはモジュール化も検討