交差検定は過剰適合の問題をどのように克服しますか?


34

交差検証手順がモデルの過剰適合の問題を克服するのはなぜですか?


4
Alain Celisseの作品をご覧ください。私は(少なすぎるああを)読ん限り彼の作品は、クロスバリデーションのメリットについてです。
mpiktas

@mpiktas実際、彼の論文の1つはすでにCVJCに提案されています(mendeley.com/groups/999241/crossvalidated-journal-club/papers)
chl

回答:


23

私は他の誰かにそれを残しておきますので、私は、ただ、現時点では十分に明確な説明を考えることはできません。しかし、相互検証が完全にモデル選択にオーバーフィッティングの問題を克服していない、それはちょうどそれを軽減します。交差検定誤差は、データセットのサイズが小さい場合は特に、無視できる程度の分散を持っていません。つまり、使用するデータの特定のサンプルに応じて、わずかに異なる値を取得します。これは、モデル選択に多くの自由度がある場合(たとえば、小さなサブセットを選択する多くの機能、調整する多くのハイパーパラメーター、選択する多くのモデル)、交差検証基準をオーバーフィットできることを意味します。モデルは、むしろ本当にパフォーマンスを向上させるかの方法に比べて、このランダムな変動を利用する方法でチューニングされているように、そして、パフォーマンスの低いモデルになる可能性があります。この議論については、Cawley and Talbot「パフォーマンス評価におけるモデル選択とその後の選択バイアスの過剰適合について」、JMLR、vol。11頁。2079年から2107年、2010年

悲しいことに、クロス検証は、小さなデータセットがあるときに失望させる可能性が最も高く、これはまさにクロス検証が最も必要な場合です。k分割交差検証は、分散が小さいため、一般的には1分割交差検証よりも信頼性が高いですが、一部のモデルでは計算にコストがかかる場合があることに注意してください(LOOCVがモデルの選択に使用される場合があるため、それは)高い分散を有していても。


1
一つは持っていた私は、クロス検証は、単にデータの異なる(暗黙の)モデルを適用していることであると思いました。これは、CVの「いとこ」であるノンパラメトリックブートストラップ(濃度パラメーターが0のディリクレプロセスモデルに基づく)で確実に示すことができます。
probabilityislogic

面白いアイデア。私の見解では、(興味のあるモデルについては)パラメータとハイパーパラメータへの分離は論理的ではなく計算的です。ハイパーパラメーターは依然としてデータに適合させる必要があるパラメーターであり、クロス検証を使用して間接的にこれを実行しても実際には変更されません。最後の5月の論文では、トレーニング基準を使用してカーネルモデルの通常ハイパーパラメーターであるものを調整し、モデル選択基準(LOOCV)の過剰適合を避けるために追加の正則化用語を追加しました。
Dikran有袋類

1
k-fold CVがleave-one-outよりも高いのはなぜですか?私の経験(と私の直感は)そう言います。k-fold CVではkテストを実行しているため、L1OではどこでもN(>> k)テストを実行しており、通常、マトリックス反転のためにトレーニング部分に時間がかかります。したがって、L1Oは高価なオプションではありませんか?
ジェフ

1
1つを省く(または近似)は、モデルをデータセット全体に適合させる副産物として、追加のコストをほとんどかけずに、幅広いモデル(線形回帰など)に対して実行できます。私は、これはより明確にする答えを編集します。
ディクランマースピアル

leave-one-outの私の理解は、それがk-fold CVであるということです。これはk-fold CVの最高ですが最も計算量の多い形式で、k =データセットサイズです。
ダニエルWinterstein

10

私の答えは厳密ではなく直感的ですが、おそらく役立つでしょう...

私が理解しているように、オーバーフィッティングは、同じデータを使用したトレーニングとテストに基づくモデル選択の結果であり、柔軟なフィッティングメカニズムがあります。データのサンプルを非常に厳密にフィッティングし、ノイズ、外れ値、およびすべてをフィッティングします。他の分散。

データをトレーニングとテストのセットに分割すると、これを行うことができなくなります。ただし、静的分割ではデータを効率的に使用していないため、分割自体が問題になる可能性があります。相互検証により、トレーニングデータとテストデータを正確に一致させないという利点を維持しながら、保有するデータを可能な限り効率的に使用します(つまり、すべてのデータが使用されます)トレーニングとテストデータとして、同じ実行ではありません)。

柔軟なフィッティングメカニズムがある場合は、モデルの選択を制約して、何らかの形で「完全」ではなく複雑なフィッティングが優先されるようにする必要があります。AIC、BIC、または適合の複雑さを直接ペナルティ化する他のペナルティ化方法を使用して、またはCVでそれを行うことができます。(または、あまり柔軟ではないフィッティング方法を使用してそれを行うことができます。これが、線形モデルが優れている理由の1つです。)

別の見方をすれば、学習は一般化に関するものであり、きつすぎるフィット感はある意味で一般化しないことです。学習内容とテスト対象を変更することで、特定の質問に対する回答のみを学習した場合よりも一般化できます。


3

ベイジアンの観点からは、クロス検証が「適切な」ベイジアン分析ではモデルを比較するのとは異なることを行うかどうかはわかりません。しかし、私はそれが100%確実ではありません。

MAMBDI

P(MA|D,I)P(MB|D,I)=P(MA|I)P(MB|I)×P(D|MA,I)P(D|MB,I)

P(D|MA,I)

P(D|MA,I)=P(D,θA|MA,I)dθA=P(θA|MA,I)P(D|MA,θA,I)dθA

Which is called the prior predictive distribution. It basically says how well the model predicted the data that was actually observed, which is exactly what cross validation does, with the "prior" being replaced by the "training" model fitted, and the "data" being replace by the "testing" data. So if model B predicted the data better than model A, its posterior probability increases relative to model A. It seems from this that Bayes theorem will actually do cross validation using all the data, rather than a subset. However, I am not fully convinced of this - seems like we get something for nothing.

Another neat feature of this method is that it has an in built "occam's razor", given by the ratio of normalisation constants of the prior distributions for each model.

However cross validation seems valuable for the dreaded old "something else" or what is sometimes called "model mispecification". I am constantly torn by whether this "something else" matters or not, for it seems like it should matter - but it leaves you paralyzed with no solution at all when it apparently matters. Just something to give you a headache, but nothing you can do about it - except for thinking of what that "something else" might be, and trying it out in your model (so that it is no longer part of "something else").

And further, cross validation is a way to actually do a Bayesian analysis when the integrals above are ridiculously hard. And cross validation "makes sense" to just about anyone - it is "mechanical" rather than "mathematical". So it is easy to understand what is going on. And it also seems to get your head to focus on the important part of models - making good predictions.


2
The model mispecification issue is the key. Bayesian methods (especially the "poor-mans" Bayes of evidence maximisation) can perform very poorly under model misspecification, whereas cross-validation seems to work pretty well almost all the time. The gain when the assumptions (priors) are "right" is generally much smaller than the penalty when they are "wrong", so cross-validation wins on average (as it makes almost no assumptions). It isn't nearly as intellectually satisfying though! ;o)
Dikran Marsupial

1
@dikran - interesting. I'm not so sure I agree with what you say though. So you say if the model is mispecified, then cross validation with that same model is better than using Bayes theorem? I would like to see an example of this.
probabilityislogic

@probabiltyislogic I don't think it is a particularly new observation, Rasmussen and Williams mention it on page 118 of their excellent Gaussian Process book (although it is essentially a reference to a similar comment in Grace Wahba's monograph on splines). Essentially the marginal likelihood is the probability of the data given the assumptions of the model, whereas the XVAL likelihood is an estimate of the probability of the data, regardless of the model assumptions, hence more reliable when the assumptions are not valid. A proper empirical study would be useful.
Dikran Marsupial

@probabilityislogic I should add that I like the Bayesian approach to model selection, but I almost always used cross-validation in practice simply because it generally gives results that are (statistically) as good as, or better than Bayesian approaches.
Dikran Marsupial

Cross validation selects models based solely on predictive performance; marginal likelihoods don't - they "account" for every dimension. In very high dimensional settings this matters - sometimes a lot. Say you've got a big predictor vector Xi and a 1 dimensional response yi. You need a model for Xi to do dimension reduction in a fully Bayesian way. So you specify a joint model as p(yi|Xi,θy)p(Xi|θX). The second term has a much bigger contribution to the likelihood, so if a model does well there and bites it on the prediction the marginal likelihood won't care.
JMS
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.