論文読み会 SIGIR2018 | Top-k Route Search through Submodularity Modeling of Recurrent POI Features

414e141aa769f7bf61977ee5fb15d1ba?s=47 cocomoff
August 08, 2020

論文読み会 SIGIR2018 | Top-k Route Search through Submodularity Modeling of Recurrent POI Features

414e141aa769f7bf61977ee5fb15d1ba?s=128

cocomoff

August 08, 2020
Tweet

Transcript

  1. @cocomoff 論⽂読み会 2020/8/6( ⽊)

  2. 概要 旅⾏のルート推薦 (POI めぐり) のために, 個ぐらい経路を返したい ユーザの好みみたいなものを考慮する (personalized) 必要に応じて経路のdiversity も考慮する

    1/14 k
  3. 論⽂の貢献 personalized & diversity を考慮するTop- 経路探索を定式化 前処理 (indexing) と枝刈りを使った厳密解法PACER の提案

    2 つのヒューリスティクスを提案 (good efficient-accuracy trade-off) 実データを⽤いてベースライン⼿法より⾼速なことを確認 2/14 k
  4. 問題設定 (1/2) グラフ のノード がPOI で,属性ベクトル が付与さ れている ( 次元ぐらい.図1

    では ) 3/14 G = (V , E) n ∈ V Fn ∣H∣ H = {Park, Museum, Restaurant}
  5. 問題設定 (2/2) 推薦する経路 のコストは滞在時間+ 移動時間 cost(P) := s + i∈PV

    ∑ i T i→j∈P ∑ i,j ユーザは から出発して へ向かい,特徴の好みベクトル , 予算 ,閾値 ,集約関数 をもつ (query ) 集約関数 は,経路のどこを評価するか?を抽象的に書いたもの 下の定義だとイマイチよく分からない ( 論⽂通じてよく分からない) このとき,経路 を通る場合の利得 は Gain(P , Q) : V = w Φ (P ) h∈H ∑ h h V 4/14 P x y w ∈ [0, 1]∣H∣ b θ Φ Q = (x, y, b, w, θ, Φ) Φ PV Gain
  6. から へ のユーザが⾏く ( 経路上の輪) ( 経路上の最⼤) によってルートの上で得られる値の集約⽅法が変化 問題: 通過するPOI

    集合が異なる利得が⼤きい 個の経路を発⾒したい v1 v5 w = (0.4, 0.6, 0), b = 18 v → 1 v → 6 v → 4 v ,Φ : 5 = sum v → 1 v → 2 v → 3 v , Φ : 5 = max Φ k
  7. 劣モジュラ関数を⽤いたdiversity requirement (1/2) 集合 について, を集合関数と呼ぶ 任意の について [ 限界効⽤逓減]

    が成り⽴つ場合,劣モジュラ関数と呼ぶ について のとき, は単調と呼ぶ について のとき, は⾮負と呼ぶ 定理1 各属性 について が単調⾮負な劣モジュラ関数であるとき, も単調⾮負な劣モジュラ関数 ∵⾮負係数を使った線形結合なため 5/14 V f : 2 → V R X ⊆ Y ⊆ V , v ∈ V ∖ Y f(X ∪{v}) − f(x) ≥ f(Y ∪{v}) − f(Y ) X ⊆ Y ⊆ V f(X) ≤ f(Y ) f X ⊆ V f(X) ≥ 0 f h ∈ H Φh Gain(P , Q) V
  8. 劣モジュラ関数を⽤いたdiversity requirement (2/2) 論⽂で扱う形式 ( あまり気持ちはよく分からない) は経路 の中で, 番⽬に訪問する地点のランク 例:

    はランク2 , はランク1 のとき, Φ (P ) : h V = R (i) i∈PV ∑ h −α(h)F ~ i,h : diminishing 度合い ( だとsum , だとmax) 定理2: 上の式は⾮負,単調な劣モジュラ関数 劣モジュラの話は実際,あんまり使わないけど… 6/14 R (i) h PV i A(3) → B(5) A B α = 1 2 × −1 3 + 1 × −1 5 α α = 0 α → ∞
  9. Indexing 経路探索を⾏うときに, だけから分かる情報と から分かる情報を持つ 7/14 G Q

  10. Optimal Route Search クエリ より, となるPOI を取り除く ( ) PACER:

    Prefix bAased Compact statEs gRowth 残っているPOI から,現在構築中の経路 を拡張 + 枝刈り 基本的な考え⽅ (route search space) 経路 に付随する値 訪問POI , , 最後のPOI ,コスト 開始地点 から始める ある経路 (open route) が ⽬的地 で終わるとき close route と呼ぶ あるopen route ( ) にまだ訪れていない を追加する に付随する値に, の増分を追加する 8/14 Q s + x T + x,i s + i T + i,y s > y b i VQ VQ P P PV Gain(P ) V end(P) cost(P) x P y P− end(P) = i j P− i
  11. 例えば POI の集合 ぐらいの粒度で状態空間をまとめて良い (compact state) cost(P) = cost(P )

    + − T + i,j sj C
  12. 枝刈り詳細 ( 約1.5 ページぐらい,概要のみ) いくつかのテクニック ( 単調性,代表元を選ぶ,劣モ最⼤) Compact State 経路

    のコストにはPOI の順序が関係するけど,利得は関係なし 列挙⽊の状態 ( ノード) を集合で管理しつつ,順序は別で覚える Cost-dominance pruning (Pruning-1) 仮に経路 について であり, を拡張した新し い経路 と同じ拡張が にも適⽤できてコストが⼩さくなる Gain-based pruning (marginal gain upper-bound pruning, Pruning-2) 経路 から へ拡張することを考える ( 残り予算は ) 利得の増分 が⾮負単調な劣モジュラ関数 Gain 増分を最⼤化するために,厳密 or greedy alg. を適⽤できる 9/14 C P P, P′ cost(P) ≤ cost(P ) ′ P′ P′ ^ P PV P ^ V Δb ΔGain( ∣ P ^ V P ) V
  13. ヒューリスティクス State collapse heuristic 列挙⽊の中にはたくさんのルートが格納されている (cost- dominance 性を使いながらうまく) SC (state-collapse):

    多くのPOI を訪問する経路を1 つだけ残す Greedy algorithm 最初の経路 に,以下の数値順でPOI を追加する 利得が⼤きそう,かつ滞在時間とスタート ,ゴール からの移動コ ストが少なそうなところが順序が上 s + T + T i x,i i,y Gain({i} ∪C) − Gain(C) 10/14 x → y x y
  14. 実験設定 以前の研究でも使われていたデータセットらしい データから,例えばPOI のチェックイン数 などが分かる これらを使って特徴ベクトル を作る ユーザの好み はデータ中のユーザに着⽬し,ユーザのチェックインした 履歴を真似てベクトルを作る

    クエリー : パラメータ はランダムに作り, をくっつける 11/14 i NC(i) Fi w Q b, θ, α w
  15. 実験 (1) 評価指標: を代えたときの計算時間/ 経路数/ 利得 BF は総当り,PACER はPruning をくっつけたもの,GR

    は貪欲,AP は既存 (?) の近似アルゴリズム,A* はそのまま ( 次ページ) BF は総当りなので, (50 例のうち クエリーは計算できなかった) 12/14 b, θ, α n/m n
  16. 実験 (2) ( 前ページ) は予算≒ 経路⻑さなので,とても増える は余計なものが減る感じ, はよく分からない 12/14 b

    θ α
  17. 実験 (3) の効果 (= route diversity に寄与) の⽐較 左は ,右は

    13/14 α α = 0.5 α = 0.0
  18. 実験 (4) A* とPACER-2 (PACER+Pruning-1+Pruning-2) の⽐較 ( どちらもExact) 13/14