分類性能を評価するための相互検証またはブートストラップ?


24

特定のデータセットで分類器のパフォーマンスを評価し、他の分類器と比較するための最も適切なサンプリング方法は何ですか?クロスバリデーションは標準的なプラクティスのようですが、.632ブートストラップなどの方法の方が良い選択だと読みました。

フォローアップとして:パフォーマンスメトリックの選択は回答に影響しますか(精度ではなくAUCを使用する場合)?

私の最終的な目標は、特定のデータセットについて、ある機械学習法が別の機械学習法よりも優れているとある程度自信を持って言えるようにすることです。


1
ブートストラップ(置換あり)は、トレーニングデータセットで、たとえば(繰り返し)k-fold cross-validationの代わりに使用できます。参照してください:クロスバリデーションとブートストラップの違いは、予測誤差を推定するために検証とモデル選択のための理解ブートストラップを
chl

回答:


42

クロス検証とブートストラップ外メソッドが適用される通常の方法の重要な違いの1つは、ほとんどの人がクロス検証を1 だけ適用することです(つまり、各ケースを1回だけテストします)。繰り返し/反復の。その状況では、相互検証はモデルの不安定性のために、より大きな分散の影響を受けます。ただし、これは、たとえば反復/反復倍交差検証を使用することで回避できます。それが行われた場合、少なくとも私が取り組んできた分光データセットについては、両方のリサンプリングスキームの合計誤差は実際には同じであるようです。k

モデルの不安定性タイプの分散を削減する可能性はなく、大きな悲観的なバイアスを示す分類子と問題があるため、Leave-one-outクロス検証は推奨されません。

.632ブートストラップは、混入するリサンプリングエラーが楽観的に偏りすぎない限り、妥当な仕事をします。(たとえば、私が扱うデータ、多くの変量を持つ非常に幅の広い行列の場合、モデルが深刻な過剰適合を起こしやすいため、うまく機能しません)。これはまた、さまざまな複雑さのモデルを比較するために.632ブートストラップを使用することを避けることを意味します。.632+ブートストラップでは経験がありません:オーバーフィッティングが発生し、適切に検出された場合、それは元のブートストラップ外の推定値と等しくなるので、データに対して単純なoobまたは反復/反復クロス検証を使用します。

文献:

  • 25. 1995年8月、モントリオール、ケベック、カナダ、1995年、1137 - - 1145精度の推定とモデル選択人工知能議事録第14回国際合同会議、20のためのクロスバリデーションとブートストラップのKohavi、R:A研究
    (クラシック)

DoughertyとBraga-Netoには、トピックに関する多くの出版物があります

メトリックの選択:

私の最終的な目標は、特定のデータセットについて、ある機械学習法が別の機械学習法よりも優れているとある程度自信を持って言えるようにすることです。

  • ペアテストを使用してそれを評価します。割合を比較するには、マクネマーの検定をご覧ください。

  • これに対する答えは、メトリックの選択によって影響を受けます。回帰タイプのエラー測定には、しきい値を使用して意思決定をカットする「強化」ステップがないため、多くの場合、分類対応よりも分散が少なくなります。基本的にプロポーションである精度などのメトリックは、ある分類器が別の分類器より優れていることを確認するために膨大な数のテストケースを必要とします。

Fleiss:「比率と比率の統計的方法」では、比率の不対比較の例(および表)を示しています。「巨大なサンプルサイズ」で私が意味することの印象を与えるために、この他の質問に対する私の答えの画像を見てください。McNemarのようなペアテストではテストケースの必要性は低くなりますが、IIRCでは、未ペアテストに必要なサンプルサイズの半分(?)が最適なケースのままです。

  • 分類器のパフォーマンス(強化)を特徴付けるには、通常、ROC(感度と特異性)などの少なくとも2つの値の作業曲線が必要です。
    私のアプリケーションには通常、感度が特異性よりも重要である、またはこれらの測定値の特定の境界を満たす必要があるなどの制限があるため、私はめったに全体的な精度またはAUCを使用しません。「単一数」の合計特性を求める場合は、見ているモデルの動作点が実際に適切な範囲内にあることを確認してください。

  • 参照ラベルに従っていくつかのクラスのパフォーマンスを要約する精度およびその他のパフォーマンス測定値については、アプリケーションで発生するクラスの相対的な頻度を考慮するようにしてください。これは、必ずしも同じではありませんトレーニングまたはテストデータ。

  • プロボスト、F。:1998年の機械学習に関する第15回国際会議の議事録における帰納アルゴリズムを比較するための精度推定に対する事例


編集:複数の分類子の比較

私はしばらくこの問題について考えていましたが、まだ解決策に到達していませんでした(また、解決策を持っている人に会いませんでした)。

ここに私がこれまでに得たものがあります:

とりあえず、私は「最適化はすべての悪の根源」であると
判断し、代わりに非常に異なるアプローチを取ります。手元の問題に関する専門知識によって可能な限り判断します。これにより、実際にかなり物事を絞り込むことができるため、モデルの比較を頻繁に避けることができます。モデルを比較しなければならないときは、パフォーマンスの推定の不確実性を人々に思い出させ、特に複数のモデルの比較は未だに未解決の問題であることを人々に思い起こさせるように非常にオープンで明確にしようとします。


編集2:ペアテスト

n12(n2n)テストのすべては、すべてのモデルがまったく同じテストケースでテストされるため、ケースを一方で「簡単な」ケースと「難しい」ケースに分割して、すべてのモデルが正しい(または間違っている)予測。モデルを区別するのに役立ちません。一方、一部のモデルでは正しく予測されるが、他のモデルでは予測されない「興味深い」ケースがあります。優越性を判断するには、これらの「興味深い」ケースのみを考慮する必要があり、「簡単」なケースも「難しい」ケースもそれを助けません。(これが、マクネマーのテストの背後にある考え方を理解する方法です)。

モデル間の大規模な多重比較について、1つの問題は、非常に幸運でない限り、比較するモデルが多いほど、より少ないケースをさらなる考慮事項から除外できることです:すべてのモデルが本当に等しい場合でも全体的なパフォーマンス、ケースが最終的になる可能性はますます少なくなりますnn


詳細な回答ありがとうございます!「ペアテストを使用してそれを評価します。プロポーションを比較するには、McNemarのテストをご覧ください」質問を少し言い換える必要があります。複数のマシンを比較したいと思います。必ずしもペアだけでなく、一度にメソッドを学習します。ペアテストがこれをどのように達成できるかはすぐにはわかりません。
kelvin_11

3
(+6)いい反応。
chl

@cbeleitesこのコメントであなたを愛しています。多重モデル比較の重要性について-分散分析(ANOVA)メソッドについてはどうですか?このような クラスカル-ウォリス
セレンディピティ

1
@Serendipity:ここで答えを出すには、Kruskal-Wallisについて十分に知りません。しかし、ANOVAのような方法は、(1)データのペアの性質を使用せず、(2)帰無仮説が「すべてのモデル同等に実行する」-それが拒否された場合、どのアルゴリズムが異なるように実行されるかはまだわかりません。したがって、否定的な結果を強調するためにのみ使用できます(どのアルゴリズムを選択してもかまいません)。私は、ANOVAがすべてのモデルではないことを伝える大きなゾーンがあると疑っています...
cbeleitesはモニカをサポートします

...は等しいが、より良いモデルを識別するために必要な多重比較を可能にするのに十分な情報がありません。
cbeleitesはモニカをサポートします

6

ブートストラップ(.632、.632 +)を変更する必要があるのは、元の研究が不連続で不適切なスコアリングルールを使用したためです(割合は正しく分類されています)。他の精度スコアの場合、通常の楽観的なブートストラップはうまく機能する傾向があります。詳細については、http://biostat.mc.vanderbilt.edu/RmS#Studies_of_Methods_Used_in_the_Tを参照してください

不適切なスコアリングルールは、機能の選択とその重みを誤解させます。言い換えれば、うまくいかない可能性のあるものはすべてうまくいかないでしょう。


4

から 「アプライド・予測モデリング。、クン。ジョンソン。p.78

「他の方法よりも均一に優れたリサンプリング方法はありません。いくつかの要因を考慮して選択する必要があります。サンプルサイズが小さい場合、いくつかの理由で10倍交差検証を繰り返すことをお勧めします。サンプルサイズ、計算コストは​​大きくありません。パフォーマンスの最良の指標を取得するのではなく、モデル間で選択することが目標である場合、ブートストラッププロシージャは分散が非常に小さいため、強力なケースを作成できます。サンプルサイズが大きい場合、リサンプリング方法の違いはそれほど顕著ではなくなり、パフォーマンスの計算効率が向上します。」p。78

さらに、2つの同様の結果を選択した場合、一般的には、より解釈可能なモデルが優先されます。例として(同じテキストから)、10倍のCVを使用して、SVM分類器は75%の精度推定値を持ち、リサンプリング結果は66〜82%でした。74.9%の精度で同じリサンプリング範囲のロジスティック回帰分類器で同じパラメーターが使用されました。結果を解釈するのが簡単であるため、より単純なロジスティック回帰モデルが好まれます。


4
多数のブートストラップ/相互検証の反復/繰り返しを実行することで削減できる分散は、サロゲートモデルの不安定性に起因する分散の一部にすぎないことに注意してください。各実行中に各サンプルを1回だけテストするため、クロス検証によってこれが総分散への主要な寄与であるかどうかを測定できるため、有限のサンプルサイズによる分散は完全なクロス検証実行の平均の比較に現れません。「ハード」分類の場合、二項分布からの有限サンプルサイズによる分散を計算できます。
cbeleitesは、モニカをサポートします

@cbeleites:「各実行中に各サンプルを正確に1回テストするため、完全な相互検証実行の平均の比較に有限のサンプルサイズによる分散が現れない」という意味を少し説明してください。(参照も結構です!)(明らかに+1)
usεr11852は回復モニック言う

@usεr11852:各ケースは、相互検証の実行ごとに1回だけテストされます。n_sample xr CV実行結果のテーブルを想像してください。我々が持っている場合は、安定した予測を、同じケースのためのすべてのRの予測は同じです。すなわち、行に沿って分散はありません。ただし、ケースごとに異なる予測が得られる場合があります(たとえば、100%の精度がない場合)。列に沿って分散があります。ここで、反復/反復相互評価の標準的な評価は、列の平均を比較することです。安定したモデルの場合、これらは私たちがいても、全く同じで行う場合の間すなわち、列に沿って分散を有します。
cbeleitesは

(モデル/予測が不安定な場合、異なるサロゲートモデルによって異なる予測が得られ、行に沿った分散も確認できます。さらに、k分割CVの各列がk個の異なるサロゲートモデルに対応するため、列に沿った追加分散があります。 )したがって、モデル/予測の(不安定な)安定性を測定するには、行に沿った分散、つまり同じケースの異なるサロゲートモデルの予測の分散を直接調べる方がさらに直接的な場合があります。
cbeleitesサポートモニカ

1
@cbeleites:説明をありがとうございました。あなたがより多くのことを述べている点に感謝することができます。
usεr11852は回復モニック言う
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.