SVM、オーバーフィット、次元の呪い


37

私のデータセットは小さい(120サンプル)が、特徴の数は(1000-200,000)と大きく異なる。機能のサブセットを選択するために機能の選択を行っていますが、それでも過剰に機能する可能性があります。

私の最初の質問は、SVMが過剰適合をどのように処理するかということです。

第二に、分類の場合の過剰適合についてさらに研究するにつれて、少数の特徴を持つデータセットでさえ過剰適合できるという結論に達しました。クラスラベルに関連付けられたフィーチャがない場合、とにかくオーバーフィットが行われます。クラスラベルに適した機能が見つからない場合、自動分類のポイントは何なのかと思っています。文書分類の場合、これはラベルに関連する単語のシソーラスを手動で作成することを意味し、非常に時間がかかります。私が言いたいことは、適切な機能を手で選ぶことなく、一般化モデルを構築することは非常に難しいと思いますか?

また、実験結果で結果のオーバーフィッティングが低/無であることを示さない場合、意味がなくなります。それを測定する方法はありますか?

回答:


41

実際には、属性の数が観測の数よりも多い場合でも、SVMが過剰適合に抵抗する傾向があるのは、正規化を使用しているためです。過剰適合を回避するための鍵は、正則化パラメーター慎重な調整にあり、非線形SVMの場合、カーネルの慎重な選択とカーネルパラメーターの調整にあります。C

SVMは一般化誤差の境界の近似実装であり、マージン(基本的には決定境界から各クラスの最も近いパターンまでの距離)に依存しますが、特徴空間の次元には依存しません(そのためです)カーネルトリックを使用してデータを非常に高次元の空間にマッピングすることは、考えられるほど悪い考えではありません)。そのため、原則として SVMは過剰適合に対して高い耐性を備えている必要がありますが、実際には、これはとカーネルパラメーターの慎重な選択に依存します。残念ながら、ハイパーパラメーターを調整するときにオーバーフィッティングも非常に簡単に発生する可能性があります。これは私の主な研究分野です。C

GC CawleyおよびNLC Talbot、ハイパーパラメータのベイズ正則化によるモデル選択の過剰適合の防止、Journal of Machine Learning Research、第8巻、841〜861ページ、2007年4月。(www

そして

GC CawleyおよびNLC Talbot、モデル選択の過剰適合とパフォーマンス評価におけるその後の選択バイアス、Journal of Machine Learning Research、2010年。Research、vol。11、pp。2079-2107、2010年7月。(www

これらの論文はどちらもSVMではなくカーネルリッジ回帰を使用していますが、SVMでも同じ問題が簡単に発生します(KRRにも同様の境界が適用されるため、実際にそれらを選択することはあまりありません)。ある意味では、SVMは過剰適合の問題を実際に解決するのではなく、問題をモデルの適合からモデルの選択にシフトするだけです。

多くの場合、最初に何らかの機能選択を実行することで、SVMの生活を少し楽にしたいという誘惑に駆られます。SVMとは異なり、属性の数が増えると、特徴選択アルゴリズムは過剰適合を示す傾向があるため、これは一般に事態を悪化させます。どちらが有益な属性であるかを知りたくない場合は、通常、機能の選択手順をスキップして、正規化を使用してデータの過剰適合を回避することをお勧めします。

つまり、正則化パラメーターが適切に調整されていれば、120個の観測値と数千の属性を持つ問題でSVM(またはリッジ回帰、LARS、Lasso、エラスティックネットなどの他の正則化モデル)を使用することに固有の問題はありません。


情報ゲインベースのランキングなどの機能選択方法が過剰適合の可能性が高いことを示す論文はありますか
user13420

1
私が知っていることではありませんが、ポイントは、SVMが属性の数のために過剰適合に耐性があることを示唆するいくつかの理論的結果を持っているということでしたが、機能選択方法にはそれさえありません。FWIW、「回帰のサブセット選択」に関するMillerのモノグラフは、予測パフォーマンスがすべて必要な場合、正則化手法を使用することを推奨しています。機能の選択にはいくつかの未解決の課題があり、正則化は機能の選択を上回る傾向があることを示唆しています(nipsfsc.ecs.soton.ac.ukおよびcausality.inf.ethz.ch/challenge.phpを参照)。
ディクラン有袋類

最初の段落で述べたように、SVMは過剰適合に抵抗する傾向があり、正規化(パラメーターC)を使用するため、デフォルトでsvmこの正規化パラメーターはCですか?そして、このCによってどの変数が制御されているのかわかりません。それらのスラック変数を意味しますか?
アボカド

10

2番目と最後の質問から始めます。

機械学習の結果を一般化できない場合、それらは完全に役に立たないため、一般化の問題は明らかに重要です。

汎化を保証する方法は、統計に由来します。通常、データは実際に発生する確率分布から生成されると想定しています。たとえば、2000年生まれの男性の場合、10歳になると体重、身長、目の色が何であるかの確率分布があります。これは、2000年に利用可能な遺伝子プール、考えられる環境要因などに起因します。多くのデータがあります。たとえば、高い確率でガウス分布または多項分布であるなど、基礎となる分布について何か言うことができます。分布の正確な画像があり、2010年に10歳の子供の身長、体重、目の色が与えられた場合、子供が男性である確率の良い近似値を得ることができます。そして、確率が0または1に近い場合、子供のセックスが実際に何であるかについて良いショットを得ることができます。

より正式には、通常、トレーニングエラーが場合、高い確率()で、同じ分布から生成された一部のデータのエラーはより小さいと言います。トレーニングセットのサイズ、イプシロンとテストエラーがを超える確率の間には既知の関係があります。ここで紹介したアプローチは、「ほぼ正しい学習」と呼ばれ、学習アルゴリズムの一般化の問題を扱う計算学習理論の重要な部分です。また、イプシロンを低下させ、それらの境界のデルタを増加させることができる他の多くの要因があります。仮説空間の複雑さ。kδk+ϵk+ϵ

SVMに戻ります。カーネルを使用しない場合、または有限次元空間にマッピングするカーネルを使用する場合、仮説空間の複雑さの尺度であるいわゆるVapnik-Chervonenkis次元は有限であり、十分なトレーニング例を使用すればそれを得ることができます確率は、テストセットのエラーがトレーニングセットのエラーよりも大きくないことです。無限次元の特徴空間にマップするカーネルを使用すると、Vapnik-Chervonenkis次元も無限になり、さらに悪いことに、トレーニングサンプルだけでは、それらの数に関係なく、良好な一般化を保証できません。幸いなことに、SVMのマージンのサイズは、一般化を保証するための適切なパラメーターであることがわかりました。大きなマージンとトレーニングセットを使用すると、テストエラーがトレーニングエラーよりも大きくならないことを保証できます。


7

考慮したい過剰適合の少なくとも2つの主要な原因があります。

  1. 利用可能なトレーニングサンプルから推測しすぎたアルゴリズムからの過剰適合。これは、モデルの一般化能力の尺度を使用することにより、経験的に最もよく保護されます。クロス検証は、そのような一般的な方法の1つです。

  2. 基礎となる分布がアンダーサンプリングされているため、過剰適合。通常、これ以上のデータを収集したり、モデルに関する問題に関するドメインの知識を追加したりできない限り、これについてできることはほとんどありません。

120個のサンプルと多数の機能を使用すると、2のファウルになる可能性が非常に高く、1になりやすい可能性があります。

テストおよびトレーニングエラーに対するモデルの複雑さの影響を注意深く観察することで、約1のことができます。


しかし、過剰適合であるかどうかをどのように検出しますか?モデルが交差検定で非常に優れている場合、実際に優れているのか、1または2による過剰適合のために行われているのでしょうか?また、数千の機能がある場合、各機能を手作業で分析するのは面倒です。過剰適合を特定できない場合、どのようにして相互検証の結果を信頼できますか?
user13420

1
追加のデータがないと、サンプリングされていない母集団に対して過剰適合しているかどうかを知ることは非常に困難です。検証セットを使用してモデルを調整し、次に別のテストセットを使用してテストすることにより、データを3つのセットに分割できます。別のアプローチは、モデルの複雑さを修正し、トレーニングおよびテストセットの精度がどのように変化するかを確認することです。テストセットエラーの上昇は、データからのある程度のモデルの過剰適合を示します。
image_doctor

繰り返し50/50ホールドアウトトライアルを適用すると、トレーニングセットとテストセットのバランスが取れているかどうかをある程度感じることができます。彼らはおそらくそうではないでしょう。KNNなどの一部のモデルは、トレーニングセットで完全な精度を達成するため、本質的に何らかの意味でオーバーフィットします。ただし、テストセットで許容可能なパフォーマンスを達成する可能性があります。したがって、機械学習の多くと同様に、最終的にはすべてがデータの正確な詳細に依存します。
image_doctor

@image_doctor「モデルの複雑さの変更」について詳しく説明してください。
キースヒュージット
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.