1 of 17

第7章 商品推薦のための興味のスコアリング (1/2)

Tanaka Kei

2 of 17

Outline

  1. 導入
  2. 課題整理
  3. データ分析←データ作成含む
  4. 数理モデリングと実装
  5. 数理モデルの検証
  6. 第7章のまとめ
  7. 凸二次計画問題の行列表現の補足

1

Reference

3 of 17

田中 啓/Tanaka Kei

  • 秋田県生まれ、東京在住
  • Job experience:
    • 現職:Data scientist (Impact-Tech)
    • 前職:Data scientist (Infrastructure DX)
  • Specialty:
    • 土木工学 (地盤工学/Geotechnical Eng.)
    • 資源工学 (貯留層工学/Reservoir Eng.)
    • 数理最適化 (Metaheuristics)

2

秋田県民

4 of 17

最適化/Optimization

  • パラメータの最適化/Parameter optimization
    • 地質パラメータ(油田&CCS)/Geological parameters (Oil reservoir & CCS)
    • 放射性廃棄物処分の人工バリア/Engineered barrier system of HLW disposal
  • 計画の最適化/Project optimization
    • 油田開発における坑井配置/Well placement on oil & gas reservoir
    • 多目的最適化による油・ガス埋蔵量の推定/Oil & gas reserve estimation by multi-objective optimization
    • 石炭の配船-積付-払出計画/Coal shipping-stacking-mixing plan
    • 大規模プラントの建設計画/Project scheduling of large-scale plant construction
  • Algorithm (Opt. solver) development
    • Metaheuristicsの収束判定手法/Convergence standards in metaheuristics
    • 相関のある乱数による最適化/Random sampling with dependence

3

CCS: Carbon dioxide geological storage, HLW: High-level radioactive waste

Tanaka, K., et al. (2017). Energy Procedia114, 5847-5854.

田中啓ほか. (2017). 石油技術協会誌82(6), 415-422.

5 of 17

ECサイトの顧客閲覧履歴

  • Recencyに関する単調性:�ユーザーは最近閲覧した商品ほど興味がある
  • Frequencyに関する単調性:�ユーザーは何度も閲覧した商品ほど興味がある

  • インプット:ユーザーの商品の閲覧履歴
  • アウトプット:ユーザーの商品の再閲覧確率

4

7.1. 導入

  • RecencyとFrequencyに注目した数理最適化モデルを、具体的なデータを利用して構築

6 of 17

レコメンド

5

7.2. 課題整理

7 of 17

レコメンド

  • 問題の難しさ
    • item2とitem4を比較すると、item2 は 2 日前に 2 回閲覧しており、 item4は1日前に1回閲覧しているので、 閲覧回数が多い商品と最近閲覧した商品のどちらに興味があるか判別できない

6

7.2. 課題整理

8 of 17

データの概要

  • access_log.csv
    • 2015/07/01~2015/07/08 (8日間)
    • ユーザー:31,443人
    • 商品数:87,611個
    • 総閲覧数:325,908件
    • 1ユーザーあたりの商品閲覧数
      • 平均:10.4回
      • 中央値:5回
      • 2~632回
    • 1商品当たりの閲覧数
      • 平均:3.7回
      • 中央値:2回
      • 1~941回

7

7.3. データ分析

  • データのオーダーだけでも把握しておく�ことで多くのミスを回避可能
  • 平均値と中央値が大きく異るデータは�ヒストグラムを描画して確認

9 of 17

再閲覧確率の計算(例)

  • 2015年7月1日から7月7日までの閲覧履歴をもとに、�7月8日に再閲覧する確率を求める
  • freq: 頻度。ユーザーが商品を閲覧した総数
  • rcen:最新度。ユーザーが最後に商品を見た日から基準日までの経過日数
  • pv_flag:再閲覧フラグ。ユーザーが当該商品を基準日に閲覧していれば 1、� 閲覧していなければ0をとるフラグ

8

7.3. データ分析

day

8/1

8/2

8/3

freq

rcen

8/4

pv_flag

item1

1pv

3pv

2pv

6

1

1pv

1

item2

-

2pv

-

2

2

-

0

imet3

-

-

2pv

2

1

1pv

1

item4

-

-

1pv

1

1

-

0

10 of 17

再閲覧確率の計算

  1. 各ユーザーの閲覧履歴を抽出(U2I2Rcens)
  2. freqとrcenの計算と追加(UI2RF_df)
  3. pv_flagの追加(UI2RFP_df)
  4. rcen<=7でフィルタリング(tar_df)

9

7.3. データ分析

11 of 17

RecencyとFrequencyの単調性の確認

  1. rcenとfreqに対してクロス集計を行う
    • 7月8日に閲覧したか(pos)
    • 閲覧しなかったか (neg)
  2. 再閲覧確率probを算出し、単調性を確認

10

7.3. データ分析

12 of 17

数理モデル

  • freqが増加すると、probの値も増加する傾向
  • rcen が増加するとprobの値が減少する傾向

  • 取り扱っている事象がFrequencyとRecencyの単調性をもつものの、次の2つの理由のため、ところどころFrequencyとRecencyの単調性が成り立たない
    • データ量が少ないため
    • データにノイズが含まれるため

11

7.4. 数理モデリングと実装

13 of 17

数理最適化モデル-要件定義-

12

7.4. 数理モデリングと実装

  • RecencyとFrequencyに注目した数理最適化モデルを、具体的なデータを利用して構築

14 of 17

数理最適化モデル-凸二次計画問題-

  • 凸二次計画問題とは、目的関数が凸な二次関数であり制約式が線形の不等式で書ける最適化問題のことを表し、具体的には次の目的関数と制約式で表されます。

13

7.4. 数理モデリングと実装

15 of 17

数理最適化モデル-変数の準備-

  • 要件(1)

14

7.4. 数理モデリングと実装

  • 要件(2)

  • 要件(3)

16 of 17

数理最適化モデル-変数の準備-

  • 要件(4)

15

7.4. 数理モデリングと実装

17 of 17

数理最適化モデル-求解-

  1. 準備したデータを行列形式に変換
  2. CVXOPTを実行
  3. status=‘optimal’であることを確認

16

7.4. 数理モデリングと実装