データ点の予測において訓練データ点が与えた影響の大きさを評価する関数を推定する技術。
アイデア¶
経験リスクの最小化による学習アルゴリズムを前提とする。
訓練データ全件で学習したモデルと、訓練データからデータ点を抜いて学習したモデルとの差分でインスタンスの影響度がわかる
インスタンスのデータ点に対する影響度は、誤差の大きさからわかる
データ点の予測において訓練データ点が与えた影響の大きさ を推定する
文献¶
Hara et al. (2019)はconvexでない損失関数にも使えるよう拡張したらしい
Guo et al. (2020)はFastIFを提案:k-最近傍のデータに探索範囲を絞るなどして最大80倍の高速化
Sharchilev et al. (2018)は勾配ブースティング決定木に向けたinfluence functionを提案
Influence Functionはモデルのパラメータの微分によって近似推定するため、決定木ベースのアルゴリズムなど微分不可能なアルゴリズムでは計算できないため
Notation¶
データ点
誤差関数
経験リスク:
訓練データ点が訓練集合に含まれるとする
標準的な経験リスク最小化:
Leave-One-Out¶
1つのインスタンスを抜いて訓練した場合にどれだけモデルが変わるかを考える
モデルの変化がわかればテストデータ点に対する誤差の変化も評価できる
個の訓練データ全部を評価するには回学習し直す必要があるので現実的なアプローチではない
Influence Function¶
アイデア¶
数学的なトリックを活用して再学習を避けつつLOOを近似していく。
訓練データ全部を使った経験リスクに、データ点についての誤差を重み付きで足したリスク関数で訓練したパラメータを考える
を入れることによる変化分がとれるので、これのでの微分ののときの値をパラメータについての上側のinfluence functionとする
ヘッセ行列の計算の高速化¶
個のデータと次元パラメータがあるとき、ヘッセ行列の逆行列はの計算量を要するので削減したい
共役勾配(conjugate gradients: CG)法
連立一次方程式に帰着させて近似解を得る方法
Hessian-vector products (HVPs)
ヘッセ行列とベクトルの積を近似推定する数学的トリックを使う方法
Stochastic estimation (Agarwal et al., 2017)
SGDのようにランダムサンプリングしてCG法のiterationを回す
FastFI¶
Influence Functionは計算が重い
データ点の評価は
モデルパラメータのinverse Hessianの計算コストが高い
上記の計算は並列可能であるが、先行研究のアルゴリズムでは直列
FastIfのアイデア
全データを探索するのではなく、fast nearest neighbor search(Johnson et al., 2017)で探索範囲を狭め、桁違いに計算量を抑える
Hessianの推定において、品質を保ちつつ時間を半分以下にするハイパーパラメータ集合を識別
シンプルに並列計算へ拡張し、さらに2倍高速化
実験においてほとんどのケースで全体で2桁程度の高速化が確認された
LeafInfluence¶
Paper: [1802.06640] Finding Influential Training Samples for Gradient Boosted Decision Trees
実装は Brophy et al. (2023)のリポジトリjjbrophy47
/tree _influence のほうがいいかも Brophy et al. (2023)はDataShapelyなど色々な事例型説明の手法を適用・比較しており、GBDTにおける事例型説明についてまとまっている
Case-deletion importance sampling estimators¶
[0807.0725] Case-deletion importance sampling estimators: Central limit theorems and related results
Bayesian Modelのためのinfluence function的なアプローチ。データセットからサンプルを除いたデータの事後分布をとすると、サンプルを抜いたことの影響を分布の密度比 で評価できる。そしてこの密度比はデータを抜いて再学習しなくても計算可能、らしい。まだちゃんと読んでない。