appricot’s diary

日々の勉強のメモ

Adapted Tree Boosting for Transfer Learning ==> 読後メモ

論文

arxiv.org

概要

  • Alipayでの不正検知に、Transfer Learning(転移学習)を適用。
  • 通常、Transfer Learningといえば、ニューラルネットワークを用いたものが多いが、この論文では、XGBを利用。

 

Transfer Learningの分類

  • Instance based methods
    • Source DomainのInstanceを、Target Domainの訓練に利用。
    • 重点サンプリングで特定のInstanceを多めにサンプリングしたり、特定のInstanceに重みをつけたりする
    • Source DomainとTarget Domainのデータ分布が類似の場合に、うまくいく。
  • Feature based methods
    • Source Domain、Target DomainそれぞれのFeaturesを、共通の空間に写す。
    • ドメインの(分布の)差が小さくなるように、Representationをつくる。
  • Model based methods
    • Target Domainのモデル構築時、Source DomainのInstanceは、直接利用せず。
    • Source Domainのモデルのパラメータを、Target Domainのモデルに利用。
    • Tree based modelを用いた前例は、TrAdaBoost
      • 訓練データのサンプルの重みを調整。
      • Source domainで誤分類されたデータは、重みを小さくする。

 

提案手法の前提

  • Source DomainとTarget DomainのX、Yで、Feature spaceが同様。
  • Source DomainのXと、Target DomainのXで、分布は異なる。

 

適用対象のデータ

  • Source Domain、Target Domainともに、海外ECのトランザクションデータ。
  • ドメインで、異なるMarket placeのデータ。
  • 不正データが両方に含まれる。
  • それぞれ、入力データの分布や不正の種類は異なる。

 

提案手法

  • 大枠
    • OneRound Strategy
      • Source domainでXGBを学習。
      • そのモデルをTarget Domainに移動し、木1つ1つを、Target Domainにあわせて、Revise.
      • 最後に、モデル全体を、Target Domainのデータで再学習
    • MultiRound Strategy
      • 以下を、全ての木について繰り返す。
        • Source DomainでXGBを学習
        • そのモデルをTarget Domainに移動し、木1つについて、Target DomainにあわせてRevise
        • そのReviseされた木を、もとのSource DomainのXGBに戻す。
      • 最後に、モデル全体を、Target Domainのデータで再学習
  • Reviseの詳細
    • Re-split: 入力変数の分布形状やスケールが異なっている場合、木を枝分かれさせる最適なポイントが変わる。この枝分かれポイントを、Target Domainにあわせて変更。
    • Re-weight: Labelデータの分布が、Source DomainとTarget Domainで異なる場合がある。これに対応するために、各Leafの重みを、Target Domainにあわせて変更。
    • Rare Branch: 各Leafに所属するサンプル数が少なすぎる場合に、対策を講じる。

 

評価

  • データ概要
    • 5カ国、500万レコードからなるクレカ・デビットカードトランザクション
    • 各レコードは、ラベル(不正かどうか)と48のFeaturesを含む。
    • Positive sample(不正サンプル)のデータが少ない。Positive sampleは、Source Domainでも1,800件程度。Target Domainは500件以下。
  • 評価指標
    • Imbalanced Data Setの場合、AUCだと高めの数字がでたり、モデル間の差が出づらい。そこでTop-N recallを利用。
    • Top-N recallは、実際の不正データのうち、どれぐらいが実際に不正と予測されたか。
    • この論文では、Top-Nを、スコアをハイスコア順に並べたうえで、1万分の1の割合にあたるトランザクションを「不正と予測されたトランザクション」と定義。
  • 結果
    • Reviseなしでの単純なTransfer Learningでも、Recallは、9.821%改善。この場合、木の深さが浅い必要あり(Depth=3)
    • ReviseありのTransfer Learningでは、OneRound Strategyで、Depth=5の場合に、Recallが、11.607%改善。
    • MultiRound Strategyでの改善幅はイマイチ

 

Impression

  • Source Domainのモデルを、ReviseなしでTarget Domainに持ってくる形のTransfer Learning(BM2-dep3)でも、TOP-N Recallは、9.821%改善。案外、Reviseなしでも、精度改善が大きいというのが印象。
  • 「こんなにPositive sample数が少なくても適用できるんだ・・」というのが印象的。
    • Target DomainでのPositive sample数は、500件以下で、Training dataは、全データの30%のみ。そのような厳しい条件下で、Recallの改善幅が11%というのは、驚き。