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

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

4
Leave-one-out相互検証に関するShaoの結果はいつ適用されますか?
Jun Shaoは、彼の論文「Cross-Validationによる線形モデル選択」で、多変量​​線形回帰の変数選択の問題について、leave-one-out相互検証(LOOCV)の方法が「漸近的に一貫していない」ことを示しています。平易な英語では、変数が多すぎるモデルを選択する傾向があります。シミュレーション研究で、Shaoは、わずか40回の観測であっても、LOOCVが他の交差検証手法よりも劣っていることを示しています。 この論文は多少議論の余地があり、多少無視されています(公開から10年後、私の計量化学の同僚はそれを聞いたことがなく、変数選択にLOOCVを喜んで使用していました...)。また、その結果は元の限られた範囲をいくらか超えているという信念もあります(私はこれに罪を犯しています)。 それでは、これらの結果はどこまで拡大するのでしょうか?次の問題に適用できますか? ロジスティック回帰/ GLMの変数選択? Fisher LDA分類の変数選択? 有限(または無限)カーネルスペースを持つSVMを使用した変数選択? 分類におけるモデルの比較、異なるカーネルを使用するSVMなど 線形回帰のモデルの比較、たとえばMLRとリッジ回帰の比較? 等

5
オーバーフィッティング:特効薬はありませんか?
私の理解では、適切な相互検証とモデル選択手順を踏んだとしても、モデルの複雑さ、期間に制限を課さない限り、モデルを十分に検索すると過適合が発生します。さらに、多くの場合、人々は、提供できる保護を損なうデータからモデルの複雑さに対する罰則を学ぼうとします。 私の質問は次のとおりです。上記の声明にはどれほど真実がありますか? MLの専門家は、「私の会社/研究室では、利用可能なすべてのモデル(キャレットやscikit-learnなどのライブラリから)を常に試して、どれが最適かを確認します」とよく耳にします。私はしばしば、このアプローチは交差検証に真剣であり、任意の方法でホールドアウトセットを保持している場合でも簡単にオーバーフィットできると主張します。さらに、検索が難しくなればなるほど、オーバーフィットする可能性が高くなります。言い換えれば、過剰な最適化は本当の問題であり、体系的にそれと戦うのに役立つ経験則はありません。このように考えるのは間違っていますか?

2
モデル選択後の相互検証(エラーの一般化)
注:ケースはn >> pです 統計学習の要素を読んでいますが、相互検証を行う「正しい」方法についてさまざまな言及があります(60ページ、245ページなど)。具体的には、私の質問は、モデル検索が行われたときに、k分割CVまたはブートストラップを使用して最終モデルを評価する方法です(個別のテストセットなし)。ほとんどの場合(組み込み機能選択なしのMLアルゴリズム)、 機能選択ステップ メタパラメーターの選択手順(SVMのコストパラメーターなど)。 私の質問: トレーニングセット全体で機能の選択を行い、脇に置いて、機能の選択手順を実行できることを確認しました。次に、kフォールドCVを使用して、特徴選択アルゴリズムが各フォールドで使用され(場合によっては毎回選択される異なる特徴を取得)、エラーが平均化されます。次に、すべてのデータ(確保された)を使用して選択された機能を使用して最終モードをトレーニングしますが、クロス検証からのエラーをモデルの将来のパフォーマンスの推定値として使用します。これは正しいです? クロス検証を使用してモデルパラメーターを選択する場合、モデルのパフォーマンスを後で推定する方法は?上記の#1と同じプロセスですか、54ページ(pdf)または他の何かに示されているようなネストされたCVを使用する必要がありますか? 両方のステップ(機能とパラメーターの設定)を実行しているとき.....その後、何をしますか?複雑なネストされたループ? 別のホールドアウトサンプルがある場合、懸念はなくなり、クロス検証を使用して機能とパラメーターを選択できます(パフォーマンスの見積もりはホールドアウトセットから取得されるため、心配する必要はありません)?

3
k分割交差検定を使用する場合、テストセットが必要ですか?
私はk-fold検証について読んでいますが、それがどのように機能するかを確実に理解したいと思います。 ホールドアウト方法では、データが3つのセットに分割され、テストセットは最後にのみモデルのパフォーマンスを評価するために使用され、検証セットはハイパーパラメーターの調整などに使用されることを知っています。 k-foldメソッドでは、最後のテストセットを保持し、残りのデータのみをトレーニングとハイパーパラメーターチューニングに使用します。つまり、残りのデータをk分割し、トレーニング後の平均精度を使用します。各フォールドで(またはハイパーパラメーターを調整するために選択したパフォーマンスメトリック)?または、個別のテストセットをまったく使用せず、データセット全体をk分割するだけです(これが当てはまる場合は、k折りの平均精度を最終的な精度と見なすだけです)。

1
ミクロ平均またはマクロ平均の評価尺度に基づいて決定する必要がありますか?
同じデータセットを使用して、異なるバイナリ分類アルゴリズムで10倍のクロス検証を実行し、マイクロおよびマクロの平均結果の両方を受け取りました。これはマルチラベル分類の問題であることに注意してください。 私の場合、真のネガと真のポジティブは等しく重み付けされています。つまり、真の陰性を正しく予測することは、真の陽性を正しく予測することと同様に重要です。 ミクロ平均測定値は、マクロ平均測定値よりも低くなっています。ニューラルネットワークとサポートベクターマシンの結果は次のとおりです。 また、同じデータセットに対して別のアルゴリズムを使用してパーセンテージ分割テストを実行しました。結果は次のとおりです。 パーセンテージ分割テストとマクロ平均結果を比較したいのですが、それは公平ですか?真の陽性と真の陰性が等しく重み付けされているため、マクロ平均の結果に偏りがあるとは思わないが、それでもリンゴとオレンジを比較するのと同じだろうか? 更新 コメントに基づいて、ミクロ平均とマクロ平均の計算方法を示します。 予測する144のラベル(フィーチャまたは属性と同じ)があります。精度、リコール、およびF-Measureは、ラベルごとに計算されます。 --------------------------------------------------- LABEL1 | LABEL2 | LABEL3 | LABEL4 | .. | LABEL144 --------------------------------------------------- ? | ? | ? | ? | .. | ? --------------------------------------------------- 真の陽性(tp)、真の陰性(tn)、偽陽性(fp)、および偽陰性(fn)に基づいて計算されるバイナリ評価尺度B(tp、tn、fp、fn)を検討します。特定のメジャーのマクロおよびミクロ平均は、次のように計算できます。 これらの式を使用して、次のようにミクロおよびマクロの平均を計算できます。 そのため、マイクロアベレージ測定では、すべてのtp、fp、fn(各ラベル)が追加され、その後、新しいバイナリ評価が行われます。マクロ平均メジャーは、すべてのメジャー(Precision、Recall、またはF-Measure)を追加し、ラベルの数で除算します。これは、平均に似ています。 さて、問題はどちらを使用するかです。

4
相互検証以外でのハイパーパラメーターの調整はどれほど悪いですか?
パフォーマンスを測定するために使用するデータセットは、機能を調整するために使用したものと同じであるため、相互検証の外でハイパーパラメーターチューニングを実行すると、外部の有効性のバイアスが高い推定値につながることがあります。 私が不思議に思っているのはこれがどれほど悪い問題かということです。これにより、調整するパラメーターが非常に多くなるため、機能の選択が本当に悪いことを理解できます。しかし、LASSO(正則化強度が1つだけのパラメーター)のようなもの、または機能選択なしのランダムフォレスト(いくつかのパラメーターはあるが、ノイズ機能の追加/ドロップほど劇的ではない)を使用している場合はどうでしょうか? これらのシナリオでは、トレーニングエラーの推定値がどれほどひどく楽観的であると予想できますか? ケーススタディ、論文、逸話など、これに関する情報をいただければ幸いです。ありがとう! 編集:明確にするために、トレーニングデータのモデルパフォーマンスの推定については話していません(つまり、相互検証をまったく使用していません)。「クロス検証の外側のハイパーパラメーター調整」とは、個々のモデルのパフォーマンスを推定するためだけにクロス検証を使用することを意味しますが、ハイパーパラメーター調整手順内でオーバーフィットを修正するための外側の2番目のクロス検証ループは含みませんトレーニング手順中のオーバーフィッティング)。たとえば、こちらの回答をご覧ください。

2
マルチラベル分類器でscikit-learnの相互検証関数を使用する方法
5つのクラスがあり、各インスタンスがこれらのクラスの1つ以上に属することができるデータセットでさまざまな分類子をテストしているので、特にscikit-learnのマルチラベル分類子を使用していますsklearn.multiclass.OneVsRestClassifier。次に、を使用して相互検証を実行しsklearn.cross_validation.StratifiedKFoldます。これにより、次のエラーが生成されます。 Traceback (most recent call last): File "mlfromcsv.py", line 93, in <module> main() File "mlfromcsv.py", line 77, in main test_classifier_multilabel(svm.LinearSVC(), X, Y, 'Linear Support Vector Machine') File "mlfromcsv.py", line 44, in test_classifier_multilabel scores = cross_validation.cross_val_score(clf_ml, X, Y_list, cv=cv, score_func=metrics.precision_recall_fscore_support, n_jobs=jobs) File "/usr/lib/pymodules/python2.7/sklearn/cross_validation.py", line 1046, in cross_val_score X, y = check_arrays(X, …

1
libsvm「反復の最大数に達する」警告および相互検証
次数2の多項式カーネルでC-SVCモードでlibsvmを使用しており、複数のSVMをトレーニングする必要があります。各トレーニングセットには、10個の機能と5000個のベクトルがあります。トレーニング中に、トレーニングするほとんどのSVMでこの警告が表示されます。 WARNING: reaching max number of iterations optimization finished, #iter = 10000000 誰かがこの警告が何を意味するのか、おそらく、それを回避する方法を説明してもらえますか? また、ガンマとC(正則化)の最適な選択を決定するために、モデルに相互検証を適用したいと思います。私の計画は、これらの10個の値のすべての組み合わせを試すことです:0.00001、0.0001、0.001、0.01、0.1、1、10、100、1000、10000の両方のパラメーターで、交差検証中にどの組み合わせが最高の精度をもたらすかを確認します。これで十分ですか?この間隔でより多くの値を使用する必要がありますか、それともより広い間隔を選択する必要がありますか?

2
ハイパーパラメーターを推定するためのクロス検証と経験的ベイズ
階層モデル与えられた場合、モデルに適合する2段階のプロセスが必要です。最初に、少数のハイパーパラメーターθを修正してから、残りのパラメーターBayでベイジアン推論を行います。ハイパーパラメーターを修正するために、2つのオプションを検討しています。p (x | ϕ 、θ )p(x|ϕ,θ)p(x|\phi,\theta)θθ\thetaϕϕ\phi 使用経験的ベイズ(EB)と周辺尤度の最大化(高次元のパラメータを含むモデルの残りの部分を統合します)。p (すべてのデータ| θ )p(all data|θ)p(\mbox{all data}|\theta) k- fold cross validation などの相互検証(CV)手法を使用して、尤度p (テストデータ| トレーニングデータ、θ )を最大化するθを選択します。kkkθθ\thetap (テストデータ| トレーニングデータ、θ )p(テストデータ|トレーニングデータ、θ)p(\mbox{test data}|\mbox{training data}, \theta) EBの利点は、すべてのデータを一度に使用できることです。一方、CVの場合、(可能性として)モデル尤度を複数回計算し、を検索する必要があります。EBとCVのパフォーマンスは多くの場合同等であり(*)、多くの場合、EBは推定が高速です。θθ\theta 質問:2つをリンクする理論的基盤はありますか(たとえば、EBとCVは大きなデータの制限で同じです)。または、EBを経験的リスクなどの一般化可能性の基準にリンクしていますか?誰かが良い参考資料を指すことができますか? (*)例として、ここにマーフィーの機械学習、セクション7.6.4からの図があります。そこで彼は、リッジ回帰については両方の手順が非常に類似した結果をもたらすと言います。 マーフィーはまた、CVに対する経験的ベイズの基本的な実際的な利点(「証拠手順」と呼びます)は、が多数のハイパーパラメーターで構成される場合(たとえば、自動関連性決定またはARDのように、各機能の個別のペナルティ)であると言います。そこでは、CVを使用することはまったくできません。θθ\theta


4
エッジケースの精度と再現率の正しい値は何ですか?
精度は次のように定義されます: p = true positives / (true positives + false positives) それは、それを修正しているtrue positivesとfalse positives、精度が1に近づくアプローチ0? リコールに関する同じ質問: r = true positives / (true positives + false negatives) 現在、これらの値を計算する必要がある統計テストを実装していますが、分母が0である場合があり、この場合にどの値を返すのか迷っています。 PS:不適切なタグをすみません、、およびを使用したいのですがrecall、新しいタグをまだ作成できません。precisionlimit
20 precision-recall  data-visualization  logarithm  references  r  networks  data-visualization  standard-deviation  probability  binomial  negative-binomial  r  categorical-data  aggregation  plyr  survival  python  regression  r  t-test  bayesian  logistic  data-transformation  confidence-interval  t-test  interpretation  distributions  data-visualization  pca  genetics  r  finance  maximum  probability  standard-deviation  probability  r  information-theory  references  computational-statistics  computing  references  engineering-statistics  t-test  hypothesis-testing  independence  definition  r  censoring  negative-binomial  poisson-distribution  variance  mixed-model  correlation  intraclass-correlation  aggregation  interpretation  effect-size  hypothesis-testing  goodness-of-fit  normality-assumption  small-sample  distributions  regression  normality-assumption  t-test  anova  confidence-interval  z-statistic  finance  hypothesis-testing  mean  model-selection  information-geometry  bayesian  frequentist  terminology  type-i-and-ii-errors  cross-validation  smoothing  splines  data-transformation  normality-assumption  variance-stabilizing  r  spss  stata  python  correlation  logistic  logit  link-function  regression  predictor  pca  factor-analysis  r  bayesian  maximum-likelihood  mcmc  conditional-probability  statistical-significance  chi-squared  proportion  estimation  error  shrinkage  application  steins-phenomenon 

2
過適合についてのベイジアン思考
私は、従来の頻度主義統計ドメインで予測モデルを検証するための方法とソフトウェアの開発に多くの時間を費やしました。より多くのベイジアンのアイデアを実践と教育に取り入れる際に、受け入れるべき重要な違いがいくつかあると思います。まず、ベイジアン予測モデリングはアナリストに、候補の特徴に合わせてカスタマイズできる事前分布についてよく考えるように頼みます。これらの事前分布は、モデルをそれらに引き寄せます)。第二に、「実際の」ベイジアンの方法では、単一のモデルにはなりませんが、予測のために事後分布全体を取得します。 これらのベイジアン機能を念頭に置いて、過剰適合とはどういう意味ですか?評価すべきでしょうか?もしそうなら、どのように?ベイズのモデルが野外での使用に信頼できるときはどのようにして知ることができますか?それとも、予測のために開発したモデルを使用すると、事後はすべての注意を与える不確実性に沿って進むので、それは重要なポイントですか? ベイジアンモデルを単一の数値、たとえば事後平均/最頻値/中央値リスクに蒸留するように強制した場合、考え方はどのように変わりますか? ここに関連する考え方があります。パラレル議論を見つけることができるここに。 フォローアップの質問::完全にベイジアンであり、データを見る前に事前確率について考えるのに時間を費やし、データ尤度が適切に指定されたモデルに適合した場合、過剰適合に関してモデルに満足することを強いられますか?または、ランダムに選択された対象が平均して十分に予測される可能性のある頻繁な世界で行うことを行う必要がありますが、予測が非常に低い対象または予測値が非常に高い対象を選択すると、回帰が発生しますという意味ですか?

2
glmnetのキャレットトレーニング関数は、アルファとラムダの両方を相互検証しますか?
Rのいcaretの両方の上にパッケージクロス検証をalphaしてlambdaためglmnetのモデル?このコードを実行すると、 eGrid <- expand.grid(.alpha = (1:10) * 0.1, .lambda = (1:10) * 0.1) Control <- trainControl(method = "repeatedcv",repeats = 3,verboseIter =TRUE) netFit <- train(x =train_features, y = y_train, method = "glmnet", tuneGrid = eGrid, trControl = Control) トレーニングログは次のようになります。 Fold10.Rep3: alpha=1.0, lambda=NA どういうlambda=NA意味ですか?

1
アンサンブル学習のk倍交差検証
アンサンブル学習のk倍交差検証のためにデータを分割する方法について混乱しています。 分類のためのアンサンブル学習フレームワークがあると仮定します。最初のレイヤーには、svm、決定木などの分類モデルが含まれています。 2番目のレイヤーには、最初のレイヤーからの予測を組み合わせて最終的な予測を行う投票モデルが含まれています。 5つのフォールドクロス検証を使用する場合、5つのフォールドを次のように使用することを考えています。 最初のレイヤーをトレーニングするための3つ折り 2番目のレイヤーをトレーニングするための1つ折り テスト用に1つ折り これは正しい方法ですか?第1層と第2層のトレーニングデータは独立している必要がありますか?アンサンブル学習フレームワークが堅牢になるように、それらは独立しているべきだと考えています。 私の友人は、第1層と第2層のトレーニングデータは同じであるべきだと提案しています。 1層目と2層目をトレーニングするための4つの折り目 テスト用に1つ折り このようにして、アンサンブル学習フレームワークのより正確なエラーが発生し、単一のトレーニングデータに基づいているため、フレームワークの反復的な調整がより正確になります。さらに、第2層は、独立したトレーニングデータに偏っている場合があります。 アドバイスは大歓迎です

1
分類でトレーニングデータを生成するための層別サンプリングとランダムサンプリングの利点
元のデータセットを分類用のトレーニングとテストセットに分割するときに、ランダムサンプリングではなく層別サンプリングを使用する利点があるかどうかを知りたいと思います。 また、層化サンプリングは、ランダムサンプリングよりも分類器により多くのバイアスを導入しますか? データ準備に層化サンプリングを使用したいアプリケーションは、元のデータセットのでトレーニングされたRandom Forests分類器です。分類器の前に、クラスのサイズのバランスをとる合成サンプル生成(SMOTE [1])のステップもあります。2323\frac{2}{3} [1] Chawla、Nitesh V.、他 「SMOTE:合成マイノリティオーバーサンプリングテクニック。」Journal of Artificial Intelligence Research 16(2002):321-357。

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