
拓海先生、最近部下から「REAPERって論文が良いらしい」と聞いたのですが、正直何のことやらでして。要は古いデータの外れ値を取り除けばいい、という話ですか?

素晴らしい着眼点ですね!大丈夫です、田中さん。REAPERという手法は外れ値(outliers)に強い線形モデルの当てはめを、計算しやすい形に変えて解く方法なんですよ。

外れ値に強い、と言われても現場だと「どの程度の外れ値まで許容できるのか」「計算に時間がかかるのでは」とか心配が尽きません。要するに現場で使えるんですか?

大丈夫、一緒に整理しましょう。まず要点を三つに分けます。第一にREAPERは難しい非線形の条件をやさしくして、凸最適化(convex optimization、凸性を持つ最適化問題)で解けるようにした点。第二に計算アルゴリズムが実用的である点。第三に理論的な裏付けが示されている点です。

なるほど。計算が実用的というのは、今のうちに現場PCで回せるということですか?それともクラウド前提ですか?

実務目線で言えば、中規模のデータなら社内サーバや高性能PCで十分回る設計です。大規模データは分散処理やクラウドと組合せれば扱えます。重要なのは一度定式化しておけば、凸最適化の既存ライブラリが使える点ですよ。

これって要するに、外れ値に弱い普通の主成分分析(Principal Component Analysis、PCA、主成分分析)をいきなり使うより安全な方法で、しかも計算可能にしたということ?

その理解でほぼ合っています。要するにPCA(Principal Component Analysis、PCA、主成分分析)は外れ値に弱いので、データが汚れているとモデルが狂う。REAPERは直交射影行列(orthogonal projector、直交射影行列)を扱う難しい条件を凸な領域に拡張して、外れ値の影響を抑えながら最適化できるようにしたのです。

理論的な裏付けがあるなら安心できますね。ただ、導入の判断は結局コストと効果の天秤です。どの程度の外れ値比率まで有効なのか、また実装コストはどう見れば良いですか?

要点は三点です。第一に理論は「インライア(inliers、モデルに従うデータ)が十分に存在して、外れ値がランダムでない限り」モデルを回復できるという保証を示しています。第二に数値実験で、顔画像など自然データに対しても良い性能を示しています。第三に実装面では、凸最適化の知識があるエンジニアがいれば組み込めますし、ライブラリ利用で工数は抑えられます。

分かりました。まずは小さなパイロットから始めて、外れ値の比率に対する感度を見てみるのが良さそうですね。では、最後に私の言葉でまとめます。REAPERは外れ値に強く、凸緩和で計算可能にした手法で、既存ツールで実装できるということですね。


