密度比による外れ値検出問題の定式化
- 1.3の拡張
異常標本が混じっているとされるデータから異常値を探す
D' = \bigl\{x'^{(1)}, x'^{(2)}...x'^{(N')} \bigl\} \\
a(x) = -\ln r(x)
ただし
r(x) \equiv \frac {p^{(x)}} { p'^{(x)}}
異常標本の割合を$\alpha$であると仮定すると
p'^{(x)} = (1 - \alpha) p (x) + \alpha \tilde {p} (x)
$\tilde {p}(x)$は、$p$ と $p'$ の差に対応する関数
これを使うと密度比は
r(x) \equiv \frac {p^{(x)}} {(1 - \alpha) p (x) + \alpha \tilde {p} (x)} = \frac {1}{(1 - \alpha) + \alpha \tilde {\frac{p(x)}{p(x)}}}
と表現できる
また密度比は $\tilde {p} (x) / p (x) \geq 0$ である
0 \leq r(x) \leq \frac {1}{(1 - \alpha)}
を満たす。これから $x'$ の密度比は
\ln (1 - \alpha) \leq a(x') < \infty
異常より密度比がわかれば異常度もわかる
しかし、確率密度の推定には誤差がふくまれ、$p'(x)$ が小さいと誤差が増幅されてしまう
そこで $r(x)$ を直接推定する
Vapnik の原理
「ある問題を解くとき、その問題よりも難しい問題を途中段階で解いてはならない」
モデル
r_\theta (x) = \sum_{j=1}^b \theta_j \psi_j(x) = \theta^{\mathrm{T}} \psi(x)
を仮定
比の役割を $\theta$ が担っている
$r_\theta (x)p'(x)$ をできるだけ $p(x)$ に近づけたい
-> 確率分布通同士の類似度を求める カルバック・ライブラー・ダイバージェンス を用いる
カルバック・ライブラー・ダイバージェンスの数式的な議論は次章
カルバック・ライブラー・ダイバージェンス
- 2つの確率分布の差異を求める
gKL(p||r_\theta p') = \int dx p(x) \ln \frac {p(x)} {r_\theta(x)p'(x)} - 1 + \int dx r_\theta(x) p'(x) \\
= - \int dx p(x) \ln r_\theta (x) + \int dx r_\theta(x) p'(x) + C \\
= \frac{1}{N'} \sum_{n'=1}^{N'=1} r_\theta(x'_{n'}) - \frac{1}{N} \sum_{n=1}^N\ln r_\theta(x_n) + C
を下記の最適化問題とする
min J(\theta), J(\theta) = \frac{1}{N'} \sum_{n'=1}^{N'=1} r_\theta(x'_{n'}) - \frac{1}{N} \sum_{n=1}^N\ln r_\theta(x_n)
訓練データに対する異常度最小化の問題
J(\theta) = \langle r_\theta \rangle D' + \langle - \ln r_\theta \rangle D
を勾配法でとく
$\theta$を下記の式で更新していく
\theta \leftarrow \eta \nabla J(\theta)
ここで $\eta > 0$ は勾配法のステップ幅
\nabla J(\theta) = \frac{1}{N'} \sum_{n'=1}^{N'=1} \psi(x'_{n'}) - \frac{1}{N} \sum_{n=1}^N\ln \frac {\psi(x_n)}{\theta^{\mathrm{T}} \psi(x_n)}
基底関数としてRBFカーネルを用いる
\psi_n (x) = exp (- \frac {\lVert x - x^{(n)} \rVert^2}{2h^2})
ガウスカーネルモデル
r_\theta (x) = \sum_{n=1}^N \theta_n exp (- \frac {\lVert x - x^{(n)} \rVert^2}{2h^2})
交差検定でバンド幅を調整
密度比の推定量が導出される
a(x'^{(n)}) = - \ln \hat {r} (x'^{(n)})
のように求められる
アルゴリズム 11.1 参照
最小2乗密度比推定法
カルバックダイバージェンスの代わりに2乗誤差を最小化
J(\theta) = \frac {1}{2} \int dx \bigl\{ r_\theta (x) - r(x) \bigl\}^2 p'(x) \\
= \frac {1}{2} \int dx \theta^T \psi (x) \psi(x)^T \theta p'(x) - \int dx \theta^T \psi(x) p(x) + C