機械学習のための仮説検定

統計学者は、さまざまな機械学習のモデルに関して、複雑な推論を行うべく多くの時間を費やしてきましたが、実は、これを完全に一般化できる非常に簡単で単純な方法があります。テストセットにある2つのモデルのパフォーマンスを、対応のあるt検定を使って比較するのです。

以下に詳細を記載します。ある真の分散 $ (X,Y) $ から独立同分布で導かれた $ n $ 対の $ (x,y) $ があるとしましょう。 “機械学習” は、 $ (x,y) $ の例が与えられた時、 $ x $ を使って $ y $ を推定しようとする問題です。最終的に、 $ y $ の妥当な推定と思われる関数 $ f(x) $ を生成します。典型的には損失関数 $ L(y,f(x)) $ を有していますが、この損失関数とは、推定がどれほど良好かを表すものです。推定量は、期待損失 $ L(f)=E[L(Y,f(X))] $ により比較することができます。(ここでは、期待値は新しい $ (X,Y) $ に取って代わられ、 $ f $ に適合させるために使われた点 $ (x,y) $ は固定されていると見なされます。ただし、 $ (x,y) $ データを予測する、あるいは $ n $ 個の点 $ x $ では損失だけを見て $ y $ だけを予測するなど、他にも妥当な定義はあります)。

では、 $ m $ 対の $ (x,y) $ のテストセットがあるとしましょう(モデルに適合させるために使用した $ n $ とは別)。 $ f $ と $ g $ の2つのモデルを比較したい場合、m対の $ (x,y) $ のそれぞれについて $ L(y,f(x))−L(y,g(x)) $ に目を向けます。これで $ m $ 個の独立同分布のランダム変数を得ることができ、t検定を使ってその平均がゼロに等しいかどうかをテストすることが可能です。つまり、この対応するt検定を使えば、 $ f $ と $ g $ が同等に優れた関数であるという帰無仮説及びそうではないという対立仮説を(もし片側の対立仮説を望むならそれも)検定することができます。

この簡単なセットアップでできることはたくさんあります。例えば、 $ f $ がいくつかの関数のセットを含むモデルで、 $ g $ が1つを除いてそれと同じ関数を含むモデルだった場合、それぞれの関数の “重要性” を線形回帰やロジスティック回帰で行うように検定することができます。また、異なるチューニングパラメータのモデル、2種類のモデル(ニューラルネットとランダムフォレストなど)、または先月のモデルと今月のモデルなども比較可能です。

しかし、このアプローチは万能ではありません。1つは、データの使用法に無駄があることで、結果的に非常に非効率的です。どういうことかというと、 $ f $ または $ g $ に適合させるために使われた後は、訓練データの $ n $ 個の点が捨てられ、 $ m $ 個の検定点のみが使われます。これが最尤/尤度比検定(例:線形またはロジスティック回帰)のアプローチの場合、同じ訓練データの $ n
$ 個の点をモデルの適合と推定の両方に使うことができます。基本的に、これらのパラメトリックモデルでこれを行うのは、一般的な機械学習モデルでは不可能な、追加機能を追加する際の「自由度」を容易に把握できるからです。

この非効率性を改善しようとすれば、単一の訓練/検定分割の代わりにK-分割交差検証を使うことになりますが、これだとうまくはいきません。まず、これを使うには、期待される損失の定義を変更する必要があります。先ほどは、 $ n $ 個の点 $ (x,y) $ を固定値と見なしていましたが、交差検証のセットアップでは各点がそのフォールドにおいてランダムであると考えられるため、これが不可能になります。ただし、それ自体には大きな問題はありません。検定している仮説を、特定のモデルがデータの無作為な
80%(例えば、 $ 1−1/k $ )においてどの程度適合するかという仮説に変えるだけです。

一番の問題は、このセットアップを変更して全ての点 $ (x,y) $ をランダムにすると、たとえ同じフォールドであっても、ホールドアウト点の損失差が独立同分布でなくなることにあります。これは、損失差が( $ f $ と $ g $ の)訓練フォールド内の全てのランダムな $ (x,y) $ 、そしてホールドアウトのフォールド内の $ (x,y) $ に依存するようになることが原因です。例えば、ホールドアウトのフォールドにある第1の点の損失差が、 $ g $ に比べて異常に $ f $ 寄りだった場合、訓練フォールド内の
$ (x,y) $ は、 $ g $ に比べて $ f $ を異常にいいモデルにした可能性があり、フォールドの残りの部分における損失差も、異常にf寄りになる可能性があります(訓練/検定分割のアプローチでは、訓練の点は固定と考えており、損失期待値で効果的に $ f $ と $ g $ を調整することで、この問題を回避します)。そのため、点の独立性はもはや保持されず、結果的に同じt検定の方法が使えなくなります。

これの対策として考えられるのは、K-分割交差検証ではなくLOOCV(一個抜き交差検証)を使うことです。LOOCVでは、異なる点の損失差は全て交換できるため、交換可能性の適切な中心極限定理を見つけて検討モデルを正しい条件下に置けば、機械学習モデルのための強力で一般的な仮説検定アプローチを手にできるでしょう。