Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
強化学習を活用して
CTRの向上を実現したお話
Fashion Tech Takls Tokyo #1
2016/5/13
株式会社VASILY
金田卓士
自己紹介
金田 卓士 @kndt84
データサイエンティスト
• 2009年に大学院を修了 専攻は計量経済学
• 一休.com、ソフトバンク・テクノロジーを
経て現職
• 趣味では、VRミニ四駆という作品を作って
、Maker Faire に出展したりしてます!
強化学習を活用して CTRの向上を実現したお話
強化学習を活用して CTRの向上を実現したお話
ページに表示させるアイテムを
強化学習を使って最適化して
CTRを向上させたのでそのお話を
背景
ブランドとエリアで検索を行うと、iQONの
店舗情報ページが表示される
問題意識
しかし、ほとんどのユーザーは
情報を見たら直帰してしまう
人気アイテムにクリックした
いと思うような商品があれば
、クリック率(CTR)が上が
るのでは??
ここにクリックされやすい
3アイテムを表示させたい
マルチアームバンディットが使えるのでは!
マルチアームバンディット問題とは
?
• 配当率が違う複数のスロットマシンがあ
る状況を想定
• 配当率が高いマシンを見つけ出す必要が
ある一方で、利益を最大化する必要もあ
る
• A/Bテストの様に、探索(explore)のみ
を行うのではなく、活用(exploit)も行
うことで利益を最大化させる
• 探索と活用をどうバランスさせるか
Multiple play 設定
複数の候補アイテムがあるときに、いかに
クリック率の高い3アイテムを選択するか
http://www.slideshare.net/jkomiyama/optimal-regret-analysis-of-thompson-sampling-
in-stochastic-multiarmed-bandit-problem-with-multiple-plays
ICML 2015 というトップカンファレンスで、
@jkomiyama_ さんが発表された論文を参考に実装
Thompson Sampling
出現しやすい出現しにくい
アイテムごとに、β分布に従う確率変数を持っていると仮定し、
そこから生成された乱数によって表示順を決める
表示数とクリック数によって分布が変化する
0.74 0.240.31 0.440.870.52
1 2 3
アイテムごとにβ分布に従う乱数を発生させて、
その値の高かった3アイテムを表示させる
システム構成
Webサーバー APIサーバー
Redis
パラメータ更新
パラメータ
取得
ブランド
アイテムリスト
パラメータはRedisで保持し、任意のブランドを選択
するとスコアの高い3アイテムのを返すAPIを実装
結果としてページのCTRアップを実現
https://github.com/vasilyjp/multi_armed_bandit
VASILYで利用しているマルチアームバンディットア
ルゴリズムのRuby実装をGemパッケージとして公開
してます!要望、質問、プルリク大歓迎です!
We are hiring !
「ファッション×ビックデータ」
の分野を一緒に開拓しましょう!

More Related Content

強化学習を活用して CTRの向上を実現したお話