appricot’s diary

日々の勉強のメモ

TransBoost: A Boosting-Tree Kernel Transfer Learning Algorithm for Improving Financial Inclusion ==> 読後メモ

Paper

Summary

  • 概要
    • Gradient Boosting TreeをベースにしたTransfer Learningの手法を提案。
    • Tencentの不正検知データやLending Clubの与信データに適用し、精度・計算時間・欠損値への耐性などの観点で、他の手法と比較して有用であることを検証。
  • 前提
    • Source Domainは、大量のデータポイントがある。
    • Target Domainは、少量のデータポイントしかない。
    • 目的は、Target Domainで、精度の高い予測器をつくる。
    • (論文の記載ではなく、当Blog著者の補足)仮に、Source DomainをサービスAのユーザデータ、Target DomainをサービスBのユーザデータとする。両者で、入力変数の種類(ユーザのどういった属性のデータがあるか)は、同一である必要がある。両者に含まれるユーザは、異なっていても良い。例えば、以下のようなイメージ。
      • Source Domainは、サービスAで、大量のデータがある。入力変数として、ユーザの性別・年齢・居住地が含まれる。
      • Target Domainは、サービスBで、少量のデータしかない。入力変数として、ユーザの性別・年齢・居住地が含まれる。
      • サービスAしか利用していないユーザもいれば、サービスBしか利用していないユーザ、両方利用しているユーザもいる。
  • Transfer Learning
    • 大きくわけて、2つのアプローチがある。
    • 1つ目のアプローチは、Instance Weighting. Source DomainとTarget Domainにおける各入力変数の分布の違いが小さくなるように、各データポイントに重み付け。例えば、KMM法の場合、(再生核ヒルベルト空間において)Source DomainとTarget Domainの各入力変数の平均を小さくするように、各データポイントに重み付けする。
    • 2つ目のアプローチは、Feature representation. Source DomainとTarget Domainで共通するようなFeature representationを見つける。具体的には、Source DomainとTarget Domainを、他空間にうつして、Mappingさせる。
  • モデル概要
    • Source Domainと、Target Domainで、同一の木構造のモデルを構築する。ただし、各Leafの重みは、両者で異なる。
    • Source Domainの木構造と重みは、通常のGBTと同様に学習。
    • Target Domainの木構造と重みは、ある特別な誤差を最小化するように学習。特別な誤差とは、その木をSource Domainに適用した場合の誤差と、Target Domainに適用した場合の誤差の和。
      • 誤差=λxSource Domainに木を適用した場合の誤差+Target Domainに木を適用した場合の誤差+正則化
        • λは、ハイパーパラメータ。
      • Source Domainに木を適用した場合の誤差は、各データポイントに対し、Souce DomainとTarget Domainの差を表す重みβをつけて計算。
      • このβは、各データポイントに対して計算される。Target DomainにおけるP(x, y)と、Source DomainにおけるP(x,y)の比として定義。
        • Target DomainにおけるP(x,y)は、Target Domainの木を用いて計算。
        • Souce DomainにおけるP(x,y)は、Source Domainの木を用いて計算。
  • 学習手順
    • M回、以下を繰り返し。Mは、木の本数。
      • Target Domainにおいて、木を学習。
      • Souce Domainにおいて、木を学習。
        • 木の構造は、Target Domainと同様で、各Leafの重みのみ、Source Domainのデータに合わせて、カスタマイズ。
      • 次のイテレーションで用いるβを更新。
        • βは、各P(x, y)に対して、Source Domainの場合と、Target Domainの場合の違いの比率。先に学習したSource Domainの木と、Target Domainの木を用いて計算される。
        • βは、Source Domainの各訓練データに対して計算される。
  • 評価
    • 以下のデータを利用。ラベルは、いづれもバイナリ。
      • Tencent Mobile Paymentの不正データ
        • Source Domainは、前からある金融サービスのデータ(149万人)
        • Target Domainは、新たにはじまった金融サービスのデータ(8.5万人)
        • 入力変数の数は、両ドメインとも、2,714個
      • Lending Clubのローン返済のデータ
        • Source Domainは、医療ローンのデータ(5,080件)
        • Target Domainは、自動車ローンのデータ(4,000件)
        • 入力変数の数は、両ドメインとも、110個
      • ワイン評価データ 
        • Souce Domainは、赤ワイン(3,918件)。
        • Target Domainは、白ワイン(1,460)。
        • 入力変数の数は、両ドメインとも、11個
    • 結果
      • いづれのデータでも提案手法(TransBoost)のAUCが、他のTransfer Learningの手法と比較して、高い。Training Dataの量を、10%程度まで減らした場合でも、AUCは、0.72以上。
      • 計算時間は、Tencent Mobileのデータで検証。TransBoostが最も速い。
      • Tencent Mobileのデータで、訓練データにおいて、人工的に欠損値を発生させた場合でも、モデルのAUCの落ちが、他手法と比べて小さいことを検証。

Impression

  • 今まで、Transfer Learning=Deep Leariningベースの手法とばかり思い込んでいたので、Gradient Boosting Treeをベースとした手法があるというのは、新鮮。
  • 計算時間が他手法より短かったり、モデルのInterpretabilityもあるという点は、魅力的。
  • 比較対象のBaselineとして、様々なTransfer Learningの手法と比較しているが、単純にXGBoostを適用した場合と比較して、どれぐらいAUCがImproveするのかも、知りたかった。
  • 論文に挙げられている様々なTransfer Learningの手法は、知らないものも多かったので、一度、きちんと勉強したい。。特に、論文中、KMMという手法がよく登場するので、こちらは、きちんと理解したい。
  • Theoretical Analysisの部分は、勉強不足で、完全には理解できず・・