0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

信用データではSSLはGBMに届きません。しかし統合すると改善します

0
Posted at

原文: han-co.com · コード: GitHub ·「金融データサイエンス」連載の「論文」回です。(原文には手描きの図も載せています。)

この記事は連載「論文」シリーズの第1回です。自分で回した実験を一つ、実務者の目線で噛み砕いて紹介します。

Part 3で、表形式の信用データでは、ディープラーニングではなく決定木ベースのブースティング(GBM)のほうが性能が良いと述べました。そして、ディープラーニングが活きる場所はコアモデルではなく非構造化の補助データの側だとも書きました。この記事は、まさにその境界を公開データで直接実験した記録です。

問いはシンプルです。信用の貸し倒れ予測で、自己教師あり学習(SSL)はGBMより良い性能を出せるでしょうか。自己教師あり学習は、ラベルなしで生データから表現を学ぶ方法で、BERTやGPTがテキストで、SimCLRやMAEが画像で大きな成功を収めたあのアプローチです。これを顧客の取引系列に適用するとどうなるでしょうか。

先に結論を言うと、問いそのものが少しずれています。SSLはGBMを置き換える候補ではありません。GBMに補助的な特徴量として加えるときだけ、一貫して役に立ちます。その過程を四つに分けて整理しました。

実験はこうしました

公開データだけを使いました。AMEX Default Prediction(Kaggle 2022)の顧客45万9千名、一人あたり最大13か月の匿名化された取引記録です。顧客単位で80/10/10に分け、すべての実験が同じ分割を使うよう固定しました。

性能はこの大会の公式指標を使います。貸し倒れ(少数クラス)をどれだけよく捉えるかを、Giniと上位4%の捕捉率で混ぜたスコアで、0.79付近で0.001の差が意味を持つほど細かい指標だと押さえておけば十分です。

比較対象は二つです。

  • GBMベースライン: 手作りの特徴量1,291個 + LightGBM。公開された上位ソリューションの設定そのままで、リーダーボードtop-10水準(test 0.79558)です。
  • SSLエンコーダ: 小さなトランスフォーマー(約87万パラメータ)を四つの方式(マスキング、次ステップ予測、コントラスティブ、ハイブリッド)で事前学習しました。

すべてノートPCのGPU1台(8GB)で20時間ほど、クラウド費用0円で回しました。

発見1: SSL単体ではGBMに届きません

四つのSSL方式をすべてfine-tuneしても、最良でtest 0.79267でした。GBMベースライン0.79558に届きません。差は0.003ほどと小さいですが、評価の組み合わせ八つのうち、GBMより良かったものは一つもありませんでした。方向は一貫しています。

面白いのはラベルを減らしたときです。SSLの定番の長所は「ラベルが少ないときに強い」ですが、ここでは逆でした。ラベルを1%、5%、25%、100%と減らしながら比べると、GBMがすべての区間で良く、差はラベルが少ないほどむしろ広がりました。1%では差が0.05まで開きました。

理由は察しがつきます。4千名で87万パラメータのトランスフォーマーを学習させるのは過剰です。一方でLightGBMは強い正則化で少ないデータでも安定し、何よりドメイン知識が凝縮された特徴量1,291個をもとに、必要な分だけ育ちます。Part 3で述べた「表データでは決定木が強い」が、ここでも確認できます。

発見2: 評価方法によって結果が変わります

これは少し衝撃的でした。同じように事前学習したエンコーダを、二つの方法で評価しました。一つはエンコーダを固定したままロジスティック回帰だけを付ける方法(linear probe)、もう一つはエンコーダまで全部学習し直す方法(full fine-tune)です。

ところが、四つの方式の順位が評価方法によって完全にひっくり返りました。「ハイブリッド」方式はlinear probeで最下位でしたが、full fine-tuneでは1位でした。同じモデルなのに、二つの評価のスコア差が0.058も出ました。

ここから得られる教訓は明確です。ある論文はlinear probeだけを見て「この方式が一番弱い」と結論づけ、別の論文はfine-tuneだけを見て「一番強い」と正反対の結論を出しうる、ということです。どちらも自分の実験の中では正しい。だから、tabular SSLの結果を見るときは、どの評価方法を使ったかをまず確認しなければなりません。

発見3: しかしGBMと統合すると改善します

ここで結果が変わります。SSLエンコーダが作った128次元の埋め込みを捨てずに、既存の特徴量1,291個にそのまま統合してGBMに入れてみました。

最初は異なる三つの事前学習シードで繰り返し、三回ともベースラインより良い結果でした(平均 +0.00142、t=4.1)。ただ、シード三つでは分散を楽観的に見積もりやすいので、六つに増やして見直しました。六つともベースラインより良かったものの、ゲインは平均 +0.00117(test 0.79675)、標準偏差 0.00098、t値は約2.9(自由度5)に下がりました。最初より小さく、正直な値です。それでも六つのシードがすべて同じ方向だという点は、このゲインが偶然ではないことを示します。

数字そのものは小さいです。ただ、この小さなゲインがどこから来るのかを掘り下げると、それほど小さくはありません。

SSLは何を補うのか: ドメイン知識の半分を再発見

GBMに入る特徴量1,291個は、単なる前処理ではありません。「最後の値」「トレンドの傾き」「欠損パターン」といったもので、数十年のドメイン知識がデータパイプラインにあらかじめ刻まれた結果に近いものです。言うなれば、人が手で行った事前学習です。

では、SSLのニューラルネット事前学習は、それとどれくらい重なるのでしょうか。GBMが最も重要と見た上位100個の特徴量を外して学習し直すと、スコアが0.00592下がります。そこにSSLの埋め込みを加えると、そのうち0.00324が回復しました。回復率は約55%です。

言い換えると、SSLは、専門家が手で作った上位特徴量が持つ情報の半分ほどを、ラベルなしで生データから自力で再発見します。残りの半分は見つけられません。業務カレンダーの意味や欠損の定性的な解釈のように、生の信号に表れていない情報だからです。

そのゲインはどこに隠れているのか: 安全に見える顧客

平均 +0.001ほどが、すべての顧客に均等に広がっている理由はありません。GBMの予測スコアで顧客を10分割し、分位ごとにゲインを見たところ、片側に集中していました。

GBMが「この人は貸し倒れることはほぼない」と確信した安全な分位(予測下位0〜3分位)で、ゲインが +0.02から +0.03に集中しました。残りの分位ではほぼ0です。

なぜこれが重要かは、Part 1の非対称なコストを思い出せば分かります。信用で最も高くつく間違いは、貸し倒れる顧客を「安全」と誤分類することです。損失が100%現実化するからです。SSLの埋め込みが捉えるのは、まさにその安全に見える顧客の中に隠れた貸し倒れ、つまりsilent defaultです。平均の数字が示すよりも、実際の有用性は大きいのです。

だから実務では

整理すると、こうです。

  • SSL単体のモデルでGBMを置き換えようとしないでください。単体の性能はGBMに届きません。ラベルが少ないほど顕著です。
  • 代わりに補助的な特徴量として使ってください。エンコーダ一つの128次元埋め込みを既存の特徴量に加えてGBMに入れると、安定したゲインが得られます。コストも事前学習1時間ほどで、GBMのハイパーパラメータをもう一度回すより軽いです。
  • 平均ではなく分位ごとの損失で判断してください。+0.001は小さく見えても、安全な分位の隠れた貸し倒れを減らす効果はそれより大きいです。
  • エンコーダは一つで十分です。欲を出して四つのエンコーダの埋め込みをすべて統合してみたら、学習スコアは上がってもtestはむしろ下がりました。典型的な過学習です。「事前学習の方式を多く足すほど良い」というNLPの直感は、ここでは通用しませんでした。

正直な限界

この結果は、次の限界の中でのみ有効です。

  • データが一つです。AMEXという一つのデータセットなので、ほかの信用分野への一般化は保証できません。
  • エンコーダが小さいです。87万パラメータなので、もっと大きくすれば55%の回復率が上がる余地があります。
  • シードは六つです。最初の三つではt=4.1でしたが、六つに増やすとt≈2.9と、より正直で保守的な信号になりました。さらに増やす余地は残っています。
  • ランダム分割で、このデータではまともなout-of-time検証が難しいです。AMEXは匿名化の過程で、すべての顧客の最後の取引が2018年3月の一か月に固まっており、時間で分けても数日の差にしかなりません。景気サイクルや季節性のような本当の時間移動を試すには、時間の幅が広いほかのデータが必要です。Part 3で強調したout-of-time検証をきちんと行うことが、最も重要な今後の課題です。

これらの限界の中でも、六つのシードがすべて正の方向であること、55%という回復率、そして一つの分位に集中したゲインは、確かな信号だと考えています。

おわりに

SSLが信用で「通用する、しない」は、最初から間違った問いでした。本当の問いは「どこでどう役に立つのか」でした。SSLはGBMの競争相手ではなく、補助的な特徴量です。その価値はGBMが安全と見た顧客の隠れた貸し倒れに集中しており、エンコーダは一つで十分です。

Part 3で「ディープラーニングが活きる場所は非構造化の補助データ」と書きましたが、この記事はその一文を数字で確かめた記録です。

付録: コードとデータ


この記事は han-co.com で最初に公開し、韓国語と日本語で連載しています。原文とメール購読 → https://han-co.com/ja/blog/ssl-credit-risk

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?