タグ付けされた質問 「cross-validation」

保留されたデータのサブセットでのモデルのパフォーマンスを定量化するために、モデルのフィッティング中にデータのサブセットを繰り返し保留する。

3
階層化された相互検証の理解
成層交差検定と交差検定の違いは何ですか? ウィキペディアによると: 層状K倍クロスバリデーション、折り目は、平均応答値は、全ての折り目にほぼ等しくなるように選択されます。二分法の分類の場合、これは、各フォールドが2種類のクラスラベルのほぼ同じ割合を含むことを意味します。 しかし、私はまだ混乱しています。 何をしないmean response value、この文脈で意味ですか? なぜ#1が重要なのですか? 実際にどのように#1を達成しますか?

10
ホールドアウト検証とクロス検証
私には、ホールドアウト検証は役に立たないようです。つまり、元のデータセットを2つの部分に分割し(トレーニングとテスト)、テストスコアを一般化の尺度として使用することは、役に立たないでしょう。 K分割交差検証は、一般化のより良い近似を提供するようです(すべての点でトレーニングとテストを行うため)。それでは、なぜ標準のホールドアウト検証を使用するのでしょうか?それともそれについて話す?

5
統計的学習におけるiid仮定の重要性について
統計的学習では、暗黙的または明示的に、トレーニングセットD = { X、y }は、同じ結合分布P(X、X、)から独立して描画されるN個の入力/応答タプル(X i、y i)で構成されると常に仮定しますy )とD={X,y}D={X,y}\mathcal{D} = \{ \bf {X}, \bf{y} \}NNN(Xi,yi)(Xi,yi)({\bf{X}}_i,y_i) P(X,y)P(X,y)\mathbb{P}({\bf{X}},y) p(X,y)=p(y|X)p(X)p(X,y)=p(y|X)p(X) p({\bf{X}},y) = p( y \vert {\bf{X}}) p({\bf{X}}) およびp(y|X)p(y|X)p( y \vert {\bf{X}})特定の学習アルゴリズムを介して取得しようとしている関係。数学的には、このiidの仮定は次のように記述します。 (Xi,yi)∼P(X,y),∀i=1,...,N(Xi,yi) independent of (Xj,yj),∀i≠j∈{1,...,N}(Xi,yi)∼P(X,y),∀i=1,...,N(Xi,yi) independent of (Xj,yj),∀i≠j∈{1,...,N}\begin{gather} ({\bf{X}}_i,y_i) \sim \mathbb{P}({\bf{X}},y), \forall i=1,...,N \\ ({\bf{X}}_i,y_i) \text{ independent of } ({\bf{X}}_j,y_j), \forall i \ne j …

6
リッジ回帰は高次元()では役に立たないでしょうか?OLSはどのようにオーバーフィットに失敗しますか?
予測子とサンプルサイズ古き良き回帰問題を考えます。通常の知恵は、OLS推定器がオーバーフィットし、一般的にリッジ回帰推定器よりも優れていることです:クロス検証を使用して最適な正則化パラメーターを見つけるのが標準です。ここでは、10倍のCVを使用します。清澄化更新:とき、Iは"最小ノルムOLSの推定"を理解することによって与えられる"OLS推定量"によってpppβ = (X ⊤ X + λ I )- 1 X ⊤ Y 。λ N &lt; P β OLS = (X ⊤ X )+ X ⊤ Y = X + Y 。nnnβ^=(X⊤X+λI)−1X⊤y.β^=(X⊤X+λI)−1X⊤y.\hat\beta = (X^\top X + \lambda I)^{-1}X^\top y.λλ\lambdan&lt;pn&lt;pn1000yyyp=50&lt;np=50&lt;np=50npppp=1000p=1000p=1000λ→0λ→0\lambda\to 0は、最適なリッジ回帰と同等の性能を発揮します。λλ\lambda それはどのように可能であり、私のデータセットについて何と言っていますか?明白な何かを見逃していますか、それとも本当に直観に反していますか?両方がよりも大きいとすると、と間に質的な違いはありますか?p = 1000 np=100p=100p=100p=1000p=1000p=1000nnn 最小ノルムOLSソリューションはどのような条件下でオーバーフィットしませんか?n&lt;pn&lt;pn<p 更新:コメントに不信感があったため、を使用した再現可能な例を次に示しglmnetます。私はPythonを使用しますが、Rユーザーはコードを簡単に変更できます。 %matplotlib notebook import numpy …

1
予測が目標である場合、標準化/正規化をトレーニングおよびテストセットに適用する方法は?
すべてのデータまたはフォールド(CVが適用されている場合)を同時に変換しますか?例えば (allData - mean(allData)) / sd(allData) trainsetとtestsetを別々に変換しますか?例えば (trainData - mean(trainData)) / sd(trainData) (testData - mean(testData)) / sd(testData) または、トレインセットを変換し、テストセットで計算を使用しますか?例えば (trainData - mean(trainData)) / sd(trainData) (testData - mean(trainData)) / sd(trainData) 3は正しい方法だと思います。3が正しい場合、平均が0でないこと、または範囲が[0;の間にないことを心配する必要があります。1]または[-1; 1]テストセットの(正規化)?

2
倍の交差検証での最適な折り畳み数:leave-one-out CVは常に最良の選択ですか?
計算能力に関する考慮事項は別として、交差検証での折り畳みの数を増やすと、モデルの選択/検証が向上する(つまり、折り畳みの数が多いほど良い)と考えられる理由はありますか? 極端に議論すると、leave-one-out交差検定は必然的に倍交差検定よりも優れたモデルになりますか?KKK この質問の背景:私は非常に少数のインスタンス(たとえば、10個の陽性と10個の陰性)で問題に取り組んでおり、私のモデルが一般化できないか、非常に少ないデータで過剰適合することを恐れています。

4
交差検証手法の概要
クロスバリデーション技術の大要を知っている人がいるかどうか、そしてそれらの違いの議論と、それらのそれぞれをいつ使用するかのガイドについて疑問に思っています。ウィキペディアには最も一般的な手法のリストがありますが、他の手法があり、それらに分類法があるかどうかは知りません。 たとえば、次の戦略のいずれかを選択できるライブラリに遭遇しました。 差し出す ブートストラップ K交差検定 除外します 階層化クロス検証 バランスのとれた層別相互検証 層別ホールドアウト 階層化されたブートストラップ そして、ブートストラップ、ホールドアウト、またはCVにおける層別化とバランスの意味を理解しようとしています。 人々が望むなら、この投稿をコミュニティwikiに変えて、ここでテクニックや分類の議論を集めることもできます。

3
交差検証を使用する場合の1つの標準エラールールの経験的正当化
par約を支持する1つの標準エラールールの使用を正当化する実証研究はありますか?明らかに、データのデータ生成プロセスに依存しますが、データセットの大規模なコーパスを分析するものは非常に興味深い読み物です。 「1つの標準エラールール」は、相互検証(またはより一般的にはランダム化ベースの手順)を通じてモデルを選択するときに適用されます。 場合、がよりも「より複雑」であるように、複雑さパラメーターによってインデックス付けされたモデルを考慮すると仮定します。さらに、クロス検証などのランダム化プロセスによってモデル品質を評価するとします。してみましょうの「平均」の品質表す例えば、多くのクロスバリデーションの実行間の平均のアウトバッグ予測誤差を。この量を最小限に抑えたい。MτMτM_\tauτ∈Rτ∈R\tau\in\mathbb{R}MτMτM_\tauMτ′Mτ′M_{\tau'}τ&gt;τ′τ&gt;τ′\tau>\tau'MMMq(M)q(M)q(M)MMM ただし、品質尺度はランダム化手順に基づいているため、ばらつきがあります。ましょ品質の標準誤差を表すランダム実行横切って、例えば、のアウトオブバッグ予測誤差の標準偏差クロスバリデーション実行オーバー。s(M)s(M)s(M)MMMMMM 次に、モデルを選択します。ここで、は次のような最小のです。MτMτM_\tauττ\tauττ\tau q(Mτ)≤q(Mτ′)+s(Mτ′),q(Mτ)≤q(Mτ′)+s(Mτ′),q(M_\tau)\leq q(M_{\tau'})+s(M_{\tau'}), ここで、は(平均して)最良のモデルインデックスを付けます。τ′τ′\tau'q(Mτ′)=minτq(Mτ)q(Mτ′)=minτq(Mτ)q(M_{\tau'})=\min_\tau q(M_\tau) つまり、ランダム化手順の中で、最良のモデルM _ {\ tau '}よりも1つの標準誤差だけ悪い、最も単純なモデル(最小の ττ\tau)を選択します。Mτ′Mτ′M_{\tau'} この「1つの標準エラールール」が次の場所で参照されていることを発見しましたが、明示的に正当化することはありません。 Breiman、Friedman、Stone&Olshenによる分類および回帰木の 80ページ(1984年) Tibshirani、Walther&Hastieによるギャップ統計によるデータセット内のクラスター数の推定のページ415 (JRSS B、2001)(Breiman et al。を参照) Hastie、Tibshirani、Friedmanによる統計学習の要素のページ61および244 (2009) Hastie、Tibshirani、Wainwrightによる統計的学習のスパース性のページ13 (2015)

3
分割交差検証推定値のとしての分散:「安定性」の役割は何ですか?
TL、DR:それは、反対しばしば反復するアドバイス、リーブワンアウトクロスバリデーション(LOO-CV)が表示さ-であり、でCVを倍(折り目の数)に等しい(数トレーニング観測値)-モデル/アルゴリズム、データセット、またはその両方の特定の安定性条件を仮定して、最大変数ではなく、最小変数である一般化誤差の推定値を生成します(どちらがわからない私はこの安定条件を本当に理解していないので正しいです)。K N KKKKKKKNNNKKK 誰かがこの安定条件が何であるかを正確に説明できますか? 線形回帰はそのような「安定した」アルゴリズムの1つであり、その文脈では、LOO-CVが一般化誤差の推定値のバイアスと分散に関する限り、厳密にCVの最良の選択であることを意味しますか? 従来の知恵は、選択することであるにおける倍CVはバイアス分散トレードオフを、以下のような低い値高い値つつ、より悲観的なバイアスを有する汎化誤差の推定につながるが、より低い分散、(2に近づきます)(接近)以下バイアスされたが、より大きな分散を有するされる推定値をもたらします。とともに増加するこの分散現象の従来の説明は、おそらく「統計的学習の要素(セクション7.10.1)」で最も顕著に示されています。K K K N KKKKKKKKKKKKKNNNKKK K = Nの場合、クロス検証推定器は真の(予想される)予測誤差に対してほぼバイアスをかけられませんが、N個の「トレーニングセット」は互いに非常に類似しているため、分散が大きくなります。 意味は、検証エラーはより高度に相関しているため、それらの合計はより可変的です。推論のこのラインは(例えば、このサイトで多くの回答で繰り返されているここで、ここでは、ここでは、ここでは、ここでは、ここでは、とここではその代わり、)などなど、様々なブログにし、しかし、詳細な分析が事実上与えれることはありません分析がどのように見えるかについての直感または簡単なスケッチのみ。NNN ただし、通常、私が実際に理解していない特定の「安定性」条件を引用して、矛盾するステートメントを見つけることができます。たとえば、この矛盾する答えは、「低不安定性のモデル/モデリング手順では、LOOの変動性が最小であることが多い」という2015年の論文のいくつかの段落を引用しています(強調を追加)。このペーパー(セクション5.2)は、モデル/アルゴリズムが「安定」である限り、LOOが最小変数選択を表すことに同意するようです。この問題に対する別のスタンスをとると、この論文(結果2)もあります。これは、「倍交差検証の分散[...]は依存しないk kKKKkkkkkk、」再び特定の「安定性」条件を引用しています。 LOOが最も可変的な折り畳みCVである理由についての説明は十分に直感的ですが、反直感があります。平均二乗誤差(MSE)の最終的なCV推定値は、各フォールドのMSE推定値の平均です。したがって、がまで増加すると、CV推定値は増加するランダム変数の平均になります。そして、平均の分散は変数の数が平均化されるにつれて減少することを知っています。そのため、LOOが最も可変のフォールドCVになるためには、MSE推定値間の相関の増加による分散の増加が、平均化されるフォールドの数が多いことによる分散の減少を上回ることを確認する必要があります。K N KKKKKKKNNNKKK。そして、これが真実であることはまったく明らかではありません。 これらすべてについて完全に混乱して考えるようになったので、線形回帰の場合について少しシミュレーションを実行することにしました。 = 50および3つの無相関予測子を使用して10,000個のデータセットをシミュレートし、そのたびに = 2、5、10 、または50 =フォールドCVを使用して一般化誤差を推定しました。Rコードはこちらです。10,000個のすべてのデータセット(MSE単位)でのCV推定の結果の平均と分散は次のとおりです。K K NNNNKKKKKKNNN k = 2 k = 5 k = 10 k = n = 50 mean 1.187 1.108 1.094 1.087 variance 0.094 0.058 …

7
因果関係の推論に相互検証を使用できますか?
すべてのコンテキストで、クロスバリデーションに精通しているのは、予測精度を高めるという目的でのみ使用されます。相互検証のロジックを拡張して、変数間の公平な関係を推定できますか? 一方で、このリチャード・バークの論文は「最終」回帰モデルにおけるパラメータ選択のためのサンプルアウトホールドの使用を示し(かつ段階的パラメータの選択は良いアイデアではない理由を示している)、私はまだどのように正確性を保証が表示されませんXがYに与える影響の偏りのない推定は、対象の論理と事前知識に基づいてモデルを選択すること以上です。 因果関係の推測を支援するためにホールドアウトサンプルを使用した例、または私の理解に役立つ一般的なエッセイを引用してください。また、クロスバリデーションの概念が素朴であることを疑うことはありません。控えめなサンプルの使用は因果推論の影響を受けやすいと思われますが、これを行う作業またはそれらがどのように行うかについては知りません。 バーク紙の引用: モデル選択後の統計的推論 :Richard Berk、Lawrence Brown、Linda Zhao Journal of Quantitative Criminology、Vol。26、No。2(2010年6月1日)、pp。217-236。 PDF版はこちら chlによる小規模サンプル研究の探索的データ分析に関するこの質問は、この質問を促しました。

5
時系列分析の相互検証
R のキャレットパッケージを使用して、分類と回帰の予測モデルを構築しています。Caretは、クロス検証またはブートストラッピングによってモデルハイパーパラメーターを調整するための統一されたインターフェイスを提供します。たとえば、分類のために単純な「最近傍」モデルを構築している場合、いくつの近傍を使用する必要がありますか?2?10?100?Caretは、データを再サンプリングし、さまざまなパラメーターを試し、結果を集計して、どれが最良の予測精度をもたらすかを決定することにより、この質問に答えるのに役立ちます。 モデルハイパーパラメーターを選択するための堅牢な方法論を提供し、最終ハイパーパラメーターを選択すると、分類モデルの精度を使用して、モデルがどれだけ「良い」かを相互検証した推定値を提供するため、このアプローチが好きですおよび回帰モデルのRMSE。 おそらくランダムフォレストを使用して、回帰モデルを構築したい時系列データがいくつかあります。データの性質を考慮して、モデルの予測精度を評価するための優れた手法は何ですか?ランダムフォレストが実際に時系列データに適用されない場合、時系列分析用の正確なアンサンブルモデルを構築する最良の方法は何ですか?

1
ネストされた相互検証が本当に必要なのはいつで、実際に違いが出るのでしょうか
クロス検証を使用してモデルの選択(ハイパーパラメーター調整など)を行い、最適なモデルのパフォーマンスを評価する場合、ネストされたクロス検証を使用する必要があります。外側のループはモデルのパフォーマンスを評価することであり、内側のループは最適なモデルを選択することです。モデルは各外部トレーニングセットで選択され(内部CVループを使用)、そのパフォーマンスは対応する外部テストセットで測定されます。 これは多くのスレッドで議論され、説明されています(たとえば、ここでクロス検証後の完全なデータセットを使用したトレーニング?など、@ DikranMarsupialによる回答を参照)。モデル選択とパフォーマンス推定の両方に対して単純な(ネストされていない)交差検証のみを行うと、正にバイアスされたパフォーマンス推定が得られます。@DikranMarsupialには、まさにこのトピックに関する2010年の論文(モデル選択の過剰適合とパフォーマンス評価における後続の選択バイアス)があり、セクション4.3と呼ばれています。-そして、紙は答えがはいであることを示しています。 そうは言っても、私は現在、多変量多重リッジ回帰に取り組んでおり、単純なCVとネストされたCVの間に違いは見られません。私の質問は次のとおりです。単純なCVはどのような条件下で、ネストされたCVで回避される顕著なバイアスを生み出すのでしょうか。ネストされたCVは実際にはいつ重要であり、それほど重要ではありませんか?経験則はありますか? 以下は、実際のデータセットを使用した図です。横軸は、リッジ回帰のです。縦軸は交差検定エラーです。青い線は、単純な(ネストされていない)交差検証に対応しており、50のランダムな90:10トレーニング/テストの分割があります。赤い線は、50のランダムな90:10トレーニング/テストスプリットのネストされたクロス検証に対応します。は、内部クロス検証ループ(50のランダム90:10スプリット)で選択されます。線は50以上のランダムな分割を意味し、網掛けは標準偏差を示します。ログ(λ )log⁡(λ)\log(\lambda)λλ\lambda± 1±1\pm1 赤い線は平坦です。内側のループでが選択されており、外側のループのパフォーマンスがの全範囲にわたって測定されていないためです。単純な相互検証にバイアスがかかっている場合、青い曲線の最小値は赤い線より下になります。しかし、そうではありません。λλ\lambdaλλ\lambda 更新 実際はそうです:-)それは、違いが小さいということです。ズームインは次のとおりです。 ここで誤解を招く可能性のあることの1つは、エラーバー(網掛け)が巨大であるが、ネストされたCVと同じCVが同じトレーニング/テスト分割で実行できることです。コメントの@Dikranが示唆するように、それらの比較はペアになっています。ネストされたCVエラーと単純なCVエラーの違いを見てみましょう(私の青い曲線の最小値に対応するについて)。繰り返しますが、各フォールドで、これら2つのエラーは同じテストセットで計算されます。トレーニング/テストの分割でこの差をプロットすると、次の結果が得られます。λ = 0.002λ=0.002\lambda=0.002505050 ゼロは、内側のCVループもを生成する分割に対応します(ほぼ半分の時間で発生します)。平均して、差は正になる傾向があります。つまり、ネストされたCVのエラーはわずかに高くなります。言い換えれば、単純なCVは非常に小さいが楽観的なバイアスを示しています。λ = 0.002λ=0.002\lambda=0.002 (手順全体を数回実行しましたが、毎回発生します。) 私の質問は、どのような条件下でこのバイアスが非常に小さいと期待できるのか、どのような条件下ではいけないのかということです。

2
相互検証のどの方法が最適であるかをどのように知ることができますか?
私は自分の状況に最適な相互検証方法を見つけようとしています。 次のデータは、問題を処理するための単なる例です(Rで)が、実際のXデータ(xmat)は相互に関連付けられ、y変数(ymat)でさまざまな程度に関連付けられています。Rコードを提供しましたが、私の質問はRについてではなく、メソッドについてです。XmatX変数V1〜V100がymat含まれ、単一のy変数が含まれます。 set.seed(1233) xmat &lt;- matrix(sample(-1:1, 20000, replace = TRUE), ncol = 100) colnames(xmat) &lt;- paste("V", 1:100, sep ="") rownames(xmat) &lt;- paste("S", 1:200, sep ="") # the real y data are correlated with xmat ymat &lt;- matrix(rnorm(200, 70,20), ncol = 1) rownames(ymat) &lt;- paste("S", 1:200, sep="") のyすべての変数に基づいて予測するためのモデルを構築したいと思いますxmat。したがって、線形回帰モデルになりy ~ V1 + …

3
PCAとトレイン/テストの分割
複数のバイナリラベルセットがあるデータセットがあります。ラベルのセットごとに、分類器をトレーニングし、相互検証によって評価します。主成分分析(PCA)を使用して次元を減らしたい。私の質問は: データセット全体に対して PCAを一度実行してから、上記のように相互検証に低次元の新しいデータセットを使用することは可能ですか?または、すべてのトレーニングセットに対して個別のPCAを実行する必要がありますか(つまり、すべての分類子およびすべての相互検証フォールドに対して個別のPCAを実行することを意味します)。 一方では、PCAはラベルを使用しません。一方、テストデータを使用して変換を行うため、結果に偏りが生じる可能性があります。 作業を節約することに加えて、データセット全体でPCAを1回実行すると、すべてのラベルセットのデータセットを一度に視覚化できることに注意してください。ラベルセットごとに異なるPCAがある場合、各ラベルセットを個別に視覚化する必要があります。

2
モデルの選択と相互検証:正しい方法
CrossValidatedには、モデルの選択と相互検証のトピックに関する多数のスレッドがあります。以下にいくつかを示します。 内部対外部の交差検証とモデル選択 DikranMarsupialの@ トップの答えに特徴選択とクロスバリデーション ただし、これらのスレッドに対する回答はかなり一般的であり、主にクロス検証とモデル選択の特定のアプローチに関する問題を強調しています。 ようなものを作るために、可能な限り具体的な、我々はRBFカーネルをSVMで作業していること、たとえば言う: 、及びそのフィーチャXとラベルyのデータセットがあり、それをしたいK(x,x′)=(γ|x−x′|)2K(x,x′)=(γ|x−x′|)2K(x, x' ) = (\gamma \, \vert x - x'\vert)^2 モデルの可能な限り最良の値を見つける(およびγγ\gammaCCC) データセットを使用してSVMをトレーニングします(最終展開用) 一般化誤差とこの誤差の周りの不確実性(分散)を推定する そうするために、私は個人的にグリッド検索を行います。例えば、とあらゆる可能な組み合わせを試し ます。簡単にするために、次の範囲を想定できます。CCCγγ\gamma C∈{10,100,1000}C∈{10,100,1000}C \in \{10, 100, 1000\} γ∈{0.1,0.2,0.5,1.0}γ∈{0.1,0.2,0.5,1.0}\gamma \in \{0.1, 0.2, 0.5, 1.0\} 具体的には、完全なデータセットを使用して、次のことを行います。 すべての(のためにCCC、γγ\gamma)のペア、私は、の繰り返し(例えば100回のランダム繰り返し)繰り返しんKKKクロスバリデーションを倍(例えばK=10K=10K=10)、私のデータセットに、すなわち私は上の私のSVM訓練K−1K−1K-1折り目をし、評価左の折り畳みにエラーがあり、すべてのKKK折り畳みを繰り返します。全体として、100 x 10 = 1000個のテストエラーを収集します。 そのような(CCC、γγ\gamma)ペアごとに、これらの1000個のテストエラー\ mu_M、\ sigma_Mの平均と分散を計算しμM,σMμM,σM\mu_M, \sigma_Mます。 次に、完全なデータセットで最終的なSVMをトレーニングするために使用する最適なモデル(最適なカーネルパラメーター)を選択します。私の理解では、最小誤差平均と分散 μMμM\mu_MおよびσMσM\sigma_Mを持つモデルを選択することが正しい選択であり、このモデルのμMμM\mu_MはσMσM\sigma_Mは、完全なデータセット。 しかし、上記のスレッドの回答を読んだ後、私はこの方法が配備および/またはそのエラー(一般化パフォーマンス)を推定するための最良のSVMを選択するためのこの方法は欠陥であり、選択するより良い方法があるという印象を受けています最高のSVMとそのエラーの報告。もしそうなら、彼らは何ですか?具体的な答えを探しています。 この問題に固執して、どのようにして具体的に最良のモデルを選択し、その一般化エラーを適切に推定できますか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.